¿Es posible reproyectar datos espaciales usando SQL Server?

18

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

Por ejemplo, digamos que tengo un grupo de polígonos espaciales que usan SRID 4258, pero me gustaría usarlo junto con algunos datos preexistentes que tienen un SRID de 4326; ¿hay conversiones integradas o tengo para manejar esta conversión yo mismo?

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

    
pregunta Rowland Shaw 20.10.2010 - 11:26

4 respuestas

18

No.

  

Transformación: capacidad de transformarse de una referencia espacial a otra:   No, se necesitan herramientas de terceros, Geometry puede usar cualquier SRID entre 0 y 999999. El complemento CLR gratuito de Spatial Tools proporciona un soporte de transformación limitado.

Fuente: enlace

    
respondido por el underdark 20.10.2010 - 11:33
9

No de forma predeterminada, pero revise SQL Server Spatial Tools desarrollado por MSDN en CodePlex. Específicamente, la transformación afín funciona.

    
respondido por el user890 20.10.2010 - 14:08
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, ejecuta SQL Query

update  [DestDbName].[dbo].[DestTableName]
set     [ogr_geometry] =  geometry::STGeomFromText([shape], 3857)
    
respondido por el Maxim Mikhisor 29.01.2016 - 05:21
0

Tuve un problema similar y se resolvió en .Net. Desarrollé una dll en C # y luego la definí como una función CLR en MSSQL. Cada vez que llamo a esta función, esto hace la conversión por mí. Consulte esto Enfoque en Stack Overflow . y este enlace

    
respondido por el mohsen hs 16.06.2017 - 05:00

Lea otras preguntas en las etiquetas