Est-il possible de reprojeter des données spatiales à l'aide de SQL Server?


19

SQL Server prend un SRID lors de la création de données spatiales, mais est-il possible de récupérer avec un SRID différent traduisant les coordonnées?

Par exemple, disons que j'ai un tas de polygones spatiaux utilisant le SRID 4258, mais j'aimerais utiliser à côté de certaines données préexistantes qui ont un SRID de 4326 - y a-t-il des conversions intégrées, ou dois-je gérer cela conversion moi-même?

La méthode SQL-MM implémentée par PostGIS est ST_Transform. Comment faire cela dans SQL Server?


Veuillez consulter ma réponse ici: stackoverflow.com/questions/52618277/…
mohsen hs

Réponses:




6

Exemple de reprojection d'EPSG: 2193 à EPSG: 3857

c:\OSGeo4W64\bin\ogr2ogr.exe ^
 -f "MSSQLSpatial"^
 "MSSQL:server=DestServerName;database=DestDbName;trusted_connection=yes"^
 "MSSQL:server=SourceServerName;database=SourceDbName;trusted_connection=yes"^
 -sql "SELECT [Id], [Shape].STAsText() Shape FROM [SourceDbName].[dbo].[SourceTableName]"^
 -nln "DestTableName"^
 -overwrite^
 -s_srs EPSG:2193^
 -t_srs EPSG:3857

Après cela, exécutez la requête SQL

update  [DestDbName].[dbo].[DestTableName]
set     [ogr_geometry] =  geometry::STGeomFromText([shape], 3857)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.