È possibile riproiettare i dati spaziali utilizzando SQL Server?


19

SQL Server accetta un SRID durante la creazione di dati spaziali, ma è possibile recuperarlo con un SRID diverso traducendo le coordinate?

Ad esempio, supponiamo che io abbia un sacco di poligoni spaziali che usano SRID 4258, ma mi piacerebbe usare insieme ad alcuni dati preesistenti che hanno un SRID di 4326 - ci sono conversioni incorporate o devo gestirlo conversione me stesso?

Il metodo SQL-MM, implementato da PostGIS ST_Transform. Come posso farlo in SQL Server?


Dai un'occhiata alla mia risposta qui: stackoverflow.com/questions/52618277/…
mohsen hs

Risposte:




6

Esempio di riproiezione da EPSG: 2193 a 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

Successivamente eseguire SQL Query

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.