¿Proyecciones de mapa discontinuas o interrumpidas?

21

¿Alguno de los softwares GIS de código abierto actuales admite sistemas de proyección discontinua? Por ejemplo , sinusoidal , dymaxion , mariposa , etc. Si no, ¿hay algunos comerciales asequibles que sí lo hacen (significado asequible <$ 150)?

Upate: aparentemente fue una mala idea liderar con "sinusoidal", ya que esa proyección también tiene una forma de punto único no interrumpido. Tenga en cuenta que la palabra clave aquí es discontinua o interrumpida . Gracias.

Mapa de mariposas de Cahill en 1909

wilkie mate
fuente

Respuestas:

10

Es posible construir algo como la proyección sinusoidal interrumpida y proyecciones similares, haciendo varias proyecciones sinusoidales (normales) y cortándolas y pegándolas juntas. No conozco una herramienta que haga esto (pero no soy la persona para preguntar sobre herramientas), por lo que en el caso de que tenga que recurrir a escupir y pegar ...

  • Si observa un ejemplo aleatorio de la sinusoidal interrumpida, cada meridiano perfectamente vertical corresponde a una sola proyección sinusoidal.

  • Para ese ejemplo, estás viendo sinusoidales centrados en longitudes: -160, -100, -60, ...

  • Luego, corte y desplace las partes para alinearlas: la parte inferior izquierda se compone de las longitudes -180 ..- 100 y las latitudes 0 ..- 90, y se proyecta con una longitud central de -160. La siguiente parte son las longitudes -180 ..- 40 y las latitudes 0..90, proyectadas con un centro de -100. Y así sucesivamente (el ejemplo que vinculé era bastante complejo y podría haber negocios divertidos en Rusia; no parece una vainilla sinusoidal allí).

Si buscas un mapa terminado, lo renderizaría en una buena imagen georreferenciada de alta resolución y construiría las piezas de proyección al proyectarlo en cada proyección sinusoidal y luego enmascararlo. (Construya las máscaras proyectando cuadrados sólidos que cubran los rangos de lat / lon de destino para cada pieza). Si está trabajando con datos sin procesar, los dividiría en piezas de entrada, teniendo cuidado de dividir líneas y polígonos a lo largo de cualquier "corte". bordes en la proyección.

Esperemos que esta sea una respuesta mejor que nada. :)

Sería un proyecto paralelo interesante automatizar esto en un script (por ejemplo, w / gdalwarp) ...

Dan S.
fuente
gracias por la saliva y el pegamento, es posible que tenga que cortar esto y atacarlo poco a poco; No había considerado ese enfoque.
Matt wilkie
Encontré un documento sobre ese enfoque que usa ArcInfo - publicó una nueva respuesta para la 'recompensa'
Mapperz
1
de leer los documentos, los ejemplos de ArcInfo y GMT dados hasta ahora utilizan este proceso de generar piezas y pegarlas juntas. En teoría, esto debería ser adaptable a qgis, hierba o lo que sea que tenga. El documento de arcinfo tiene detalles espectaculares para el proceso, mientras que GMT obtiene el visto bueno por reducirlo a 3 comandos, aunque restringido a una sola variante de proyección.
Matt wilkie
Comprueba mi respuesta a continuación, hice un programa que hace exactamente eso :)
Michał
7

Ahora he subido un conjunto de programas gratuito y muy detallado para generar el Megamap Cahill-Keyes Multi-scale con bordes y resolución de geocelda de un grado a escalas de 1 / 1,000,000 o más pequeñas. Utiliza el OpenOffice.org Draw 3.0 y Perl gratuitos. http://www.genekeyes.com/MEGAMAP-BETA-1/Megamap-Beta-1.html . (Consulte el enlace aquí para obtener muchos archivos JPEG, pdf y descargas gratuitas de hasta 40 MB).

ingrese la descripción de la imagen aquí

Gene Keyes
fuente
4

Aquí tiene un programa en C que puede hacer una transformación coordinada de (Lat, Long) a (X, Y) en la proyección dymaxion. No estoy seguro de si esto cumple con sus criterios de código abierto, pero está tan cerca como he llegado.

No he encontrado nada para hacer una proyección adecuada, pero encontré este recurso de Gene Keyes comparando las proyecciones de la mariposa de Cahill y la de Dymaxion de Fuller, lo cual es realmente agradable. Él tiene un script perl que puede trazar coordenadas en un mapa dymaxion. A partir de ahí encontré la base para ese script: el sitio mencionado anteriormente por RW Gray que tiene un programa en C que puede hacer una transformación coordinada y por favor vea su nota en la parte inferior de la página sobre los términos de uso del código.

