ArcPy का उपयोग करके WKT को ज्यामिति परिवर्तित करना?


13

मैं Python और ArcPy (कोई गैर- ArcPD मॉड्यूल) का उपयोग कर एक जियोप्रोसेसिंग ऑपरेशन के दौरान एक ज्ञात सुविधा को आर्कगिस लेयर में वेल नॉन टेक्स्ट (WKT) फॉर्मेट में सिंगल फीचर (या संभावित रूप से कई फीचर्स) में परिवर्तित करने में सक्षम होना चाहूंगा। इसका उद्देश्य तब SQL सर्वर स्थानिक पर WKT को पास करना और आर्कगिस जीपी टूलसेट के बाहर अतिरिक्त प्रसंस्करण करना है। क्या आर्कजी के माध्यम से डब्ल्यूकेटी को एक आर्किजिस ज्यामिति सुविधाओं को परिवर्तित करने की एक विधि है?

मैंने पहले ही निम्नलिखित को पढ़ लिया है, बिना यह जाने कि मैं क्या हूँ:

जाहिरा तौर पर " राइट फीचर्स टू टेक्स्ट फाइल " (जो पायथन लिपि प्रतीत होती है) नामक एक उपकरण हुआ करता था, जो कि सैम्पल टूलबॉक्स में था, लेकिन उस टूलबॉक्स को संस्करण 10 में पदावनत कर दिया गया था और मुझे सैम्पल टूलबॉक्स की प्रति नहीं मिल सकती है ( मेरी मशीन पर v10.0 है)। अगर कोई करंट सॉल्यूशन नहीं है, अगर कोई मुझे सिर्फ सैंपल की कॉपी की ओर इशारा कर सकता है, तो मैं उस टूल का इस्तेमाल करके पूरी तरह से ठीक हो जाऊंगा।

जवाबों:


25

एक da.searchcursor को आपके लिए काम करना चाहिए।

for row in arcpy.da.SearchCursor("path2data", ["SHAPE@WKT"]):
  print row[0]

सूत्री Z (-119.53753379999995 49.854383300000052 303.14500000000407)

doc here: http://resources.arcgis.com/en/help/main/10.1/index.html#//002z0000001t000000

नोट : SHAPE @ JSON, SHAPE @ WKB, और SHAPE @ WKT टोकन आर्किस 10.1 सर्विस पैक 1 पर उपलब्ध कराए गए थे।

या, यदि आप नमूने टूलबॉक्स के बाद हैं जैसे आपने उल्लेख किया है - इसके वहां, बस पदावनत। आप अभी भी स्क्रिप्ट के साथ इसमें कॉल कर सकते हैं। यदि आपको वास्तविक टूलबॉक्स की आवश्यकता है, तो आप इसका उपयोग पुराने मॉडल और स्क्रिप्ट गैलरी पर कर सकते हैं

EDIT (अतिरिक्त उदाहरण) ... क्योंकि आपने इतनी अच्छी तरह से पूछा: :)

for row in arcpy.da.SearchCursor("GPX_Layer", ["SHAPE@WKT"],where_clause="TYPE = 'a'"):
    print row[0]

यह क्वेरी / अभिव्यक्ति के प्रकार "विशेषताओं द्वारा चयन" के समान ही है। मेरे पास "TYPE" नामक एक फ़ील्ड है और एक मान 'a' है।


+1 उदाहरण के लिए --- यह एक दूसरे के लिए बहुत अधिक पूछ रहा होगा कि यह कैसे दिखाया where_clauseजाएगा? :)
22

हालांकि, दुर्भाग्य से मेरे पास 10.1 तक पहुंच नहीं है, फिर भी मैं अंततः पायथन स्क्रिप्ट को अपडेट करने में सक्षम था जिसे आपने लिंक किया था। धन्यवाद!
रयानKalton

+1 "POINT Z" के लिए ऐसा लगता है कि "POINT" आर्कपी में 3D का समर्थन नहीं करता है।
जियोगेक्ट

5

मैं इसकी पुष्टि करने के लिए सुसज्जित नहीं हूं, लेकिन यह पृष्ठ दस्तावेज़ीकरण SearchCursor (arcpy.da), field_namesपैरामीटर पर चर्चा करते हुए , निम्नलिखित नोट करता है:

आर्कगिस से 10.1 सहायता - खोजकर्ता (arcpy.da)

फ़ील्ड नामों के स्थान पर टोकन (जैसे OID @) का उपयोग करके अतिरिक्त जानकारी प्राप्त की जा सकती है:

शेप @ डब्ल्यूकेटी -ओजीसी ज्यामिति के लिए प्रसिद्ध पाठ (डब्ल्यूकेटी) प्रतिनिधित्व। यह एक टेक्स्ट स्ट्रिंग के रूप में एक ज्यामिति मान का एक पोर्टेबल प्रतिनिधित्व प्रदान करता है

नोट: SHAPE @ JSON, SHAPE @ WKB, और SHAPE @ WKT टोकन आर्कगिस 10.1 सर्विस पैक 1 पर उपलब्ध कराए गए थे ।

तुम क्या सोचते हो?


1
+1 यह भी, मुझे लगता है कि @RyanDalton यहां टेक्स्ट फाइल में फीचर्स लिखने में सक्षम हो सकता है
PolyGeo

4

इस मामले में इसे जोड़ने से किसी के लिए यह उपयोगी है ...

# Convert to WKT by field name (Shape)
file_path = 'C:\shapefile.shp'
query= arcpy.SearchCursor(file_path)
for row in query:
  the_geom=row.getValue('Shape') # Get Geometry field
  wkt = the_geom.WKT # Convert to WKT, can also use WKB, JSON etc

3

लिखें विशेषताएं पाठ फ़ाइल के लिए उपकरण पाया जा सकता है यहाँ

यहाँ एक संबंधित आर्कगिस आइडिया है जिसने आकर्षित किया है, मेरी राय में, बहुत कम वोट।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.