¿Cómo construir un casco convexo mínimo cruzando la línea de 180 grados?

13

He estado construyendo cascos convexos para especies que habitan el Indo-Pacífico (~ de 20 a -65 grados de longitud). El problema que he encontrado es que para las especies que se pueden encontrar en ambos lados de la línea de longitud de 180 grados, el casco reconstruido se expande a través de toda la capa en lugar de incluir los puntos en un polígono mucho más pequeño que comprende ambos extremos de la capa. La causa de este comportamiento es que esta línea representa el borde de la capa, y QGIS no ajusta los mapas vectoriales (vea la imagen a continuación ... mi 'reputación' ahora es 'lo suficientemente buena como para incluirla, gracias).

ingrese la descripción de la imagen aquí

Después de pensar y buscar en Google, estos son algunos de los posibles enfoques del problema que he encontrado; Sin embargo, no estoy muy seguro de su mérito o implementación:

  1. Cambie el meridiano central del 0 (es decir, Greenwich) a, digamos, 150 grados. ¿Cómo se puede hacer esto? ¿Esto simplemente cambiaría la visualización del mapa (útil per se), o también contribuiría a la construcción del casco convexo correcto?

  2. Cambie el sistema de coordenadas de un formato de +/- 180 grados a un formato de 0 a 360 grados. Aparentemente, se puede lograr algo en este sentido utilizando la función 'ST_Shift_Longitude' en PostGIS, que agrega 360 grados a las longitudes negativas. ¿Hay una manera más simple de hacer esto? Además, esta función produce un mapa céntrico de 180 grados, que no sería el fin del mundo, pero un mapa céntrico de 150 grados sería mejor (~ el centro del Indo-Pacífico).

    Gracias por tu tiempo y ayuda, y perdón por la larga publicación.

Bernardo
fuente
1
Los cascos convexos solo tienen sentido cuando se usa un sistema de coordenadas proyectado
2
Aunque tiene razón en general, @Dan, hay muchos casos en los que el casco convexo tiene sentido, y este es probablemente uno de ellos. Podemos definir el casco convexo de cualquier conjunto de puntos en la esfera construyendo su cono (que es la unión de rayos que se originan en el centro de la Tierra y que pasan por los puntos) e intersectan el casco convexo de esos rayos (considerado como un subconjunto de espacio) con la esfera.
whuber
Una pregunta relacionada en gis.stackexchange.com/questions/17788 pide calcular cuadros de límite de puntos que podrían cruzar el meridiano de + -180 grados. Sin embargo, en el presente caso, una solución en coordenadas proyectadas (como lo sugiere @Dan Patterson) o la solución 3D parecen las mejores apuestas. Sin embargo, tenga cuidado: la mayoría de los SIG todavía tienen problemas para hacer frente a los datos que abarcan este meridiano. Realice pruebas con conjuntos de datos simples antes de comprometerse con cualquier solución.
whuber

Respuestas:

4

Puede usar GRASS GIS (en QGIS disponible a través de la caja de herramientas GRASS o mejor, el complemento Sextante) que puede manejar el ajuste global en la línea de fecha.

Aquí un ejemplo con puntos aleatorios en esa zona con polígono de casco convexo generado con v.hull :

ingrese la descripción de la imagen aquí

markusN
fuente
0

Si desea mover el meridiano central del mapa mundial de Greenwich a otro, obtendrá los mismos extravíos que encontró, pero con el fondo del Mapa, si está formado por polígonos vectoriales.

Consulte estas preguntas y respuestas para obtener una solución al respecto:

Reproyección del conjunto de datos de la Tierra natural a World Eckert I

Aunque está escrito para la proyección de Eckert, debería funcionar para todas las vistas mundiales centradas en meridianos diferentes de Greenwich.

Usar un fondo de trama como Blue Marble evitaría este problema.

AndreJ
fuente