คำถามติดแท็ก arcpy

แพคเกจไซต์ที่สร้างโดย Esri เพื่อแสดงตำแหน่งทางภูมิศาสตร์ของ ArcGIS Desktop (ArcMap และ ArcGIS Pro) การประมวลผลการทำแผนที่การทำแผนที่และ Python


2
รับรายการคุณสมบัติที่เลือกใน ArcGIS สำหรับเดสก์ท็อปโดยใช้รหัส Python หรือไม่
ฉันมีคำถามเกี่ยวกับการเลือกใน ArcGIS for Desktop สมมติว่าฉันมีหนึ่งเลเยอร์ใน ArcMap และฉันได้เลือกคุณสมบัติสองในห้า เป็นไปได้ไหมที่จะรับรายการคุณสมบัติที่เลือกทั้งหมดโดยใช้ Python มันจะดีถ้ามีวิธีที่จะได้รับหนึ่ง (หรือทั้งหมด) คุณลักษณะพิเศษของคุณสมบัติที่เลือกที่เก็บไว้ในรายการที่สามารถเขียนลงในไฟล์ txt เป็นไปได้ไหมที่จะทำเช่นนี้ใน ArcGIS for Desktop?
20 arcpy  select 

3
การค้นหามุมระหว่างคุณลักษณะการตัดกันในสองคุณลักษณะชั้นเรียนโดยใช้ ArcGIS Desktop และ Python หรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับระบบแลกเปลี่ยนข้อมูลทางภูมิศาสตร์ของกองซ้อน ปิด เมื่อปีที่แล้ว ฉันมีสองคุณลักษณะตัดกันบรรทัด ฉันต้องการค้นหามุมที่จุดตัดของแต่ละจุดโดยใช้ ArcGIS 10 และ Python ใครช่วยได้บ้าง


7
การเติมโค้ด / สคริปต์การเติมอัตโนมัติ ArcPy โดยใช้ Notepad ++ (โปรแกรมแก้ไขภายนอก)?
ฉันได้เขียนสคริปต์ใน Python สำหรับ ArcGIS 10 และจนถึงตอนนี้ฉันเพิ่งใช้ Notepad ++ ฉันชอบวิธีที่ส่วนต่อประสานบรรทัดคำสั่งของ Python ทำให้การทำงาน arcpy ของคุณสมบูรณ์แสดงให้คุณเห็นทางเลือกของคุณและฉันก็สงสัยว่ามีวิธีเพิ่มฟีเจอร์นี้ในเครื่องมือแก้ไขภายนอกหรือไม่

7
การแสดงคลาสคุณลักษณะด้วยโดเมนที่ใช้งานอยู่?
ฉันมีฐานข้อมูลไฟล์ Esri ที่มีโดเมนแอตทริบิวต์กำหนดไว้ ฉันต้องลบโดเมนแอตทริบิวต์บางส่วน แต่ไม่สามารถเพราะ"โดเมนถูกใช้โดยกฎแอตทริบิวต์" . ฉันจะค้นพบว่าฟีเจอร์คลาสใดที่ใช้โดเมนอยู่ Executing: DeleteDomain R:\v5\YT_Canvec.gdb Permanency Start Time: Thu May 19 11:01:02 2011 ERROR 999999: Error executing function. The domain is used by an attribute rule. Failed to execute (DeleteDomain). Failed at Thu May 19 11:01:02 2011 (Elapsed Time: 0.00 seconds) มีคลาสฟีเจอร์มากกว่าหนึ่งร้อยคลาสในฐานข้อมูลภูมิศาสตร์การค้นหาคุณสมบัติฟิลด์ FC สำหรับแต่ละรายการนั้นไม่ใช่การเริ่มต้น gdb …

