SQL Server空间数据类型
-
19-09-2019 - |
题
我已经使用歧管将ESRI Shapefile导出到SQL Server 2008,这给了我类型的列“形状” Geometry
. 。歧管.prj文件看起来像这样
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],
PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
所以我认为SRID是4326?但是,当我运行此查询时,我希望它能返回美国,但我没有任何行:
DECLARE @lat float
DECLARE @long float
DECLARE @g geometry
SET @lat = 40.0
SET @long = -90.0
SET @g = geometry::Point(@lat,@long,4326);
SELECT * FROM Countries WHERE Shape.STContains(@g) = 1;
我已经测试了其他有效的查询,所以我想SRID错了吗?如果应该那样,我该如何正确?
解决方案
解决问题:正确的参数顺序是 geometry::Point(long,lat,SRID)
. 。我虽然会很长,长,srid ..
不隶属于 StackOverflow