Feature - Запись в таблице
- class axipy.Feature
Запись в таблице.
Работа с записью похожа на работу со словарем
dict
. Но также допускает обращение по индексу.Примеры.feature = Feature({'attr_name': 'value'}, geometry=Point(10, 10), style=PointStyle.create_mi_compat(35, 0)) # Количество атрибутов count = len(feature) # Запись значения по ключу feature['attr_name'] = 'new_value' # Запись значения по индексу feature[0] = 'another_value' # Чтение значения по ключу value = feature['attr_name'] # Чтение значения по индексу another_value = feature[0] # Проверка наличия атрибута по ключу 'attr_name' in feature # Проверка наличия атрибута по индексу 5 in feature # Значения атрибутов можно задать словарем или именованными аргументами: feature2 = Feature({'name1': 'value1', 'name2': 'value2'}) # Это эквивалентно feature2 = Feature(name1='value1', name2='value2') # Получение стиля оформления для геометрии style = feature.style # Установка нового стиля для геометрии feature.style = style # Получение геометрии point = feature.geometry # Установка нового значения для геометрии feature.geometry = Point(20, 20) # Просмотр всех наименований и значений атрибутов for key, value in feature.items(): print('{} = {}'.format(key, value)) ''' >>> attr_name = value >>> +geometry = Point pos=(10.0 10.0) >>> +style = PointStyle Symbol (35, 0, 8) '''
- Параметры:
properties – Значения атрибутов.
geometry – Геометрия.
style – Стиль.
id – Идентификатор.
**kwargs – Значения атрибутов.
Примечание
Для доступа к геометрическому атрибуту и стилю по наименованию можно использовать предопределенные идентификаторы +geometry и +style соответственно:
GEOMETRY_ATTR=+geometry
STYLE_ATTR=+style
Свойства:
Геометрия записи.
Идентификатор записи в таблице.
Стиль записи.
Методы:
get
(key[, default])Возвращает значение заданного атрибута.
Проверяет, имеет ли запись атрибут с геометрией.
Проверяет, имеет ли запись атрибут со стилем.
items
()Возвращает список пар имя - значение.
keys
()Возвращает список имен атрибутов.
Представляет запись в виде, похожем на 'GeoJSON'.
values
()Возвращает список значений атрибутов.
Специальные методы:
__contains__
(key)Проверяет наличие атрибута у записи.
__eq__
(other)Оператор равенства (==).
__getitem__
(index)Возвращает значение атрибута по индексу или ключу.
__len__
()Возвращает количество атрибутов в записи.
__setitem__
(index, value)Присваивает атрибуту значение по индексу или ключу.
- __contains__(key: Union[int, str])
Проверяет наличие атрибута у записи.
- Параметры:
key – Имя или номер атрибута.
- __getitem__(index: Union[int, str]) Any
Возвращает значение атрибута по индексу или ключу.
- Параметры:
index – Индекс атрибута или его имя.
- __setitem__(index: Union[int, str], value: Any)
Присваивает атрибуту значение по индексу или ключу.
- Параметры:
index – индекс атрибута или его имя.
value – Присваиваемое значение.
- property geometry: Optional[Geometry]
Геометрия записи.
См.также
Feature.has_geometry()
,GEOMETRY_ATTR
- Результат:
Значение геометрического атрибута; или None, если значение пустое или отсутствует.
- get(key: str, default: Optional[Any] = None)
Возвращает значение заданного атрибута.
- Параметры:
key – Имя атрибута.
default – Значение по умолчанию.
- Результат:
Искомое значение, или значение по умолчанию, если заданный атрибут отсутствует.
- property id: int
Идентификатор записи в таблице.
Несохраненные записи в таблице будут иметь отрицательное значение.
См.также
- Результат:
0 если идентификатор не задан.
- property style: Optional[Style]
Стиль записи.
См.также
Feature.has_style()
,STYLE_ATTR
- Результат:
Значение атрибута со стилем; или None, если значение пустое или отсутствует.