在 SQL 服务器中将几何图形转换为 Longitude/Latitude

Converting Geometry to Longitude/Latitude in SQL Server

我是空间数据处理的菜鸟,我有 2 个问题。

我通过 SHP2SQL executable 和另一个 Table 通过 [=33= 将 Shapefile 上传到 SQL 服务器中的 Table ]命令行界面。尽管数据来自同一个 shapefile,但 2 个不同的 table 中的几何数据存在差异,如下所示。 'ogr_geometry' 已通过 ogr2ogr CLI 上传。并且'geom'已经通过shp2sql应用程序上传。

如果您可能注意到开头的数据不同,并且在“41”之后字符串开始不同。哪一个是正确的?我检查了 link "prj2epsg.org/search" 的 prj 文件并得到了这个结果

3347 - NAD83_Statistics_Canada_Lambert

我的第二个问题是如何根据我在单独 table 中的一组经纬度检查几何数据?我正在使用下面提到的查询,但它没有返回任何内容。

ogr_geometry.STContains(geometry::Parse('POINT(' + CAST(g.geocode_longitude AS VARCHAR(20)) + ' ' + CAST(g.geocode_latitude AS VARCHAR(20)) + ')'))=1

请指教

我解决它的方法是使用 QGIS 将 EPSG 3347 转换为 EPSG 4326。您可以按照 below-mentioned link 查看如何操作。

之后,我确保安装 QGIS 2.10 版本与更高版本一样,ogr2ogr.exe 中有一个错误不允许转换。

然后,使用ogr2ogr.exe的命令行界面,我将shapefile数据转换成Long/Lat并加载到本地SQL DB table.

然后,我在本地数据库中创建了一个空白table "Spatial_Data"。

C:\Program Files\QGIS Pisa\bin>ogr2ogr -f MSSQLSpatial "MSSQL:server=RBANSAL\SQL EXPRESS;database=MyDB;trusted_connection=yes" C:\Users\rbansal\Desktop\ShapeFile\MyShpfile.shp -nln "Spatial_Data" -progress

希望这对其他人有帮助。