Czy można ponownie rzutować dane przestrzenne za pomocą programu SQL Server?


19

SQL Server bierze SRID podczas tworzenia danych przestrzennych, ale czy możliwe jest pobieranie przy użyciu innego SRID tłumaczącego współrzędne?

Na przykład, powiedzmy, że mam kilka wielokątów przestrzennych przy użyciu SRID 4258, ale chciałbym użyć obok niektórych wcześniej istniejących danych, które mają SRID 4326 - czy są one wbudowane w konwersje, czy też muszę sobie z tym poradzić nawrócenie się?

Jest to metoda SQL-MM, którą implementuje PostGIS ST_Transform. Jak to zrobić w programie SQL Server?


Proszę spojrzeć na moją odpowiedź tutaj: stackoverflow.com/questions/52618277/…
mohsen hs

Odpowiedzi:




6

Przykład ponownej odrzucenia z EPSG: 2193 na 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

Następnie uruchom zapytanie SQL

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.