É possível reprojetar dados espaciais usando o SQL Server?


19

O SQL Server usa um SRID ao criar dados espaciais, mas é possível recuperar com um SRID diferente convertendo as coordenadas?

Por exemplo, digamos que eu tenha vários polígonos espaciais usando SRID 4258, mas eu gostaria de usar juntamente com alguns dados pré-existentes que possuem um SRID 4326 - existem conversões incorporadas ou preciso lidar com isso? conversão eu mesmo?

O método SQL-MM, implementado pelo PostGIS ST_Transform. Como faço isso no SQL Server?


Por favor, dê uma olhada na minha resposta aqui: stackoverflow.com/questions/52618277/…
mohsen hs

Respostas:




6

Exemplo de reprojeção de EPSG: 2193 para 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

Depois disso, execute a Consulta SQL

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.