স্ক্রিপ্টগুলি লিখে যা আরকিপি এবং পাইকিজিআইএস উভয়কেই কল করতে পারে?


11

আমি এই বিষয়টির সুস্পষ্ট উত্তরের জন্য বেশ কিছুটা সময় ব্যয় করেছি এবং এখনও একা একা একক স্ক্রিপ্টে পাইকিজিআইআইএস অ্যাক্সেস করার আমার লক্ষ্যটি সত্যিই অর্জন করতে অক্ষম হয়েছি।

উত্তরের অংশগুলি বিভিন্ন বিভিন্ন প্রশ্ন জুড়ে সরবরাহ করা হয়েছে যেমন:

কিউজিআইএস এবং পরিবেশের ভেরিয়েবলগুলি ব্যবহার করে স্বতন্ত্র অ্যাপ্লিকেশন

pyQgis একা একা স্ক্রিপ্ট, ভেক্টর লোডিং ত্রুটি

পাইকিজিআইএস ব্যবহার করে একক পাইথন স্ক্রিপ্ট লিখছেন?

আমি যে সর্বাধিক তুরস্কের উত্তর পেয়েছি তা এখানে জিন সরবরাহ করেছেন ।

আমি বিশেষত যা সম্পর্কে আগ্রহী, সেই স্ক্রিপ্টগুলি লিখতে সক্ষম হচ্ছিল যা আরকিপি এবং পাইকিজিআইএস উভয়কেই কল করতে পারে। আমি পাইকজিআইএস কুকবুক ডকুমেন্টেশন অনুসারে PATH এবং পাইথনপথ উভয় সিস্টেম ভেরিয়েবল সেট করেছি:

 C:\OSGeo4W\apps\qgis\bin,%PATH%;C:\Python27\ArcGIS10.2\Lib\site-packages\PyQt4;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\

এবং

C:\OSGeo4W\apps\qgis\python; C:\OSGeo4W\apps\Python27\Lib\site-packages

যথাক্রমে।

আমি এই স্ক্রিপ্ট দিয়ে শুরু করছি:

from qgis.core import *

QgsApplication.setPrefixPath("C:\OSGeo4W\bin\qgis.bat", True)
QgsApplication.initQgis()
# or your solution
# read a shapefile 
layer = QgsVectorLayer('H:\DATA\Airfields_AB.shp', 'Airfields', 'ogr')
layer.isValid()
True
# loop through layer 
for elem in layer.getFeatures():
    geom= elem.geometry()
    attr =elem.attributes()
    (processing)

আমি ব্যাচ স্ক্রিপ্টগুলি এড়াতে চাইছি যা উপযুক্ত সেটিংস সেট করে, বরং পাইথন স্ক্রিপ্টের মধ্যে থেকে তাদের কল করে। আমার জন্য সর্বোত্তম দৃশ্যপটটি পূর্ববর্তী কোডটি চালানোর জন্য আর্কজিআইএস 10.2 ফোল্ডারে আইডিএল ব্যবহার করা হবে। আমি আরকিজিআইএস 10.2 এবং কিউজিআইএস 2.01 সহ একটি উইন্ডোজ 7 মেশিন ব্যবহার করছি।

বর্তমানে এই কোডের ফলাফল:

Traceback (most recent call last):
  File "F:\Users\...\PyQGIS_Test_01.py", line 1, in <module>
    from qgis.core import *
ImportError: DLL load failed: The specified module could not be found.

উত্তর:


4

আপনাকে নিশ্চিত করতে হবে যে আপনার পথের পরিবেশের পরিবর্তনশীলটিতে ফায়ারও রয়েছে যেখানে পাইথন ডলস রয়েছে। সাধারণত [QGIS_install_folder] এর অধীনে \ অ্যাপস \ কিগিস \ বিন উদাহরণস্বরূপ

C:\Program Files (x86)\QGIS Valmiera\apps\qgis\bin

এছাড়াও কটাক্ষপাত আছে Windows এ QGIS সাথে ব্যবহার (এবং এখনো arcpy ব্যবহার করুন) কনফিগার PyScripter বেশ পুরানো পোস্ট এখন, কিন্তু আপনি কি সেটআপ করা প্রয়োজন মৌলিক ধারণা দিতে হবে


3

আমি সফলভাবে OSGeo4W ব্যবহার করছি। আপনার যা করতে হবে তা সেট করা আছে:

PATH=C:\OSGeo4W\apps\qgis\bin;%PATH%

এবং কোডে রেফারেন্স:

QgsApplication.setPrefixPath("C:\OSGeo4W\apps\qgis", True)

এটি আমার পক্ষে মোটেও কার্যকর হয় না।
এসআইস্লাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.