24 votos

¿Es posible reproyectar datos espaciales con SQL Server?

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

Por ejemplo, digamos que tengo un montón de polígonos espaciales que utilizan el SRID 4258, pero me gustaría utilizar junto con algunos datos preexistentes que tienen un SRID de 4326 -- ¿hay conversiones incorporadas, o tengo que manejar esta conversión yo mismo?

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

20voto

tobes Puntos 19

No.

Transformación: capacidad de pasar de una referencia espacial a otra: No - necesita herramientas de terceros, Geometry puede utilizar cualquier SRID entre 0 y 999999. El complemento CLR gratuito de Spatial Tools ofrece un soporte limitado para transformaciones.

Fuente: http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare

10voto

Liedman Puntos 3144

No por defecto, pero compruebe el Herramientas espaciales de SQL Server desarrollado por MSDN en GitHub. En concreto, las funciones de transformación afín.

7voto

Pepria Puntos 119

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

A continuación, ejecute la consulta SQL

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

2voto

null Puntos 33

Tuve un problema similar y lo resolví 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 para mí. Por favor vea esto enfoque en Stack Overflow . y este https://stackoverflow.com/questions/52618277/how-do-spatial-reprojection-in-sql-server

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X