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

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

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

Сообщение Роза » 01 апр 2016, 16:46

Необходимо получить информацию (либо координаты, либо идентификаторы) о выделенных на карте объектах. Как это сделать? скорее всего какой-то скрипт на Python.

Аватара пользователя
Эдуард Казаков
Гуру
Сообщения: 549
Зарегистрирован: 23 апр 2014, 17:11
Репутация: 535
Откуда: Planet Earth
Контактная информация:

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

Сообщение Эдуард Казаков » 01 апр 2016, 16:54

Какова дальнейшая задача? Так-то можно обойтись таблицей атрибутов. Там есть кнопка "скопировать выделенные объекты", при вставке в какой-нибудь open office calc получите и атрибуты, и координаты.
Если слоёв много и дальше нужно что-то со всем этим делать автоматически, то тогда Python.

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

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

Сообщение Роза » 01 апр 2016, 17:10

Объекты выделяются в одном слое. Для каждого выделенного объекта надо, используя данные из таблицы атрибутов, запустить скрипт python. Или, как вариант, изменить флаг(поле) в таблице атрибутов. А уже другая программа будет отслеживать изменение флага в таблице и выполнять свои задачи. Кратко суть задачи в следующем: выделяются дома и по ip-никам, хранящимся в таблице атрибутов надо посылать запросы к серверам, расположенным по этим домам (по их ip).

Elf
Участник
Сообщения: 51
Зарегистрирован: 01 июл 2015, 17:46
Репутация: 37
Откуда: Черкассы
Контактная информация:

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

Сообщение Elf » 01 апр 2016, 23:09

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: Получение информации о выбранных объектах

Сообщение Роза » 05 апр 2016, 10:05

спасибо, попробую воспользоваться

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

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

Сообщение evgeshka » 27 июн 2016, 07:09

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

Ответить

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

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

Сейчас этот форум просматривают: Bing [Bot] и 3 гостя