Mercator и радиусы расстояний

Не знаете, где задать вопрос? Задавайте здесь.
Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

Mercator и радиусы расстояний

Сообщение Xmypblu » 29 ноя 2017, 18:43

Добрый день,

сегодня увидел инфографику и попытался сделать подобное в QGIS... неудачно - видимо опять запутался в проекциях.

как я понимаю:
  • в инфографике используется проекция типа EPSG:3857
  • радиусы отрисовываются в виде слоя полигонов
  • создаются видимо в виде буфера от стартовой точки
как создать подобную картинку в QGIS ?
Вложения
Hwasong_15.jpg
Hwasong_15.jpg (71.49 КБ) 10276 просмотров

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Mercator и радиусы расстояний

Сообщение Игорь Белов » 29 ноя 2017, 18:59

Навскидку два способа создания кривых равных дальностей.
  • Утилитой PROJ.4 geod генерируем точки, равноудалённые от стартовой площадки на поверхности земного эллипсоида; при желании соединяем в полилинии.
  • Конструируем косую азимутальную равнопромежуточную проекцию с центром на стартовой площадке; в этой проекции помещаем точку пусковой установки в центр; строим буферы.
The purpose of computing is insight, not numbers

Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

Re: Mercator и радиусы расстояний

Сообщение Xmypblu » 29 ноя 2017, 19:12

хм... а можно поподробней про второй вариант?
Игорь Белов писал(а):
29 ноя 2017, 18:59
Создаём косую азимутальную равнопромежуточную проекцию с центром на стартовой площадке; в этой проекции создаём точку пусковой установки в центре; строим буферы.
предположим, я знаю координаты стартовой точки, и как я понимаю - нужно выбрать/создать пользовательскую проекцию, изменив какую-то "косую азимутальную равнопромежуточную проекцию" из списка?

Можно привести пример (номер EPSG) такой проекции и как (где и на что) менять в ней?

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Mercator и радиусы расстояний

Сообщение Игорь Белов » 29 ноя 2017, 20:34

Xmypblu писал(а):
29 ноя 2017, 19:12
Можно привести пример (номер EPSG) такой проекции и как (где и на что) менять в ней?
Вот пример:

Код: Выделить всё

+proj=aeqd +lat_0=39.01944 +lon_0=125.75336 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
Можно менять широту и долготу центра проекции.

Кстати, инфографика в проекции Миллера, может, Голла, но не Меркатора.
Вложения
Screenshot_2017-11-29_20-25-40.png
Буфер 4500 км
Screenshot_2017-11-29_20-25-40.png (11.78 КБ) 10250 просмотров
The purpose of computing is insight, not numbers

Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

Re: Mercator и радиусы расстояний

Сообщение Xmypblu » 29 ноя 2017, 22:37

Пока что-то не получается...

Что делал - я добавил 2 системы координат, через меню "Установки" > "Ввод системы координат..."
первую под условным именем "test_korea":

Код: Выделить всё

+proj=aeqd +lat_0=39.01944 +lon_0=125.75336 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs
вторую под именем "new_epsg53003":

Код: Выделить всё

+proj=mill +lat_0=0 +lon_0=100 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m +no_defs
которую изменил по примеру обсуждения "Смещение видимой проекции"

Слою TMS (OpenStreetMap) установил проекцию "new_epsg53003", остальным слоям - "test_korea".

Буфер создавал при помощи меню: "Вектор" > "Геообработка" > "Буфер фиксированной ширины"
Если радиус в 4500 км - получается (и похож на исходную картинку), то все остальные - нет.
Вложения
20171129_215709.png
20171129_215709.png (302.13 КБ) 10226 просмотров

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Mercator и радиусы расстояний

Сообщение Игорь Белов » 30 ноя 2017, 08:33

Xmypblu писал(а):
29 ноя 2017, 22:37
Если радиус в 4500 км - получается (и похож на исходную картинку), то все остальные - нет.
Это другая задача, а именно: как отобразить объекты, пересекающие меридиан, отстоящий от осевого на 180 градусов.
Здесь в «плохую» сторону каждого полигона вставлено по два узла близ полюса:
img_20171130_094829.png
img_20171130_094829.png (17.42 КБ) 10164 просмотра
Здесь полигоны превращены в линии, которые поправлены хирургически:
Вложения
img_20171130_082113.png
img_20171130_082113.png (18.17 КБ) 10189 просмотров
The purpose of computing is insight, not numbers

Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

Re: Mercator и радиусы расстояний

Сообщение Xmypblu » 30 ноя 2017, 21:11

Игорь Белов писал(а):
30 ноя 2017, 08:33
Здесь в «плохую» сторону каждого полигона вставлено по два узла близ полюса
научите - как?
впервые столкнулся с такой задачей

из того, что нашел поиском на форуме, похожее обсуждалось в этой теме: qgis: артефакты при перепроецировании
но непонятно, это как-то возможно сделать в самом QGIS ?

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Mercator и радиусы расстояний

Сообщение Игорь Белов » 30 ноя 2017, 22:08

В родной проекции буфер — круг. Сохраняем копию буферного слоя в проекцию будущей карты.

