Пустые TAB файлы. Тип геометрии.

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
andrutornado
Новоприбывший
Сообщения: 8
Зарегистрирован: 28 сен 2009, 13:47
Репутация: 1

Пустые TAB файлы. Тип геометрии.

Сообщение andrutornado » 15 окт 2018, 14:50

Подключаю пустые TAB файлы в QGIS. Нет возможности ввести геометрию. Можно ли через python задать тип геометрии который будет вводиться в слой, чтобы настроить стили? Файлы слоёв должны быть пустыми, т.к. это заготовка для ввода объектов подрядной организацией. И крайне желательно оставить TAB файлы, т.к. это наш родной формат. Мысль в том, чтобы подрядные организации забивали данные в QGIS, а мы без конвертации сразу бы читали их в MapInfo.

andrutornado
Новоприбывший
Сообщения: 8
Зарегистрирован: 28 сен 2009, 13:47
Репутация: 1

Re: Пустые TAB файлы. Тип геометрии.

Сообщение andrutornado » 15 окт 2018, 15:37

Случайно задублировал тему. Удалите, пожалуйста, лишнюю.

andrutornado
Новоприбывший
Сообщения: 8
Зарегистрирован: 28 сен 2009, 13:47
Репутация: 1

Re: Пустые TAB файлы. Тип геометрии.

Сообщение andrutornado » 22 окт 2018, 11:59

Если кому интересно, нашёл такое решение. Заготовка для проекта QGIS у меня создаётся программно на python. Алгоритм действий.
-добавляется слой из TAB файла;
-если в нём нет объектов, то добавляется объект типа, которого должен быть слой;
-удаляется добавленный объект;
-слой передобавляется (QGIS просекает, что в TAB файле есть удалённый объект определённого типа и правильно задаёт легенду)

Пока-что проверено на точечных слоях.

Поспешил с выводами. На полигонах не срабатывает.

andrutornado
Новоприбывший
Сообщения: 8
Зарегистрирован: 28 сен 2009, 13:47
Репутация: 1

Re: Пустые TAB файлы. Тип геометрии.

Сообщение andrutornado » 25 окт 2018, 11:22

Всё оказалось гораздо проще. Тип открываемой геометрии можно задавать даже для полностью пустых TAB файлов принудительно при открытии без всяких плясок в бубном. Не знаю почему мне никто ещё не посоветовал.

фрагмент кода на python:

Код: Выделить всё

    miToQUriGeomTypesDic={
        'miFeatureTypeSymbol':'geometrytype=Point',
        'miFeatureTypeLine':'geometrytype=LineString',
        'miFeatureTypeRegion':'geometrytype=Polygon'
        }
    #допустим в слое TAB такие типы элементов
    elTypes=[ 'miFeatureTypeSymbol','miFeatureTypeLine','miFeatureTypeRegion']
    #тогда можно открыть один и тот-же TAB файл открыть в нескольких слоях с разным типом геометрии
    for el in elTypes:
        vlayer = QgsVectorLayer(layerPath+'|'+miToQUriGeomTypesDic[el],layerName, "ogr")
        QgsMapLayerRegistry.instance().addMapLayer(vlayer)
Насколько я понимаю таким образом открытые слои не стоит делать редактируемыми одновременно.

andrutornado
Новоприбывший
Сообщения: 8
Зарегистрирован: 28 сен 2009, 13:47
Репутация: 1

Re: Пустые TAB файлы. Тип геометрии.

Сообщение andrutornado » 25 окт 2018, 11:45

При открытии абсолютно пустого TAB файла через интерфейс можно также указывать необходимый тип через пришлёпку:
strict_type.png
задание нужного типа геометрии для TAB файла
strict_type.png (29.67 КБ) 3828 просмотров

Ответить

Вернуться в «QGIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей