¿Es posible reproyectar datos espaciales usando SQL Server?


19

SQL Server toma un SRID al crear datos espaciales, pero ¿es posible recuperarlo con un SRID diferente traduciendo las coordenadas?

Por ejemplo, supongamos que tengo un montón de polígonos espaciales que usan SRID 4258, pero me gustaría usar junto con algunos datos preexistentes que tienen un SRID de 4326: ¿hay conversiones integradas o tengo que manejar esto? conversión a mí mismo?

El método SQL-MM, que implementa PostGIS es ST_Transform. ¿Cómo hago eso en SQL Server?


Por favor, eche un vistazo a mi respuesta aquí: stackoverflow.com/questions/52618277/…
mohsen hs

Respuestas:




6

Ejemplo de reproyección de 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

Después de esto, ejecute SQL Query

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.