-1

我正在使用 Google 地图 API 开发 asp.net MVC4 应用程序。

我正在使用 sql 地理数据类型在地图上存储点、多边形或折线。

问题是当我使用多边形或折线绘制小区域地图时,它的工作正常并保存在数据库中。

但是当我绘制大区域时,sql server 端会出现以下错误。

有人知道为什么会这样吗?

A .NET Framework error occurred during execution of user-defined routine or aggregate "geography": 
System.FormatException: 24201: Latitude values must be between -90 and 90 degrees.
System.FormatException: 
   at Microsoft.SqlServer.Types.GeographyValidator.ValidatePoint(Double x, Double y, Nullable`1 z, Nullable`1 m)
   at Microsoft.SqlServer.Types.Validator.AddLine(Double x, Double y, Nullable`1 z, Nullable`1 m)
   at Microsoft.SqlServer.Types.ForwardingGeoDataSink.AddLine(Double x, Double y, Nullable`1 z, Nullable`1 m)
   at Microsoft.SqlServer.Types.CoordinateReversingGeoDataSink.AddLine(Double x, Double y, Nullable`1 z, Nullable`1 m)
   at Microsoft.SqlServer.Types.WellKnownTextReader.ParseLineStringText()
   at Microsoft.SqlServer.Types.WellKnownTextReader.ParsePolygonText()
   at Microsoft.SqlServer.Types.WellKnownTextReader.ParseTaggedText(OpenGisType type)
   at Microsoft.SqlServer.Types.WellKnownTextReader.Read(OpenGisType type, Int32 srid)
   at Microsoft.SqlServer.Types.SqlGeography.ParseText(OpenGisType type, SqlChars taggedText, Int32 srid)
   at Microsoft.SqlServer.Types.SqlGeography.GeographyFromText(OpenGisType type, SqlChars taggedText, Int32 srid)
4

1 回答 1

1

94.39453125 大于 90。

29.84064389983441 94.39453125

从你的多边形:

 'POLYGON((29.22889003019423 71.279296875,16.720385051694 78.75,29.84064389983441 94.39453125,29.22889003019423 71.279296875))' 
于 2013-06-11T13:07:36.247 回答