मैं QGIS में सरल अजगर लिपियों को करने के लिए कुछ उदाहरणों की तलाश कर रहा हूं। मैं डेटासेट पर बफर विश्लेषण कैसे करूंगा?
मैं मैनुअल और क्यूजीआईएस अजगर में बहुत कुछ ढूंढ नहीं पा रहा हूं जो एस्री प्रलेखन से काफी मेल खाता है।
मैं QGIS में सरल अजगर लिपियों को करने के लिए कुछ उदाहरणों की तलाश कर रहा हूं। मैं डेटासेट पर बफर विश्लेषण कैसे करूंगा?
मैं मैनुअल और क्यूजीआईएस अजगर में बहुत कुछ ढूंढ नहीं पा रहा हूं जो एस्री प्रलेखन से काफी मेल खाता है।
जवाबों:
PyQGIS कुकबुक पर एक नजर है ।
एक वेक्टर परत पर पुनरावृति कैसे करें, इस पर उदाहरण का अनुसरण करें। ज्यामिति तक पहुंचकर, आप बफर () विधि को लागू कर सकते हैं। QGIS API भी देखें: http://www.qgis.org/api/classQgsGeometry.html#a98208752e1beb1a5d3a7eedffbfdb2e4
आपके पास PyQGIS कंसोल द्वारा प्राप्त करने के विभिन्न तरीके हैं:
from qgis.utils import iface
from qgis.analysis import QgsGeometryAnalyzer
mc = iface.mapCanvas()
layer = mc.currentLayer()
QgsGeometryAnalyzer().buffer(layer, "path_to/output.shp", 500, False, False, -1)
from sextante.core.Sextante import Sextante
Sextante.runalg("ftools:fixeddistancebuffer","input_path.shp", False, 500, 5, True, "output_path_buffer.shp")
Sextante.alghelp("ftools:fixeddistancebuffer")
PyQGIS कंसोल में sextante पैरामीटर टाइप करने के लिए ।
उम्मीद है की यह मदद करेगा !
यदि आप मूल कोड चाहते हैं, तो आप कोशिश कर सकते हैं:
#Don't forget to Toggle Editing
lyr = qgis.utils.iface.activeLayer()
provider = lyr.dataProvider()
feat= QgsFeature()
alls = provider.attributeIndexes()
provider.select(alls)
while provider.nextFeature(feat):
buff = feat.geometry().buffer(5,2)
lyr.dataProvider().changeGeometryValues({feat.id(): buff})
आखिरी जवाब में जोड़ने के लिए बस एक छोटी सी बात।
किसी दिए गए विषय के बारे में SEXTANTE एल्गोरिथ्म की खोज करने के लिए, Sextante.alglist () का उपयोग करें। उदाहरण के लिए, "बफर" वाली किसी चीज़ को खोजने के मामले में, आप ऐसा करेंगे
>>> from sextante.core.Sextante import Sextante
>>> Sextante.alglist("buffer")
और आपको मिलेगा:
Grid Buffer------------------------------------------>saga:gridbuffer
Grid Proximity Buffer-------------------------------->saga:gridproximitybuffer
Shapes Buffer---------------------------------------->saga:shapesbuffer
Threshold Buffer------------------------------------->saga:thresholdbuffer
Fixed distance buffer-------------------------------->ftools:fixeddistancebuffer
Variable distance buffer----------------------------->ftools:variabledistancebuffer
r.buffer - Creates a raster map layer showing buffer zones surrounding cells that contain non-NULL category values.--->grass:r.buffer
v.buffer.angle--------------------------------------->grass:v.buffer.angl
v.buffer.column - Creates a buffer around features of given type.--->grass:v.buffer.column
v.buffer.distance - Creates a buffer around features of given type.--->grass:v.buffer.distance
v.buffer.minordistance------------------------------->grass:v.buffer.minordistance
इस तरह, आप कॉल करने के लिए एल्गोरिथ्म का नाम पा सकते हैं (ftools: फिक्स्डस्टांसबफ़र, ऊपर दिए गए उत्तर में प्रस्तावित उदाहरण में)
आप अपनी स्क्रिप्ट को SEXTANTE में एक नए एल्गोरिथ्म में बदल सकते हैं। SEXTANTE प्रलेखन में उसके बारे में विस्तृत जानकारी है।