Существует ли гибкий способ обрезки растра многоугольником, либо считанным из шейп-файла, либо созданным с помощью набора точек вершин? - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь обрезать растр (файл ascii или tif) полигонами в python.Полигоны могут быть прочитаны из шейп-файла или созданы набором точек вершин, таких как POLYGON((0 0, 1 0, 1 1 , 0 1, 0 0)).

. Я знаю, как использовать gdal.Warp для обрезки растра с аргументом cutlineDSName, который представляет шейп-файлname.

Но что, если я хочу использовать простой многоугольник, определенный набором точек, для вырезания растров?

1 Ответ

1 голос
/ 16 мая 2019

Одним из решений было бы преобразование вашего многоугольника POLYGON((0 0, 1 0, 1 1 , 0 1, 0 0)) в геойсон:

{"type":"Polygon","coordinates":[[[0,0],[1,0],[1,1],[0,1],[0,0]]]}.

Вы можете использовать онлайн-конвертер, например http://kostas.krevatas.net/wkt-convertor/

Затем установите cutlineDSName на полигон в виде файла геоджона, например polygon.json

... поскольку geojson является допустимым форматом ввода так же, как и шейп-файл.

...