Tengo unos cientos de formas ( polygon
s y multipolygon
s), cada una de las cuales consta de decenas de miles de puntos que intento ingresar a SQL 2008.
Desafortunadamente, las formas que he tratado de importar son "diestras" (el perímetro de cada una se dibuja en el sentido de las agujas del reloj alrededor de los puntos que contiene). El servidor SQL asume formas "zurdas" (en sentido antihorario alrededor del interior), al menos para los geography
tipos. Esto significa que SQL asume que estoy tratando de seleccionar toda la tierra, excepto mi forma. Algunas personas describen esto como formas "de adentro hacia afuera".
De MSDN , que frustrantemente no dice qué orientación de anillo se debe usar:
Si usamos el
geography
tipo de datos para almacenar la instancia espacial, debemos especificar la orientación del anillo y describir con precisión la ubicación de la instancia.
Si usa la orientación de anillo incorrecta en SQL 2008, se bloquea con el siguiente error (el énfasis es mío):
Se produjo un error de .NET Framework durante la ejecución de la rutina o geografía agregada definida por el usuario: Microsoft.SqlServer.Types.GLArgumentException: 24205: La entrada especificada no representa una instancia de geografía válida porque excede un solo hemisferio. Cada instancia de geografía debe caber dentro de un solo hemisferio. Una razón común para este error es que un polígono tiene una orientación de anillo incorrecta.
Importar las formas como en geometry
lugar de geography
funciona bien, pero me gustaría usar geography
si puedo.
En SQL 2012, parece bastante trivial solucionar este problema, pero estoy vinculado a 2008.
¿Cómo debo convertir las formas?