2
ประสิทธิภาพของเคอร์เซอร์การเข้าถึงข้อมูลมีการปรับปรุงอย่างไรเมื่อเทียบกับรุ่นก่อนหน้า
โมดูลการเข้าถึงข้อมูลถูกนำมาใช้กับ ArcGIS รุ่น 10.1 ESRI อธิบายถึง data access module ดังต่อไปนี้ ( แหล่งที่มา ): data access module, arcpy.da เป็นโมดูล Python สำหรับการทำงานกับข้อมูล จะช่วยให้การควบคุมของเซสชั่นการแก้ไข, การดำเนินการแก้ไข, การสนับสนุนเคอร์เซอร์ที่ดีขึ้น (รวมถึงประสิทธิภาพที่เร็วขึ้น), ฟังก์ชั่นสำหรับการแปลงตารางและชั้นเรียนคุณลักษณะไปยังและจากอาร์เรย์ NumPy และการสนับสนุนสำหรับรุ่น อย่างไรก็ตามมีข้อมูลน้อยมากเกี่ยวกับสาเหตุที่ประสิทธิภาพเคอร์เซอร์ดีขึ้นกว่าเคอร์เซอร์รุ่นก่อนหน้า รูปที่แนบมาแสดงผลลัพธ์ของการทดสอบเกณฑ์มาตรฐานในdaวิธีใหม่UpdateCursor เทียบกับวิธี UpdateCursor เก่า เป็นหลักสคริปต์ดำเนินการเวิร์กโฟลว์ต่อไปนี้: สร้างคะแนนสุ่ม (10, 100, 1,000, 10000, 100000) สุ่มตัวอย่างจากการแจกแจงแบบปกติและเพิ่มมูลค่าให้กับคอลัมน์ใหม่ในตารางแอตทริบิวต์จุดสุ่มด้วยเคอร์เซอร์ รันการวนซ้ำ 5 ครั้งในแต่ละสถานการณ์ของจุดสุ่มสำหรับทั้ง UpdateCursor ใหม่และเก่าและเขียนค่าเฉลี่ยลงในรายการ วางแผนผลลัพธ์ เบื้องหลังเกิดอะไรขึ้นกับdaเคอร์เซอร์อัปเดตเพื่อปรับปรุงประสิทธิภาพของเคอร์เซอร์ตามระดับที่แสดงในภาพ import arcpy, os, …

2
กำลังส่งออบเจ็กต์ผลลัพธ์ ArcPy จาก arcpy.GetCount_management () เป็นจำนวนเต็มแทนหรือไม่
ฉันพยายามรับตัวเลขด้วยการนับจำนวนจุดที่อยู่ในไฟล์รูปร่าง และมันใช้งานได้ยกเว้นฉันจะพบปัญหาในการใช้หมายเลขนั้นในที่อื่น ในที่สุดฉันจะใช้การนับนั้นในคณิตศาสตร์ (เครื่องคำนวณภาคสนาม) แต่ในขณะที่การดีบั๊กฉันพบข้อผิดพลาดที่จะจบลงทำให้ฉันมีปัญหาในภายหลัง รหัสนี้: TotalPoints = arcpy.GetCount_management(Path_Pts) arcpy.AddMessage(">>>> PROCESS: COUNT PATH POINTS {" + TotalPoints + "}") ให้ข้อผิดพลาดนี้: TypeError: cannot concatenate 'str' and 'Result' objects ฉันพยายามคัดเลือกเป็นแบบ int ซึ่งมันไม่ชอบ: TypeError: int() argument must be a string or a number, not 'Result' ดังนั้นฉันจึงมีวัตถุ 'ผลลัพธ์' และต้องเปลี่ยนเป็นตัวเลข ฉันจะทำเช่นนั้น - หรือใช้ฟังก์ชัน ArcPy ที่ไม่จำเป็นหรือซับซ้อนเกินไปที่นี่ได้อย่างไร

