Я пытаюсь создать сферическое представление, используя qgis и проекцию «мир из космоса» http://spatialreference.org/ref/sr-org/6980/ (по существу, ортопроекция). ArcGIS правильно оборачивает фигуры, но QGIS (2.01) создает неприятные артефакты.
Я должен регулярно производить глобусы под разными углами, поэтому у кого-нибудь есть идеи, как решить эту проблему?
qgis
arcgis-desktop
shapefile
coordinate-system
user1523709
источник
источник
Ответы:
Как сказал Андре, чтобы это сработало, вам нужно обрезать слой перед его проецированием. Андре описывает ручной метод , который хорошо работает во многих случаях: спроецируйте ваш шейп-файл на азимутальную эквидистантную проекцию с теми же параметрами, что и в ортографической проекции, создайте обтравочный круг, охватывающий полусферу, которая будет видна в ортографической проекции, и обрежьте шейп-файл с этим. Однако этот метод требует значительных ручных усилий и не работает для всех параметров проекции, поскольку проецирование на азимутальную эквидистантную проекцию может привести к тем же проблемам, что и проекция на ортографическую проекцию.
Вот скрипт (теперь также доступный как плагин Clip to Hemisphere QGIS ), который использует немного другой подход: слой отсечения создается в системе координат координат исходного шейп-файла, проецируя окружность от ортогонального к исходному CRS, но дополнительно следя за тем, чтобы покрыть все видимое полушарие, включая видимый полюс.
Вот так выглядит отсечный слой для ортографической проекции с центром в 30 ° с.ш., 110 ° в.д .:
Затем сценарий обрезает текущий выбранный слой с помощью слоя обрезки и добавляет полученный слой в проект. Затем этот слой может быть спроецирован на ортографическую проекцию, либо на лету, либо сохранением его в ортографическом CRS:
Вот сценарий. Обязательно сохраните его в своем пути Python, например, как «cliportho.py». Затем вы можете импортировать его в консоли QGIS Python, используя
import cliportho
. Чтобы обрезать слой, позвонитеcliportho.doClip(iface, lat=30, lon=110, filename='A.shp')
.источник
Вы должны обрезать данные полигона до видимой половины земного шара, потому что QGIS не делает это само по себе.
Я написал учебник здесь:
Куда делись полигоны после проецирования карты в QGIS?
РЕДАКТИРОВАТЬ
Картинка, которую вы показываете, на самом деле не является ортопедической, так как показывает весь мир, а не только видимую половину, видимую из космоса. Для карт мира разрезание немного проще, как описано здесь:
QGIS отображает файлы формы мировой страны, центрированные на Тихом океане, используя проекцию Робинсона, Миллера, Цилиндрическую или другую проекцию
источник