Я ищу возможность "инвертировать" шейп-файл. Я хочу преобразовать шейп-файл с континентами и островами в шейп-файл с водяными полигонами. Существующий шейп-файл Ocean из Natural Earth слишком неточный.
Как активный участник OSM, я подумал, что использование существующих шейп-файлов из OSM будет хорошо для меня. Они гораздо более точные, но очень ошибочные с точки зрения ГИС. Тем не менее, mapserver может справиться с этим, поэтому я подумал, что все должно быть в порядке. Эти шейп-файлы, некоторые из которых вы можете найти здесь http://metro.teczno.com/#coastline , очень большие.
Я создал шейп-файл с одним полигоном с границами мира (от -180 до 180, от -90 до 90). Затем я попытался вырезать области из моего шейп-файла границ мира, где области суши находятся в другом шейп-файле. Я попробовал это с QGIS, векторные инструменты -> функция разницы. Через 12 часов при 100% загрузке процессора я его остановил. Он всегда отображал прогресс в 100%. ОЗУ не было проблемой.
Я ищу другую возможность вырезать участки земли из "многоугольника мира", предпочтительно из командной строки Linux.
Ответы:
Растры на помощь! Вы можете сделать эту операцию, преобразовав свой шейп-файл в растр, выполнив операцию 'инвертировать' и преобразовав ее обратно в вектор
источник
SAGA GIS (и многие другие, вероятно, также) имеет команду, называемую «пересечение полигонов». Создайте многоугольник, содержащий весь мир, и вычтите из него свои полигоны. Так что метод 2 или 3 в этой библиотеке.
источник
Растр может быть слишком объемным, если вам нужны подробности о береговых линиях. Тот же самый принцип, который предложен spatialthoughts, но использование Delaunay TIN может быть вариантом?
источник
эти шейп-файлы могут быть полезными. Они взяты из картографического центра ESRI и содержат довольно точные гидрологические и морские данные.
источник
У меня не было большого успеха в инвертировании шейп-файлов наземных объектов OSM из-за их сложности, однако можно было генерировать шейп-файлы как наземных, так и океанских объектов из необработанных данных OSM. http://openstreetmapdata.com/data предлагает загрузки обоих, которые я считаю чрезвычайно полезными.
источник