Пустые TAB файлы. Тип геометрии.
-
- Новоприбывший
- Сообщения: 8
- Зарегистрирован: 28 сен 2009, 13:47
- Репутация: 1
Пустые TAB файлы. Тип геометрии.
Подключаю пустые TAB файлы в QGIS. Нет возможности ввести геометрию. Можно ли через python задать тип геометрии который будет вводиться в слой, чтобы настроить стили? Файлы слоёв должны быть пустыми, т.к. это заготовка для ввода объектов подрядной организацией. И крайне желательно оставить TAB файлы, т.к. это наш родной формат. Мысль в том, чтобы подрядные организации забивали данные в QGIS, а мы без конвертации сразу бы читали их в MapInfo.
-
- Новоприбывший
- Сообщения: 8
- Зарегистрирован: 28 сен 2009, 13:47
- Репутация: 1
Re: Пустые TAB файлы. Тип геометрии.
Случайно задублировал тему. Удалите, пожалуйста, лишнюю.
-
- Новоприбывший
- Сообщения: 8
- Зарегистрирован: 28 сен 2009, 13:47
- Репутация: 1
Re: Пустые TAB файлы. Тип геометрии.
Если кому интересно, нашёл такое решение. Заготовка для проекта QGIS у меня создаётся программно на python. Алгоритм действий.
-добавляется слой из TAB файла;
-если в нём нет объектов, то добавляется объект типа, которого должен быть слой;
-удаляется добавленный объект;
-слой передобавляется (QGIS просекает, что в TAB файле есть удалённый объект определённого типа и правильно задаёт легенду)
Пока-что проверено на точечных слоях.
Поспешил с выводами. На полигонах не срабатывает.
-добавляется слой из TAB файла;
-если в нём нет объектов, то добавляется объект типа, которого должен быть слой;
-удаляется добавленный объект;
-слой передобавляется (QGIS просекает, что в TAB файле есть удалённый объект определённого типа и правильно задаёт легенду)
Пока-что проверено на точечных слоях.
Поспешил с выводами. На полигонах не срабатывает.
-
- Новоприбывший
- Сообщения: 8
- Зарегистрирован: 28 сен 2009, 13:47
- Репутация: 1
Re: Пустые TAB файлы. Тип геометрии.
Всё оказалось гораздо проще. Тип открываемой геометрии можно задавать даже для полностью пустых TAB файлов принудительно при открытии без всяких плясок в бубном. Не знаю почему мне никто ещё не посоветовал.
фрагмент кода на python:
Насколько я понимаю таким образом открытые слои не стоит делать редактируемыми одновременно.
фрагмент кода на 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)
-
- Новоприбывший
- Сообщения: 8
- Зарегистрирован: 28 сен 2009, 13:47
- Репутация: 1
Re: Пустые TAB файлы. Тип геометрии.
При открытии абсолютно пустого TAB файла через интерфейс можно также указывать необходимый тип через пришлёпку:
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей