Страница 1 из 1
Получение информации о выбранных объектах
Добавлено: 01 апр 2016, 16:46
Роза
Необходимо получить информацию (либо координаты, либо идентификаторы) о выделенных на карте объектах. Как это сделать? скорее всего какой-то скрипт на Python.
Re: Получение информации о выбранных объектах
Добавлено: 01 апр 2016, 16:54
Эдуард Казаков
Какова дальнейшая задача? Так-то можно обойтись таблицей атрибутов. Там есть кнопка "скопировать выделенные объекты", при вставке в какой-нибудь open office calc получите и атрибуты, и координаты.
Если слоёв много и дальше нужно что-то со всем этим делать автоматически, то тогда Python.
Re: Получение информации о выбранных объектах
Добавлено: 01 апр 2016, 17:10
Роза
Объекты выделяются в одном слое. Для каждого выделенного объекта надо, используя данные из таблицы атрибутов, запустить скрипт python. Или, как вариант, изменить флаг(поле) в таблице атрибутов. А уже другая программа будет отслеживать изменение флага в таблице и выполнять свои задачи. Кратко суть задачи в следующем: выделяются дома и по ip-никам, хранящимся в таблице атрибутов надо посылать запросы к серверам, расположенным по этим домам (по их ip).
Re: Получение информации о выбранных объектах
Добавлено: 01 апр 2016, 23:09
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()
Re: Получение информации о выбранных объектах
Добавлено: 05 апр 2016, 10:05
Роза
спасибо, попробую воспользоваться
Re: Получение информации о выбранных объектах
Добавлено: 27 июн 2016, 07:09
evgeshka
спасибо за подсказку, слой создался. но вместо точки он считает его линией(для моей конкретной задачи нужна точка) как это исправить?