Получение информации о выбранных объектах

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Роза
Новоприбывший
Сообщения: 3
Зарегистрирован: 01 апр 2016, 16:41
Репутация: 0

Получение информации о выбранных объектах

Сообщение Роза »

Необходимо получить информацию (либо координаты, либо идентификаторы) о выделенных на карте объектах. Как это сделать? скорее всего какой-то скрипт на Python.
Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 549
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 535
Откуда: Planet Earth
Контактная информация:

Re: Получение информации о выбранных объектах

Сообщение Эдуард Казаков »

Какова дальнейшая задача? Так-то можно обойтись таблицей атрибутов. Там есть кнопка "скопировать выделенные объекты", при вставке в какой-нибудь open office calc получите и атрибуты, и координаты.
Если слоёв много и дальше нужно что-то со всем этим делать автоматически, то тогда Python.
Роза
Новоприбывший
Сообщения: 3
Зарегистрирован: 01 апр 2016, 16:41
Репутация: 0

Re: Получение информации о выбранных объектах

Сообщение Роза »

Объекты выделяются в одном слое. Для каждого выделенного объекта надо, используя данные из таблицы атрибутов, запустить скрипт python. Или, как вариант, изменить флаг(поле) в таблице атрибутов. А уже другая программа будет отслеживать изменение флага в таблице и выполнять свои задачи. Кратко суть задачи в следующем: выделяются дома и по ip-никам, хранящимся в таблице атрибутов надо посылать запросы к серверам, расположенным по этим домам (по их ip).
Elf
Участник
Сообщения: 51
Зарегистрирован: 01 июл 2015, 17:46
Репутация: 37
Откуда: Черкассы
Контактная информация:

Re: Получение информации о выбранных объектах

Сообщение Elf »

github

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

# -*- coding: utf-8 -*-

'''
Для активного слоя создается новое поле "fieldname".
Для каждого выделенного объекта слоя в поле "fieldname"
записывается единица.
'''

from qgis.core import *
from qgis.utils import *
from PyQt4.QtCore import *

layer = iface.activeLayer()

# если нужно создать новое поле:
layer.dataProvider().addAttributes([QgsField("fieldname", QVariant.Int)])

layer.startEditing()

selection = layer.selectedFeatures()

for feature in selection:
#запись в поле 'fieldname' значения 1
feature['fieldname'] = 1
layer.updateFeature(feature)

layer.commitChanges()
Роза
Новоприбывший
Сообщения: 3
Зарегистрирован: 01 апр 2016, 16:41
Репутация: 0

Re: Получение информации о выбранных объектах

Сообщение Роза »

спасибо, попробую воспользоваться
evgeshka
Новоприбывший
Сообщения: 2
Зарегистрирован: 27 июн 2016, 07:05
Репутация: 0

Re: Получение информации о выбранных объектах

Сообщение evgeshka »

спасибо за подсказку, слой создался. но вместо точки он считает его линией(для моей конкретной задачи нужна точка) как это исправить?
Ответить

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

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

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