EditableFeatureLayer ===================== .. currentmodule:: axioma.render .. class:: EditableFeatureLayer Поддержка редактирования векторных данных в источнике данных через интерфейс слоя От него наследуются: :class:`TableLayer` .. py:method:: updateFeatures(features, description = "") Обновление существующих записей :param features: Список записей :type features: :class:`list` [:class:`~axioma.core.dp.Feature`] :param description: Текстовое описание действия :type description: :class:`str` .. py:method:: deleteFeatures(features, description = "") Удаление существующих записей :param features: Список записей :type features: :class:`list` [:class:`~axioma.core.dp.Feature`] :param description: Текстовое описание действия :type description: :class:`str` .. py:method:: insertFeatures(features, description = "") Вставка новых записей :param features: Список записей :type features: :class:`list` [:class:`~axioma.core.dp.Feature`] :param description: Текстовое описание действия :type description: :class:`str` .. py:method:: hasModified() Проверяется, имеются ли изменения в таблице :return: True, если да. В противном случае False :rtype: :class:`bool` Пример использования: .. code-block:: python # Создаем новый объект для слоя new_feature = Feature.createFeature(layer.tableSchema()) # Заполняем данными (пример можно посмотреть в классе TransactionalTable) ... # Проверяем возможность изменения слоя и сохранения в нем информации if isinstance(layer, EditableFeatureLayer) and isinstance(layer.table(), TransactionalTable): # Вставляем layer.insertFeatures([new_feature]) # Сохраняем layer.table().commit() TableLayer ================= .. currentmodule:: axioma.render .. class:: TableLayer Класс слоя для отображения и работы с таблицей. Унаследован от: :class:`FeatureLayer`, :class:`EditableFeatureLayer` От него наследуются: :class:`CosmeticLayer` .. py:method:: TableLayer(table, parent) Конструктор :param table: Ссылка на таблицу - источник данных. :type table: :class:`~axioma.core.dp.Table` :param parent: Родительский объект. :type parent: :class:`~PyQt5.QtCore.QObject` .. py:method:: TableLayer(other) Копирующий конструктор :param other: Исходный слой, на базе которого создается слой. :type other: :class:`TableLayer` .. py:method:: table() Таблица, на которой базируется слой. :return: Ссылка на таблицу :rtype: :class:`~axioma.core.dp.Table` .. py:method:: sourceTable() Исходная таблица. :return: Ссылка на таблицу :rtype: :class:`~axioma.core.dp.Table` .. py:method:: isReadOnly() Доступен ли слой только на чтение. :return: True, если слой доступен только на чтение, False, если слой доступен на чтение и запись :rtype: :class:`bool` .. py:method:: tableSchema() Схема (структура) таблицы слоя. :return: Возвращает структуру таблицы, на которой основан слой :rtype: :class:`~axioma.core.dp.TableSchema` .. py:method:: geometryAttribute() Геометрический атрибут таблицы. :return: Возвращает описание геометрии слоя :rtype: :class:`~axioma.core.dp.GeometryAttributeDefinition` .. py:method::hidden: prepareCoordSystem(cs, outSchema, gind) .. py:method::hidden: visibleFeatures(georect, attributes) .. py:method::hidden: featuresById(ids, attributes) .. py:method:: featuresById(idlist, attributes) Возвращает записи по их идентификаторам в виде итератора :param idlist: Список идентификаторов :type idlist: :class:`list` [ :class:`~PyQt5.QtCore.QVariant` ] :param attributes: Список атрибутов, которые должны быть представлены в результирующем курсоре :type attributes: :class:`list` [ :class:`str` ] :return: Результирующий итератор :rtype: :class:`~axioma.core.dp.Cursor` .. py:method::hidden: featuresById(ids) .. py:method:: featuresById(idlist) Возвращает записи по их идентификаторам в виде итератора :param idlist: Список идентификаторов :type idlist: :class:`list` [ :class:`~PyQt5.QtCore.QVariant` ] :return: Результирующий итератор :rtype: :class:`~axioma.core.dp.Cursor` .. py:method:: featuresInRect(georect, attributes) Возвращает записи, попадающие в определенный регион в виде итератора :param georect: Область карты в координатах cs и сама КС. :type georect: :class:`~axioma.core.dp.GeoRect` :param attributes: Список атрибутов, которые должны быть представлены в результирующем курсоре :type attributes: :class:`list` [ :class:`str` ] :return: Результирующий итератор :rtype: :class:`~axioma.core.dp.Cursor` .. py:method::hidden: less(first, second) .. py:method::hidden: isExactMbrCalculation() const; .. py:method::hidden: setExactMbrCalculation(timeout = 100); .. py:method:: hasModified() Присутствуют ли изменения в базовой таблице. :return: True, если да :rtype: :class:`bool`