5
เปรียบเทียบรูปทรงเรขาคณิตสองแบบใน ArcPy หรือไม่
ฉันพยายามเปรียบเทียบสองฟีเจอร์แยกต่างหากเพื่อระบุความแตกต่างระหว่างคลาสเหล่านั้น (เรียงลำดับของฟังก์ชั่น diff) เวิร์กโฟลว์พื้นฐานของฉัน: ฉันแยกรูปทรงเรขาคณิตโดยใช้SearchCursor บันทึกรูปทรงเรขาคณิตของสองฟีเจอร์คลาสเป็น GeoJSON โดยใช้การแก้ไข__geo_interface__(ได้มาจากvalveLondon return {'type': 'Polygon', 'coordinates': [[((pt.X, pt.Y) if pt else None) for pt in part] for part in self]} ) นี่คือเพื่อหลีกเลี่ยงวัตถุเรขาคณิตที่ใช้ร่วมกันที่ ESRI ใช้กับเคอร์เซอร์และไม่สามารถทำสำเนาลึก ๆ (การสนทนาบางอย่างที่นี่ใน gis.stackexchange พูดถึงมัน) ตรวจสอบรูปทรงเรขาคณิตของคลาสฟีเจอร์สองคลาสตามตัวระบุเฉพาะ ตัวอย่างเช่นเปรียบเทียบเรขาคณิต FC1 OID1 กับเรขาคณิต FC2 OID1 เพื่อให้ได้รูปทรงเรขาคณิตเป็น ESRI ตัวอย่างวัตถุโทรarcpy.AsShape()(แก้ไขการอ่านรูปหลายเหลี่ยมที่มีรู (ดูจุดที่ 2 ข้างต้น) กับreturn cls(Array([map(lambda p: …
18 arcpy  geometry 

1
มีเครื่องมือ ArcPy สำหรับปรับขนาดรูปหลายเหลี่ยมเช่นเครื่องมือปรับขนาดของแถบเครื่องมือการแก้ไขขั้นสูงใน ArcMap หรือไม่?
ฉันกำลังเขียนสคริปต์ไพ ธ อนสำหรับ ArcGIS 10.3 ฉันรู้เกี่ยวกับScale toolอินเทอร์เฟซ ArcGIS แต่ไม่พบคำสั่ง arcpy มันมีอยู่จริง? อย่างที่คุณเห็นบนรูปภาพScale toolผลงานที่แตกต่างกว่าBuffer tool- มันเปลี่ยนรูปแบบของรูปหลายเหลี่ยมดั้งเดิม ดังนั้นคำถามคือ: ฉันสามารถใช้Scale tool(พร้อมใช้งานจากส่วนต่อประสาน ArcGIS) โดยใช้ arcpy ได้หรือไม่?

1
แนวทางสำหรับการจัดระเบียบกล่องเครื่องมือหลาม (.pyt) ใน ArcGIS
สำหรับหนึ่งในภารกิจของฉันฉันต้องสร้างกล่องเครื่องมือที่มีสามเครื่องมือ (สคริปต์หลาม) แทนที่จะเป็น tbx ธรรมดาฉันตัดสินใจเขียนเป็น Python Toolbox (pyt) ทุกอย่างชัดเจนยกเว้นวิธี "ดี" ในการจัดระเบียบรหัส เนื่องจากฉันมีสามเครื่องมือจึงไม่ดีที่จะเก็บไว้ในไฟล์เดียว (pyt) ดังนั้นฉันตัดสินใจเก็บเครื่องมือแต่ละไฟล์ในไฟล์. py แยกต่างหาก นี่คือปัญหา: วิธีที่ดีในการจัดระเบียบไฟล์หลายไฟล์ด้วย PYT สำหรับการแจกจ่ายหรือการปรับใช้บน ArcGIS สำหรับเซิร์ฟเวอร์คืออะไร ฉันควรเก็บไว้ในระดับเดียวกันกับไฟล์ PYT หรือฉันควรวางไว้ในไดเรกทอรีย่อยบางอัน (เช่น "เครื่องมือ")? คุณสามารถแนะนำแนวทาง Esri หรือตัวอย่าง "กล่องเครื่องมือ PYT ขนาดใหญ่" ใด ๆ ได้หรือไม่ ฉันไม่พบสิ่งใดในหัวข้อนี้ ในเวอร์ชั่น 10.0 มีชื่อว่าโครงสร้างโฟลเดอร์ ToolShareที่ฉันใช้ นี่เป็นคำถามของรูปแบบการเข้ารหัสเพิ่มเติม เพราะความคิดในการสร้างไฟล์ PYT หนึ่งไฟล์ที่มีโค้ดตั้งแต่ 500-1,000 บรรทัดขึ้นไปนั้นดูไม่ดีสำหรับฉันและฉันเชื่อว่ามันไม่ใช่วิธี "pythonic"


1
ฉันจะใช้อาร์เรย์ NumPy เพื่อเพิ่มประสิทธิภาพการประมวลผลข้อมูลขนาดใหญ่ได้อย่างไร
ฉันสนใจที่จะเรียนรู้วิธีการใช้อาร์เรย์ NumPy เพื่อเพิ่มประสิทธิภาพการประมวลผลทางภูมิศาสตร์ งานส่วนใหญ่ของฉันเกี่ยวข้องกับ "ข้อมูลขนาดใหญ่" ซึ่งการประมวลผลทางภูมิศาสตร์มักใช้เวลาหลายวันเพื่อทำงานบางอย่างให้สำเร็จ จำเป็นต้องพูดฉันสนใจมากในการเพิ่มประสิทธิภาพการปฏิบัติเหล่านี้ ArcGIS 10.1 มีฟังก์ชั่น NumPy จำนวนมากที่สามารถเข้าถึงได้ผ่านทาง arcpy รวมไปถึง: NumPyArrayToFeatureClass (arcpy.da) RasterToNumPyArray (arcpy) TableToNumPyArray (arcpy.da) ตัวอย่างเช่นสมมติว่าฉันต้องการเพิ่มประสิทธิภาพการประมวลผลเวิร์กโฟลว์เข้มข้นต่อไปนี้โดยใช้อาร์เรย์ NumPy: แนวคิดทั่วไปที่นี่คือมีจุดจำนวนมากที่ใช้เวกเตอร์ที่เคลื่อนที่ผ่านทั้งการดำเนินการตามเวกเตอร์และแรสเตอร์ทำให้เกิดชุดข้อมูลแรสเตอร์เลขฐานสองจำนวนเต็ม ฉันจะรวมอาร์เรย์ NumPy เพื่อเพิ่มประสิทธิภาพเวิร์กโฟลว์ประเภทนี้ได้อย่างไร

5
ผู้คนใช้โครงสร้างข้อมูลและคลาส Python ใน ArcPy อย่างไร
คำถามนี้อาจทำให้ฉันไม่รู้เกี่ยวกับการเขียนโปรแกรม แต่ฉันอยากรู้ว่าผู้คนใช้โครงสร้างข้อมูลหลามใน ArcPy อย่างไร หน้านี้แสดงรายการโครงสร้างข้อมูลใน Python ฉันเข้าใจว่าสามารถนำรายการไปใช้ใน GIS ได้อย่างไร (รายการของคุณลักษณะคลาสรายการประเภทคุณลักษณะรายการกรอบข้อมูล ฯลฯ ) ฉันเข้าใจว่าสามารถใช้ชุดได้อย่างไร (เพื่อลบรายการที่ซ้ำกัน) ผู้คนกำลังใช้สิ่งอันดับทูเปิลพจนานุกรมและโครงสร้างข้อมูลอื่นภายใน ArcPy อย่างไร นอกจากนี้ยังมีตัวอย่างอื่น ๆ ของรายการและชุดที่ฉันไม่ได้แสดงไว้ในรายการ? นอกจากนี้ไม่ต้องสงสัยเลยว่าผู้คนกำลังสร้างคลาสที่กำหนดเองใน ArcPy คุณต้องการสิ่งเหล่านี้ภายใต้สถานการณ์และสถานการณ์ใด คุณสามารถให้ตัวอย่างได้หรือไม่ มีใครสร้างคลาสที่กำหนดเองซึ่งสืบทอดมาจากคลาสอาร์คมีในตัวหรือไม่ ฉันไม่ต้องการคำตอบสำหรับคำถามเหล่านี้ทั้งหมดฉันแค่อยากรู้ว่าผู้คนใช้ Python ใน GIS อย่างไรและขั้นตอนการทำงานใดที่ต้องการการปรับแต่งเหล่านี้


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.