Узнать границы (Xmin, Ymin; Xmax, Ymax) выделенных объектов
-
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 21 июл 2012, 11:36
- Репутация: 1
Узнать границы (Xmin, Ymin; Xmax, Ymax) выделенных объектов
Есть ли способ, не прибегая к инструменту "Полигон из границ слоя"? Тем более что в этом инструменте, похоже, не работает галочка "Только выделенные объекты". Да и сохранять множество полигонов только ради того, чтобы узнать эти границы, не рационально.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Узнать границы (Xmin, Ymin; Xmax, Ymax) выделенных объек
В консоли Python
подразумевается, что выбран 1 объект, разобрать в удобную форму предоставлю вам самому.
Код: Выделить всё
lyr = qgis.utils.iface.activeLayer()
feat = lyr.selectedFeatures()[0]
geom = feat.geometry()
rect = geom.boundingBox().asPolygon()
пристегивайтесь, турбулентность прямо по курсу
-
- Интересующийся
- Сообщения: 30
- Зарегистрирован: 21 июл 2012, 11:36
- Репутация: 1
Re: Узнать границы (Xmin, Ymin; Xmax, Ymax) выделенных объек
Хм… В Python я не силён, мягко говоря.
- Denis Rykov
- Гуру
- Сообщения: 3376
- Зарегистрирован: 11 апр 2008, 21:09
- Репутация: 529
- Ваше звание: Author
- Контактная информация:
Re: Узнать границы (Xmin, Ymin; Xmax, Ymax) выделенных объек
Я особо тоже не знаток QGIS API, но как вариант. Запускаем консоль Python и вводим следующий код:
Выделяем интересующие объекты и там же в консоли выполняем команду:
Что-то осталось непонятным?
Код: Выделить всё
def union(g_list):
geometry = g_list[0]
for g in g_list[1:]:
geometry = geometry.combine(g)
return geometry
def bbox():
layer = qgis.utils.iface.activeLayer()
selected_features = layer.selectedFeatures()
geometries = [f.geometry() for f in selected_features]
return union(geometries).boundingBox()
Выделяем интересующие объекты и там же в консоли выполняем команду:
Код: Выделить всё
>>>bbox().toString()
PyQt4.QtCore.QString(u'47.3086838569735875,51.6693825914016145 : 48.4205696107324357,52.2123846679623114')
Что-то осталось непонятным?
Spatial is now, more than ever, just another column- The Geometry Column.
- Максим Дубинин
- MindingMyOwnBusiness
- Сообщения: 9129
- Зарегистрирован: 06 окт 2003, 20:20
- Репутация: 748
- Ваше звание: NextGIS
- Откуда: Москва
- Контактная информация:
Re: Узнать границы (Xmin, Ymin; Xmax, Ymax) выделенных объек
Денис, а зачем? Я же привел код - он работает и короче в два раза.
Все равно человек решил что вникнуть в 4 строчки для него проблема, стоит ли ему 10 предлагать?
PS: пардон, в разницу вник)
Все равно человек решил что вникнуть в 4 строчки для него проблема, стоит ли ему 10 предлагать?
PS: пардон, в разницу вник)
пристегивайтесь, турбулентность прямо по курсу
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей