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

Конструктор класса:

__init__([properties, geometry, style, id])

Создает экземпляр класса.

Свойства:

geometry

Геометрия записи.

id

Идентификатор записи в таблице.

style

Стиль записи.

Методы:

get(key[, default])

Возвращает значение заданного атрибута.

has_geometry()

Проверяет, имеет ли запись атрибут с геометрией.

has_style()

Проверяет, имеет ли запись атрибут со стилем.

items()

Возвращает список пар имя - значение.

keys()

Возвращает список имен атрибутов.

to_geojson()

Представляет запись в виде, похожем на 'GeoJSON'.

values()

Возвращает список значений атрибутов.

__init__(properties: dict = dict(), geometry: Optional[Geometry] = None, style: Optional[Style] = None, id: Optional[int] = None, **kwargs)

Создает экземпляр класса.

property geometry: Optional[Geometry]

Геометрия записи.

См.также

Feature.has_geometry(), GEOMETRY_ATTR

Результат:

Значение геометрического атрибута; или None, если значение пустое или отсутствует.

get(key: str, default: Optional[Any] = None)

Возвращает значение заданного атрибута.

Параметры:
  • key – Имя атрибута.

  • default – Значение по умолчанию.

Результат:

Искомое значение, или значение по умолчанию, если заданный атрибут отсутствует.

has_geometry() bool

Проверяет, имеет ли запись атрибут с геометрией.

has_style() bool

Проверяет, имеет ли запись атрибут со стилем.

property id: int

Идентификатор записи в таблице.

Несохраненные записи в таблице будут иметь отрицательное значение.

Результат:

0 если идентификатор не задан.

items() List[tuple]

Возвращает список пар имя - значение.

keys() List[str]

Возвращает список имен атрибутов.

property style: Optional[Style]

Стиль записи.

См.также

Feature.has_style(), STYLE_ATTR

Результат:

Значение атрибута со стилем; или None, если значение пустое или отсутствует.

to_geojson() dict

Представляет запись в виде, похожем на „GeoJSON“.

values() List

Возвращает список значений атрибутов.