আমি কিউজিআইএসে সাধারণ পাইথন স্ক্রিপ্টগুলি করার জন্য কয়েকটি উদাহরণ সন্ধান করছি। আমি কীভাবে একটি ডেটাসেটে বাফার বিশ্লেষণ করব?
আমি ম্যানুয়াল এবং কিউজিআইএস পাইথনটিতে খুব বেশি সন্ধান করতে পারি না যা এসরি ডকুমেন্টেশনের সাথে বেশ মেলে।
আমি কিউজিআইএসে সাধারণ পাইথন স্ক্রিপ্টগুলি করার জন্য কয়েকটি উদাহরণ সন্ধান করছি। আমি কীভাবে একটি ডেটাসেটে বাফার বিশ্লেষণ করব?
আমি ম্যানুয়াল এবং কিউজিআইএস পাইথনটিতে খুব বেশি সন্ধান করতে পারি না যা এসরি ডকুমেন্টেশনের সাথে বেশ মেলে।
উত্তর:
কটাক্ষপাত আছে PyQGIS Cookbook ।
কোনও ভেক্টর স্তরটি দিয়ে কীভাবে পুনরাবৃত্তি করা যায় তার উদাহরণ অনুসরণ করুন। জ্যামিতি অ্যাক্সেস করে আপনি বাফার () পদ্ধতি প্রয়োগ করতে পারেন। কিউআইজিআইএস এপিআইও দেখুন: http://www.qgis.org/api/classQgsGeometry.html#a98208752e1beb1a5d3a7eedffbfdb2e4
পাইকিজিআইজি কনসোল দ্বারা যা চান তা পেতে আপনার কাছে বিভিন্ন উপায় রয়েছে:
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 প্যারামিটারগুলি পেতে Sextante.alghelp("ftools:fixeddistancebuffer")
পাইকিউজিআইএস কনসোলে টাইপ করুন ।
আশাকরি এটা সাহায্য করবে !
আপনি যদি বেসিক কোড চান, আপনি চেষ্টা করতে পারেন:
#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
এইভাবে, আপনি কল করার জন্য অ্যালগরিদমের নামটি খুঁজে পেতে পারেন (ফলস: ফিক্সডেস্টেন্সফুফার, উপরের উত্তরে প্রস্তাবিত উদাহরণে)
আপনি আপনার স্ক্রিপ্টটি SEXTANTE তে একটি নতুন অ্যালগরিদমে পরিণত করতে পারেন। SEXTANTE ডকুমেন্টেশনে সে সম্পর্কে বিস্তারিত তথ্য রয়েছে।