Открываем копию слоя в новом проекте и видим синусоиду, замкнутую через всю карту горизонтальным сегментом. Включаем редактирование. Берём инструмент редактирования узлов. Двойным щелчком на замыкающем сегменте добавляем новый узел.
Screenshot_2017-11-30_21-42-48.png
Screenshot_2017-11-30_21-42-48.png (12.7 КБ) 10123 просмотра
Тычем в новый узел, чтобы он стал синим, и тащим вверх от края, в сторону северного полюса.
Screenshot_2017-11-30_21-43-07.png
Screenshot_2017-11-30_21-43-07.png (11.82 КБ) 10123 просмотра
Аналогично добавляем второй узел к северу от другого края.
Screenshot_2017-11-30_21-43-43.png
Screenshot_2017-11-30_21-43-43.png (11.54 КБ) 10123 просмотра
Сохраняем изменения.
The purpose of computing is insight, not numbers

Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

Re: Mercator и радиусы расстояний

Сообщение Xmypblu » 30 ноя 2017, 22:41

спасибо за пошаговое руководство,

теперь буду искать причину, почему у меня не получается синусоида...
изначально получаю круг ("test_korea"), сохраняю в проекции "new_epsg53003"
при открытии в новом проекте - та жа "шляпа", что и на моем скриншоте выше

включение опции перепроецирование "на лету" проекта, может как-то влиять?

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Mercator и радиусы расстояний

Сообщение Игорь Белов » 30 ноя 2017, 23:27

Начните с чистого листа, без лишних слоёв.
The purpose of computing is insight, not numbers

Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

Re: Mercator и радиусы расстояний

Сообщение Xmypblu » 02 дек 2017, 00:22

Застрял на шаге, где у меня все идет "не по плану"

после создания буферного слоя получаю круги с заданным радиусом, но при сохранении копии слоев (по ПКМ - "Сохранить как...") в шейп, и указав проекцию "new_epsg53003" при наличии отмеченного чекбокса "Добавить слой в проект" - вместо ожидаемых кругов, получаю разного рода фигуры.

Есть подозрения, что-то с настройками QGIS... если не вообще с установкой или переменными окружения.
Правда как проверить или как переустановить (сделал даунгрейд QGIS) с удалением всех настроек и "хвостов" в Ubuntu - я так и не разобрался.
Вложения
qgis_2_14_20171201.png
qgis_2_14_20171201.png (339 КБ) 10054 просмотра

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Mercator и радиусы расстояний

Сообщение Игорь Белов » 02 дек 2017, 20:37

Всё же создайте новый проект. В пустой проект добавьте слой, что в проекции "new_epsg53003". Что видите?
The purpose of computing is insight, not numbers

Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

Re: Mercator и радиусы расстояний

Сообщение Xmypblu » 02 дек 2017, 22:52

Игорь Белов писал(а):
02 дек 2017, 20:37
Всё же создайте новый проект. В пустой проект добавьте слой, что в проекции "new_epsg53003". Что видите?
так и делаю, более того - попробовал разные версии QGIS под разными ОС, по одному файлу и "оптом"
вот например скриншот macOS с QGIS 2.8

у меня варианты закончились, возможно какой-то модуль/плагин/тонкая настройка QGIS решает эту задачу?
...или я, что-то не так делаю при сохранении буферов - выкладываю архив.
Вложения
qgis2_8_4.png
qgis2_8_4.png (299.5 КБ) 10015 просмотров
new_epsg53003.zip
(19.06 КБ) 357 скачиваний

Аватара пользователя
Игорь Белов
Гуру
Сообщения: 2229
Зарегистрирован: 04 янв 2011, 22:00
Репутация: 1501
Откуда: Казань

Re: Mercator и радиусы расстояний

Сообщение Игорь Белов » 02 дек 2017, 23:30

Давайте так. Создайте файл start.csv в каком-нибудь экселе:

x,y,dist
0,0,13000000
0,0,10000000
0,0,8000000
0,0,4500000

Создайте новый проект, НЕ ДОБАВЛЯЙТЕ НИКАКИХ TMS! Измените систему координат проекта на азимутальную.

Добавьте CSV в проект, поля x и y определяют координаты, проекция азимутальная.

Создайте буферные зоны с радиусами из поля dist. На экране должны быть окружности.

Уже можно менять систему координат проекта на Миллера, чтобы увидеть синусоиды. Но лучше заменить буферный слой на копию в проекции Миллера, поскольку файлы PRJ/QPJ исходного буферного слоя инвалидны.
The purpose of computing is insight, not numbers

Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

Re: Mercator и радиусы расстояний

Сообщение Xmypblu » 03 дек 2017, 00:28

кроме того, что все буферы создаются в одном слое/shp - различий не замечено...

могу конечно прикрепить скриншоты импорта CSV и создания буферных зон через меню:
"Вектор" > "Геообработка" > "Буферные зоны..." (в qgis 2.14)
если надо... но там сложно ошибиться. Хотя и пришлось поискать, где и как используется столбец "dist".

P.S. выкладываю шейп
...а вообще, забыл самый главный вопрос - с моими шейпами получается увидеть синусоиды?
Вложения
import_csv.zip
(12.87 КБ) 403 скачивания

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей