GeometryCollection - Коллекция геометрий¶
-
class
axipy.da.
GeometryCollection
(cs=None)¶ Базовые классы:
axipy.da.Geometry
Коллекция разнотипных геометрических объектов. Допустимо хранение геометрических объектов различного типа, за исключением коллекций. Доступ к элементам производится по аналогии работы со списком
list
.- Параметры
cs (
Optional
[CoordSystem
]) – Система Координат, в которой создается геометрия.
Для получения размера коллекции используйте функцию len:
cnt = len(coll)
Доступ к элементам производится по индексу. Нумерация начинается с 0.
В качестве примера получим первый элемент:
coll[1]
Обновление геометрии в коллекции так же производится по ее индексу. Так же допустимо изменение некоторых свойств геометрии в зависимости от ее типа.
# Примеры установки элемента с индексом 1 coll[1] = (2,2) # Как точки с координатами (2,2) coll[1] = [(101, 102), (103, 104), (105, 106)] # Как полилинии coll[1] = Polygon((101, 102), (103, 104), (105, 106)) # Как полигона # Доступ к элементам коллекции:: for g in coll: print('Геометрия:', g)
-
append
(*value)¶ Добавление геометрии в коллекцию. Задание параметров аналогично указанию их при создании объектов конкретного типа. Если опустить указание класса, то для одной точки или пары значений float будет создан точечный объект
Point
, если точек больше, - объект классаLineString
.# Создадим коллекцию и добавим в нее несколько объектов различного типа. coll = GeometryCollection() coll.append((1,2)) # Точка coll.append(1,2) # Точка coll.append([(3,4), (5, 5), (10, 0)]) # Полилиния в виде :class:`list`. Можно это сделать через конструктор :class:`LinearString`. coll.append((3,4), (5, 5), (10, 0)) # Полилиния coll.append(Polygon([(3,4), (5, 5), (10, 0)])) # Полигон