Получение информации о выбранных объектах
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 01 апр 2016, 16:41
- Репутация: 0
Получение информации о выбранных объектах
Необходимо получить информацию (либо координаты, либо идентификаторы) о выделенных на карте объектах. Как это сделать? скорее всего какой-то скрипт на Python.
- Эдуард Казаков
- Гуру
- Сообщения: 549
- Зарегистрирован: 23 апр 2014, 17:11
- Репутация: 535
- Откуда: Planet Earth
- Контактная информация:
Re: Получение информации о выбранных объектах
Какова дальнейшая задача? Так-то можно обойтись таблицей атрибутов. Там есть кнопка "скопировать выделенные объекты", при вставке в какой-нибудь open office calc получите и атрибуты, и координаты.
Если слоёв много и дальше нужно что-то со всем этим делать автоматически, то тогда Python.
Если слоёв много и дальше нужно что-то со всем этим делать автоматически, то тогда Python.
-
- Новоприбывший
- Сообщения: 3
- Зарегистрирован: 01 апр 2016, 16:41
- Репутация: 0
Re: Получение информации о выбранных объектах
Объекты выделяются в одном слое. Для каждого выделенного объекта надо, используя данные из таблицы атрибутов, запустить скрипт python. Или, как вариант, изменить флаг(поле) в таблице атрибутов. А уже другая программа будет отслеживать изменение флага в таблице и выполнять свои задачи. Кратко суть задачи в следующем: выделяются дома и по ip-никам, хранящимся в таблице атрибутов надо посылать запросы к серверам, расположенным по этим домам (по их ip).
-
- Участник
- Сообщения: 51
- Зарегистрирован: 01 июл 2015, 17:46
- Репутация: 37
- Откуда: Черкассы
- Контактная информация:
Re: Получение информации о выбранных объектах
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: Получение информации о выбранных объектах
спасибо, попробую воспользоваться
-
- Новоприбывший
- Сообщения: 2
- Зарегистрирован: 27 июн 2016, 07:05
- Репутация: 0
Re: Получение информации о выбранных объектах
спасибо за подсказку, слой создался. но вместо точки он считает его линией(для моей конкретной задачи нужна точка) как это исправить?
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и 3 гостя