yhw42
fuente
2

El paquete mapproj R admite una buena gama de proyecciones, sinusoidales entre ellas.

También puede mirar las proyecciones miriáricas de Jack van Wijk según su artículo :

Todas las imágenes se produjeron con una herramienta integrada desarrollada a medida para definir mallas y pesos, y para calcular y representar los resultados, ejecutándose en MS Windows.

radek
fuente
¿Pero es compatible con la versión discontinua de la proyección sinusoidal?
oscuro
1
-1 para mapproj, que (de los documentos) solo admite la forma de un solo punto de Sinusoidal, "paralelos sinusoidales () igualmente espaciados, área igual, igual que bonne (0)" . +1 para Myriahedral que definitivamente es discontinuo y parece interesante. Sin embargo, el software utilizado parece ser privado y no está disponible.
Matt wilkie
1
@ underdark: no estaba claro b4 update que sinusoidal tiene que ser discontinuo, de ahí mi sugerencia. @ matt: fue creado en un entorno académico y supongo que existe la posibilidad de obtener acceso del autor.
radek
bueno, el título de la pregunta no ha cambiado;) nvm
oscuro
2

Hace mucho tiempo implementé Cahill-Keyes en D3.js siguiendo la excelente documentación / código de Gene Keyes en su sitio web. Puedes encontrarlo en este bl.ock

Aquí hay una instantánea:

ingrese la descripción de la imagen aquí

espinielli
fuente
1

Gene Keyes y su socia Mary Jo Graça publicaron recientemente Cahill-Keyes Octant Graticule: Principles and Especificaciones con programas Perl y macros OpenOffice.org 2.0 para 1 / 1,000,000 Megamap bajo un Creative Commons que no comparte licencia de trabajo comercial. Resumen "Cómo se realiza una retícula completa de un grado de un mapa mundial de ocho octavos a 1 / 1,000,000 con Perl y macros en un programa gratuito de dibujo vectorial OpenOffice.org 2.0 en una netbook Asus de $ 300. Esta es otra entrega de mi redacción notas para el mapa del "mundo real" de Cahill-Keyes. Describe solo la retícula, en intrincados detalles, tanto como arquetipos dibujados a mano o por computadora. Ingresar datos GIS es el próximo desafío ".El gráfico en la pregunta es del sitio de Gene. No publiqué sobre la página de Perl & OO hasta ahora, ya que aún no había hecho pública la página.

miniatura del resultado de la macro de Open Office

He creado un repositorio de código fuente mercurial de su trabajo en http://bitbucket.org/maphew/cahill-keyes con el objetivo, eventualmente, de abordar la parte de "entrar en SIG". Aunque hasta el momento no se ha hecho nada, esta es una esquina del proyecto de mi escritorio, el progreso será lento. :)

wilkie mate
fuente
1

Como se mencionó anteriormente, el programa C aquí funciona bien. También disponible, aquí en javascript para openlayers.

Utilicé ambos con éxito, pero tuve más éxito con la versión de JavaScript en el sistema de secuencias de comandos de Adobe Illustrator. Tomé archivos de forma y los convertí en objetos de JavaScript, los cargué en Illustrator y, al dibujar, pasé los puntos por el código de proyección de JavaScript.

Produje un mapa de zona horaria muy interesante con este código.

Recién estoy comenzando a trabajar con QGIS, así que no estoy seguro de si hay alguna manera de tener una proyección programática personalizada como esta, pero me interesaría mucho aquí.

gazhay
fuente
Hola gazhay, bienvenido a GIS.se :) Es una buena práctica usar el título de la página o algún otro fragmento de texto distintivo en lugar de hereal vincular; facilita la búsqueda de nuevos enlaces cuando la página de destino inevitablemente sucumbe a bitrot. (Esto también habría sido mejor colocarlo como un comentario a la respuesta "mencionada anteriormente" mencionada, pero me doy cuenta como usuario nuevo que aún no está abierto para usted). Gracias por contribuir Animo una pregunta y una respuesta sobre el flujo de trabajo Shape> Illustrator> Openlayers, ya que suena interesante ( gis.stackexchange.com/help/self-answer )
matt wilkie
1

Codifiqué la proyección interrumpida sinusoidal en javascript, por lo que se ejecuta en el navegador web. Puede verificarlo aquí: http://www.winski.net/?page_id=12 . También apoyo la proyección de pétalos de margarita de USGS.

Solo necesita elegir su imagen de entrada, proyección interrumpida sinusoidal de la lista de proyecciones, número de gores y hacer clic en "proyecto".

Está bajo BSD, así que siéntete libre de hacer lo que quieras :)

Michał
fuente