GIS Cookie Cutting Library / Алгоритмы? - PullRequest
       0

GIS Cookie Cutting Library / Алгоритмы?

0 голосов
/ 26 августа 2011

Существует ли библиотека ГИС с открытым исходным кодом, которая обеспечивает обрезку файлов cookie? У меня есть серия полигонов, которые должны быть резчиками печенья, а затем у меня есть ряд геометрий, которые я хочу разделить в зависимости от их расположения в полигонах для резки печенья.

Если библиотеки нет, то есть ли достаточно простой алгоритм для вырезания полигонов? Точки просты, используя OGR, например, вы можете просто пройти по всем полигонам, вызывая Contains () для каждой точки. Строки сложнее, но кажется довольно простым, используя Intersection () и создавая новые строки с этим.

Мне кажется, что полигоны используют те же базовые понятия, но больше работы. Я надеялся, что кто-то уже сделал это и обнародовал. Есть мысли?

Большое спасибо заранее.

1 Ответ

0 голосов
/ 27 августа 2011

Nevermind, функция OGR Intersection () возвращает линии / многоугольники, если это пересечение.

Так что, если poly1 = [(0,0), (1,0), (1,1) (0,1)] и poly2 = [(0,5,0), (1,5,0), (1,5,1), (0,5,1)]

, затем poly1.Intersection (poly2) возвращает [(1,0), (0.5,0), (0.5,1), (1,1)]

Таким образом, алгоритм на Python будет выглядеть так:

new_geometries = []
For cutting_poly in cookie_cutter_polygons:
    For g in all_geometries:
        new_geometries.append(cutting_poly.Intersection(g))

Надеюсь, что кому-то поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...