Можно построить что-то вроде прерванной синусоидальной проекции и аналогичных проекций, выполнив несколько (нормальных) синусоидальных проекций, обрезав и вставив их вместе. Я не знаю инструмента, который делает это (но я не тот человек, который спрашивает об инструментах), поэтому в случае, если вам придется прибегнуть к плеванию и склеиванию ...
Если вы посмотрите на случайный пример прерванной синусоиды, каждый совершенно вертикальный меридиан соответствует одной синусоидальной проекции.
В этом примере вы смотрите на синусоиды с центром в долготе: -160, -100, -60, ...
Затем обрежьте и сдвиньте части, чтобы они выровнялись: нижняя левая часть состоит из долгот -180 ..- 100 и широт 0 ...- 90 и проецируется с центральной долготой -160. Следующая часть - это долготы -180 ..- 40 и широты 0,90, спроецированные с центром -100. И так далее (пример, который я привел, был довольно запутанным, и в России может происходить забавное дело; там не похоже на ванильную синусоиду).
Если вам нужна законченная карта, я бы отобразил ее на изображении с высоким разрешением с географической привязкой и построил части проекции, проецируя ее в каждую синусоидальную проекцию, а затем маскируя ее. (Создайте маски, спроецировав сплошные квадраты, которые охватывают целевые диапазоны широт / долгот для каждого куска.) Если вы работаете с необработанными данными, я бы разбил их на входные фрагменты, стараясь разбить линии и многоугольники вдоль любого «разреза» края в проекции.
Надеюсь, это лучший ответ. :)
Было бы интересно побочный проект автоматизировать это в скрипте (например, w / gdalwarp) ...
Теперь я загрузил бесплатную и очень подробную программу для создания многомасштабной мегапиксельной карты Cahill-Keyes с границами и разрешением гео-ячеек в один градус в масштабе 1/1 000 000 или меньше. Он использует бесплатный OpenOffice.org Draw 3.0 и Perl. http://www.genekeyes.com/MEGAMAP-BETA-1/Megamap-Beta-1.html . (Проверьте ссылку здесь для многих JPEG, PDF и бесплатных загрузок размером до 40 МБ.)
источник
Здесь есть C-программа, которая может выполнять преобразование координат из (Lat, Long) в (X, Y) в проекции dymaxion. Я не уверен, что это соответствует вашим критериям открытого исходного кода, но это так близко, как я пришел.
Я не нашел ничего, что могло бы сделать правильную проекцию, но я нашел этот ресурс от Джина Кейса, сравнивающего проекции бабочки Кэхилла и димаксиона Фуллера, что действительно приятно. У него есть скрипт на Perl, который может отображать координаты на карте dymaxion. Оттуда я нашел основу для этого сценария: вышеупомянутый сайт RW Grey, который имеет программу на C, которая может выполнять преобразование координат, и, пожалуйста, смотрите его примечание внизу страницы, касающееся условий использования кода.
источник
Джейсон Дэвис создал большое количество прерванных прогнозов для D3.js , таких как Waterman Butterfly:
Посмотрите на его сайте огромную работу, которую он и Майк Босток проделали над созданием прерванных прогнозов для D3.
источник
Пакет mapproj R поддерживает хороший диапазон проекций, среди которых синусоидальный.
Вы также можете посмотреть на Мириаэдрические проекции Джека ван Вейка в соответствии с его статьей :
источник
Моделирование прерванной гомолозиновой проекции Гуда с ArcInfo
http://proceedings.esri.com/library/userconf/proc98/proceed/to850/pap844/p844.htm
источник
Посмотрите на GMT (Generic Mapping Tools), Главная страница на http://gmt.soest.hawaii.edu/ Иллюстрации см. На http://gmt.soest.hawaii.edu/gmt/doc/gmt/pdf/ GMT_Docs.pdf на стр. 121 документации.
источник
Я давно реализовал Cahill-Keyes в D3.js, следуя замечательной документации / коду Gene Keyes на его сайте. Вы можете найти это в этом bl.ock
Вот снимок:
источник
Джин Киз и ее партнер Мэри Джо Граса недавно опубликовали Cahill-Keyes Octant Graticule: Принципы и спецификации с программами Perl и макросами OpenOffice.org 2.0 для 1/1 000 000 Megamap в рамках лицензии Creative Commons. Аннотация "Как составить полную одношаговую карту мира с восемью октантами в 1/1 000 000 с помощью Perl и макросов в бесплатной программе для рисования векторов OpenOffice.org 2.0 на нетбуке Asus за 300 долларов. Это еще одна часть моего проекта примечания к карте «Реального мира» Кэхилла-Кейса. Она описывает только детализацию, в мельчайших деталях, как архетипы, нарисованные от руки или с компьютера. Ввод данных ГИС является следующей задачей ».Графика в вопросе с сайта Джина. Я не писал о странице perl & OO до сих пор, так как он еще не опубликовал эту страницу.
Я создал хранилище ртутного исходного кода для их работы на http://bitbucket.org/maphew/cahill-keyes с целью, в конце концов, заняться разделом «попадание в ГИС». Хотя до сих пор ничего не было сделано - это уголок моего настольного проекта, прогресс будет медленным. :)
источник
Как уже упоминалось ранее, программа C здесь хорошо работает. Также доступно здесь в javascript для openlayers.
Я успешно использовал оба варианта, но добился наибольшего успеха с версией javascript в системе сценариев Adobe Illustrator. Я взял файлы форм и преобразовал их в объекты javascript, загрузил их в иллюстратор и при рисовании пропустил точки через код проекции javascript.
Я создал очень интересную карту часовых поясов с этим кодом.
Я только начинаю работать с QGIS, так что я не уверен, есть ли какие-либо способы иметь пользовательскую программную проекцию, подобную этой, но мне было бы очень интересно узнать об этом здесь.
источник
here
ссылок; облегчает поиск новых ссылок, когда целевая страница неизбежно уступает битроту. (Это также было бы лучше разместить в качестве комментария к упомянутому «ранее упомянутому» ответу, но я понимаю, что как новый пользователь это еще не открыто для вас). Спасибо за помощь. Я рекомендую вопрос и ответ о рабочем процессе Shape> Illustrator> Openlayers, поскольку он звучит интересно ( gis.stackexchange.com/help/self-answer )Я закодировал синусоидальную прерывистую проекцию в javascript, поэтому она работает в веб-браузере. Вы можете проверить это здесь: http://www.winski.net/?page_id=12 . Я также поддерживаю проекцию лепестка ромашки USGS.
Вам нужно только выбрать входное изображение, синусоидально-прерывистую проекцию из списка проекций, количество отверстий и нажать «проект».
Это под BSD, так что не стесняйтесь делать все, что вы хотите с ним :)
источник