Estoy tratando de crear una vista en forma de esfera usando qgis y la proyección "mundo desde el espacio" http://spatialreference.org/ref/sr-org/6980/ (esencialmente una orto-proyección). ArcGIS envuelve las formas correctamente, pero QGIS (2.01) produce artefactos desagradables.
Tengo que producir los globos de forma regular con diferentes ángulos, ¿alguien tiene alguna idea de cómo solucionar este problema?
qgis
arcgis-desktop
shapefile
coordinate-system
usuario1523709
fuente
fuente
Respuestas:
Como dijo Andre, para que esto funcione, deberá recortar su capa antes de proyectarla. Andre describe un método manual , que funciona bien para muchos casos: proyecte su archivo de forma en una proyección equidistante azimutal con los mismos parámetros que la proyección ortográfica, cree un círculo de recorte que cubra el hemisferio que será visible en la proyección ortográfica, y recorta el archivo de forma con eso. Sin embargo, ese método requiere un poco de esfuerzo manual y no funciona para todos los parámetros de proyección, ya que proyectar en una proyección equidistante acimutal puede conducir a problemas similares a los de proyectar en una proyección ortográfica.
Aquí hay un script (ahora también disponible como el complemento Clip to Hemisphere QGIS ) que adopta un enfoque ligeramente diferente: se crea una capa de recorte en el sistema de referencia de coordenadas del archivo de forma original al proyectar un círculo desde el CRS ortográfico al origen, pero adicionalmente asegurándose de cubrir todo el hemisferio visible, incluido el polo visible.
Así es como se ve la capa de recorte para una proyección ortográfica centrada en 30 ° N, 110 ° E:
Luego, el script recorta la capa seleccionada actualmente con la capa de recorte y agrega la capa resultante al proyecto. Esa capa se puede proyectar en la proyección ortográfica, ya sea sobre la marcha o guardándola en el CRS ortográfico:
Aquí está el guión. Asegúrese de guardarlo en su ruta de Python, por ejemplo como 'cliportho.py'. Luego puede importarlo en la consola QGIS Python usando
import cliportho
. Para recortar una capa, llamecliportho.doClip(iface, lat=30, lon=110, filename='A.shp')
.fuente
Debe recortar los datos de su polígono a la mitad visible del globo, porque QGIS no lo hace por sí solo.
Escribí un tutorial aquí:
¿A dónde fueron los polígonos después de proyectar un mapa en QGIS?
EDITAR
La imagen que muestra en realidad no es una proyección ortográfica, ya que muestra todo el mundo, y no solo la mitad visible vista desde el espacio exterior. Para los mapas mundiales, el corte es un poco más fácil, como se describe aquí:
QGIS muestra archivos de formas de países del mundo centrados en el océano Pacífico usando Robinson, Miller Cylindrical u otra proyección
fuente