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

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

2
การสร้างพารามิเตอร์ช่องทำเครื่องหมายในเครื่องมือสคริปต์ Python สำหรับ ArcGIS Desktop?
ฉันกำลังทำงานเพื่อสร้างเครื่องมือ ArcGIS จากสคริปต์ Python ที่ฉันกำลังเขียน ฉันสงสัยว่าเป็นไปได้หรือไม่ที่จะมีพารามิเตอร์ช่องทำเครื่องหมาย ฉันต้องการมีพารามิเตอร์ที่ผู้ใช้เลือกคลาสคุณลักษณะจากคลาสคุณลักษณะที่ผู้ใช้จะเลือกฟิลด์สำหรับเลเยอร์ส่วนใหญ่ด้านบนในโมเดลของพวกเขาจากนั้นฉันต้องการให้ผู้ใช้สามารถเลือกเลเยอร์ที่พวกเขาต้องการสคริปต์ เพื่อทำงานกับโครงสร้างช่องทำเครื่องหมายที่ได้มาจากสนามชั้นบนสุด เป็นไปได้ด้วย python และ ArcGIS Desktop?

2
การเปลี่ยนเส้นทางแหล่งข้อมูลที่เกี่ยวข้องกับชุดคุณสมบัติในไฟล์ * .lyr โดยใช้ ArcPy?
หนึ่งจะสามารถเปลี่ยนเส้นทางข้อมูลแหล่งที่มาสำหรับทุกไฟล์เลเยอร์ในโฟลเดอร์ X โดยใช้ arcpy ได้อย่างไร ฉันติดตามการอัปเดตและแก้ไขแหล่งข้อมูลด้วย arcpy.mappingให้ดีที่สุดเท่าที่จะทำได้ แต่สิ่งที่ฉันได้รับคือไม่ช่วยเหลือRuntime error <type 'exceptions.ValueError'>: Layer: Unexpected errorซึ่งไม่ได้บอกฉันเพียงพอที่จะแก้ไขสิ่งที่ผิดหรือขาดหายไป นี่คือรหัส (ง่ายต่อการทดสอบไฟล์เลเยอร์เดียว): import arcpy, os fname = r'K:\Layers\xxx.lyr' lyr = arcpy.mapping.Layer(fname) oldpath = lyr.workspacePath print 'oldpath: ', oldpath lyr.findAndReplaceWorkspacePath(oldpath, r'C:\some\other.gdb') print 'newpath: ', lyr.workspacePath และผลลัพธ์: oldpath: K:\Canvec_Utility\Temp.gdb Traceback (most recent call last): File "x10x.py", line 12, …

2
การสร้างเส้นของระยะทางที่แตกต่างจากจุดกำเนิดโดยใช้ Python ใน ArcGIS Desktop?
ฉันพยายามสร้างคุณสมบัติเส้นจากจุดเดียวโดยใช้ระยะทางและมุมที่กำหนดโดยใช้ ArcGIS และ Python (ArcPy) ฉันมีจุดที่พิกัดเหล่านี้: X = 400460.99, Y = 135836.76 จากจุดนี้ฉันต้องการสร้างเส้นยาว 800 เมตรที่มุม 15 องศาจากจุดนั้น ฉันไม่รู้ว่าผลลัพธ์ที่ได้คืออะไร ข้อมูลของฉันถูกฉายใน Maryland State Plane South - Meters

5
หลีกเลี่ยงข้อผิดพลาดในการนำเข้า arcpy (RuntimeError: NotInitialized) เมื่อใช้ IDLE?
เวอร์ชั่น ArcGIS: ArcGIS 10, Python 2.6.5 เครื่อง: Windows 7 64 บิต (Intel) ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อนำเข้า arcpy โดยใช้ IDLE (พรอมต์ gui และ cmd) และเมื่อใช้ pythonwin ฉันลบ python26 และ python25 ออกจากระบบของฉันและทำการติดตั้งใหม่ของ ArcGIS 10 และ python ดังนั้นกำลังเรียก IDLE จากที่นี่: "C: \ Python26 \ ArcGIS10.0 \ pythonw.exe" ความผิดพลาด: ** IDLE 2.6.5 อิมพอร์ต arcpy Traceback (การโทรล่าสุดครั้งล่าสุด): ไฟล์ …
11 arcpy  idle 

5
ตรวจสอบผ่าน ArcPy ว่า ArcMap อยู่ในช่วงแก้ไขหรือไม่?
ฉันได้สร้างปุ่ม Python add-in ที่ช่วยเร่งขั้นตอนการทำงานของเพื่อนร่วมงานด้วยการคัดลอกคุณลักษณะคลาสคุณลักษณะหนึ่งไปยังอีก มันใช้ฟังก์ชัน arcpy.UpdateCursor เพื่ออัปเดตแถวในคลาสคุณลักษณะเป้าหมาย เนื่องจากมันมีอยู่ตอนนี้สคริปต์ปุ่มนี้สามารถทำงานได้โดยไม่คำนึงถึงโหมดการแก้ไข เห็นได้ชัดว่าเมื่อมันทำงานในเซสชั่นการแก้ไขผู้ใช้สามารถเลือกที่จะหยุดการแก้ไขและไม่บันทึกการเปลี่ยนแปลง แต่ไม่ใช่ในกรณีที่สคริปต์ทำงานนอกเซสชันการแก้ไข ฉันจะเพิ่มการตรวจสอบไปยังสคริปต์ที่จะหยุดสคริปต์ไม่ให้ทำงานได้อย่างไรหาก ArcMap ไม่ได้อยู่ในเซสชันการแก้ไขในปัจจุบัน สิ่งนี้เกี่ยวข้องกับ ArcMap 10 & 10.1 ฉันต้องการตรวจสอบกับผู้ใช้ ArcMap คนอื่น ๆ เพื่อตรวจสอบว่าการอัปเดตตารางไม่ได้รับอนุญาตตามปกติโดยไม่ต้องอยู่ในเซสชันแก้ไข ดังนั้นสคริปต์นี้ทำงานนอกเซสชันแก้ไขอย่างไร สคริปต์นี้ยังทำให้เกิดคำถามอื่นเกี่ยวกับลำดับการเลือกที่ดูเหมือนว่าบังเอิญ ArcMap ดำเนินการที่เพิ่งเกิดขึ้นกับฉันเมื่อฉันอัปเดตตารางคลาสคุณลักษณะที่ 2 จากรายการ แต่นั่นเป็นอีกวัน นี่คือสคริปต์ที่ใช้งานได้ในขณะนี้ (ไม่มีการใช้งานเครื่องมือแก้ไข 10.1): จะเพิ่มการตรวจสอบเพื่อให้แน่ใจว่าผู้ใช้อยู่ในช่วงการแก้ไขได้อย่างไร? def onClick(self): #Reference mxd mxd = arcpy.mapping.MapDocument("CURRENT") #Reference the main Data frame mm = arcpy.mapping.ListDataFrames(mxd, "MainMap")[0] …
11 arcpy  arcmap  editing 

4
รับคะแนนทั้งหมดของ polyline
ฉันมีออบเจกต์คุณลักษณะ polyline ในหลาม ตอนนี้ฉันต้องการที่จะได้รับคะแนนทั้งหมดของ polylines ตัวอย่างเช่นถ้ามีเส้นมีจุดเริ่มต้นจุดสิ้นสุด[0,0] ส่งผลให้เกิด:[5,5][1,1];[2,2];[3,3];[4,4];[5,5] ฉันต้องการหาจำนวนเต็มทั้งหมดในบรรทัดนั้นรวมถึงจุดสิ้นสุด สำหรับเส้นตรงนี่เป็นเรื่องง่าย แต่ถ้า polyline มี Beizer Curve, Circular Arc, ประเภท Elliptic Arc เรขาคณิตฉันจะทำอย่างไร แก้ไข: ฉันสามารถใช้เครื่องมือเหล่านั้นที่มีอยู่ในทุกระดับสิทธิ์การใช้งานของ ArcGIS เท่านั้น ตัวอย่างเช่น ArcGIS Basic

4
การสร้างส่วนโค้งระหว่างสองจุดใน ArcPy?
ฉันทำงานกับสคริปต์หลามโดยอัตโนมัติการแสดงข้อมูลจุดสด ฉันมีตารางที่มีพิกัดสองคู่ ฉันต้องการเชื่อมต่อสองจุดนี้กับส่วนโค้งของวงกลมหรือคล้ายกัน (parabola ??) ฉันสามารถเชื่อมต่อสองจุดเข้ากับเส้นตรงได้ แต่มันทำให้ฉันเห็นภาพที่น่าเบื่อ หนึ่งในอุปสรรคสำคัญคือระดับสิทธิ์การใช้งานของฉัน: ArcView ใครมีความคิดใด ๆ ว่าฉันสามารถสร้างชุดของจุดที่แสดงเส้นทางของเส้นระหว่างสองจุดเหล่านี้ได้อย่างไร ฉันสามารถใช้คะแนนเพื่อคำสั่ง polyline

4
พยายามแยกรายการของค่าที่ไม่ซ้ำออกจากเขตข้อมูลโดยใช้ python
ฉันมีจำนวนคอลัมน์ในตารางจำนวนหนึ่งภายใน FGDB ที่ฉันต้องการแยกค่าที่ไม่ซ้ำกันสำหรับแต่ละคอลัมน์ ตัวอย่างเช่น: ค่าอาจเป็น [1,2,2,2,3,4] และฉันพยายามคืน [1,2,3,4] ฉันสามารถทำงานนี้ได้หลายวิธีใน ARCGIS แต่ฉันพยายามขยายตัว ฉันพบชิ้นส่วนของหลามบนเว็บที่ฉันคิดว่าจะทำงานได้ แต่ฉันพยายามที่จะให้มันทำงาน (ฉันได้รับข้อผิดพลาดทางไวยากรณ์ที่ไม่ถูกต้องเนื่องจากฉันได้รับข้อผิดพลาดทางไวยากรณ์ในบรรทัดที่ 3) ข้อผิดพลาดของผู้ใช้ที่ง่ายมาก ตัวอย่างโค้ดด้านล่าง import arcpy def unique_values(r'N:\GISProjects\Landuse\Plant_Biosecurity_Project\ArcGIS_Online.gdb\Holdings_Property_Merge' , 'LU_ALUMMaj'): with arcpy.da.SearchCursor(table, [field]) as cursor: return sorted({row[0] for row in cursor}) นี่คือข้อความแสดงข้อผิดพลาดที่ฉันได้รับจากข้อความประเสริฐ: File "C:\Users\hawkinle\Desktop\STDTAS\Unique_Data.py", line 3 def unique_values(r'N:\GISProjects\Steve_Eastwood_Landuse\Plant_Biosecurity_Project\ArcGIS_Online.gdb\Holdings_Property_Merge' , 'LU_ALUMMaj'): ^ SyntaxError: invalid syntax [Finished in 0.1s …

1
ระบุรูปร่างของรูปหลายเหลี่ยม: การยืดตัว, ความกลม, ฯลฯ
ฉันกำลังสรุปแผนที่ทางธรณีวิทยา ในขั้นตอนแรกฉันกำลังจัดการกับรูปหลายเหลี่ยมขนาดเล็กซึ่งควรจะลบลบขยายรวมและอื่น ๆ ก่อนที่จะใช้การดำเนินการที่กล่าวถึงข้างต้นฉันต้องการเริ่มต้นด้วยการวิเคราะห์รูปร่างเช่นรูปหลายเหลี่ยมยาวหรือรูปหลายเหลี่ยมอื่น ๆ อีกมากมายเนื่องจากนี่อาจเป็นปัจจัยสำคัญในการจัดการ แผนที่ทางธรณีวิทยามีรูปร่างที่ค่อนข้างซับซ้อนซึ่งควรพิจารณาและดูแลรักษาให้มากที่สุด มีวิธีใดบ้างที่ระบุรูปร่างของรูปหลายเหลี่ยมตามรูปทรงเรขาคณิต? ฉันใช้ ArcGIS, Python โดยทั่วไป

6
หลามมีวิธีที่เร็วกว่าในการค้นหาจำนวนที่น้อยที่สุดในฟิลด์หรือไม่?
การใช้งานเดสก์ท็อป arcgis 10.3.1 ฉันมีสคริปต์ที่ใช้เคอร์เซอร์ค้นหาเพื่อผนวกค่ากับรายการแล้วใช้ min () เพื่อค้นหาจำนวนเต็มเล็กที่สุด ตัวแปรจะถูกใช้ในสคริปต์ คลาส Feature มี 200,000 แถวและสคริปต์ใช้เวลาในการดำเนินการนานมาก มีวิธีทำเร็วกว่านี้ไหม ในขณะนี้ฉันคิดว่าฉันจะทำด้วยมือแทนที่จะเขียนสคริปต์เนื่องจากใช้เวลานาน import arcpy fc = arcpy.env.workspace = arcpy.GetParameterAsText(0) Xfield = "XKoordInt" cursor = arcpy.SearchCursor(fc) ListVal = [] for row in cursor: ListVal.append(row.getValue(Xfield)) value = min(ListVal)-20 print value expression = "(!XKoordInt!-{0})/20".format(value) arcpy.CalculateField_management (fc, "Matrix_Z" ,expression, "PYTHON")
10 arcpy  list 

2
สร้างบัฟเฟอร์พื้นที่ที่ถูก จำกัด โดยแนวชายฝั่ง
ฉันกำลังพยายามใช้ ArcGIS 10.2 เพื่อสร้างบัฟเฟอร์ของจุดตามพื้นที่ที่กำหนดไว้ล่วงหน้า (เช่น 400 ตารางกิโลเมตร) ยิ่งไปกว่านั้นบัฟเฟอร์ของบางจุดอยู่ใกล้กับแนวชายฝั่งที่ต้องการให้บัฟเฟอร์ถูกตัดที่แนวชายฝั่งและยังคงมีพื้นที่เดียวกับที่อยู่ในบก (400 ตารางกิโลเมตร) ไม่มีใครรู้ว่าสิ่งนี้สามารถทำได้ด้วยตัวสร้างแบบจำลองหรือ Arcpy? ฉันมีทักษะ จำกัด กับ Arcpy และ R แต่ยินดีที่จะใช้สคริปต์บางอย่างเพื่อแก้ปัญหานี้ โปรดดูภาพด้านล่างแสดงภาพกราฟิกของสิ่งที่ฉันพยายามที่จะบรรลุ
10 arcpy  arcgis-10.2  r  buffer 


1
งาน ArcGIS Pro สนับสนุนเครื่องมือ Python Toolbox ซึ่งทำงานกับ Map frames หรือไม่?
งาน ArcGIS Pro สนับสนุนเครื่องมือ Python Toolbox ซึ่งทำงานกับ Map frames หรือไม่? เหตุผลที่ฉันถามคือฉันติดเมื่อพยายามทำต่อไปนี้: เริ่ม ArcGIS Pro 1.1.1 สร้างโครงการใหม่ - ฉันเรียกว่า TestProject ของฉันและวางใน C: \ Temp ใช้บานหน้าต่างโครงการเพื่อเพิ่มการเชื่อมต่อโฟลเดอร์ไปยังตำแหน่งที่ฉันมีไฟล์รูปร่างของประเทศต่างๆในโลกจาก Natural Earth () ลากและวาง ne_10m_admin_0_countries.shp ลงในแผนที่เพื่อสร้างเลเยอร์ที่เรียกว่า ne_10m_admin_0_countries แทรกเค้าโครงใหม่ - ฉันใช้แนวนอน A3 แทรกกรอบแผนที่ใหม่ลงในเค้าโครง ในบานหน้าต่างโครงการสร้างกล่องเครื่องมือ Python ใหม่ในโฟลเดอร์ TestProject - ฉันเรียกว่า TestPYT ของฉัน คลิกขวาที่ TestPYT ในบานหน้าต่างโครงการเพื่อแก้ไข แทนที่รหัสด้วยด้านล่างเพื่อให้เครื่องมือ Python สองเครื่องมือที่เรียกว่าชิลีและสวิตเซอร์แลนด์ …

2
การลดจำนวนหน้าแบบไดนามิกลงในแผนที่จุดที่กระจัดกระจายโดยใช้ ArcGIS Desktop?
บางครั้งฉันต้องจัดทำแผนที่เพื่อแสดงจุดที่น่าสนใจ ขั้นตอนแรกในการสร้างหน้าโดยใช้ mesh ปกติ: ฉันไม่ชอบวิธีแก้ปัญหาเพราะก) มีบางหน้าเว็บที่มีจุดเดียว (เช่นหน้า 25) อยู่ที่ขอบและ b) หน้ามากเกินไป ปัญหาแรกนั้นง่ายต่อการแก้ไขโดยใช้รหัส - ย้ายสี่เหลี่ยมผืนผ้าของขอบเขตหน้าไปที่กึ่งกลางของจุดที่เกี่ยวข้อง: ฉันยังคงไม่ชอบมันดูแออัดมากเพราะจำนวนหน้ายังคงเท่าเดิม จำไว้ว่าพวกเขาทั้งหมดกลายเป็นหน้ากระดาษ A3 จริงในรายงานหลายฉบับ! ดังนั้นฉันจึงจัดทำโค้ดเพื่อลดจำนวนหน้า ในตัวอย่างนี้จาก 45 ถึง 34 ฉันไม่แน่ใจว่านี่เป็นผลลัพธ์ที่ดีที่สุดที่สามารถทำได้หรือไม่ กลยุทธ์ที่ดีที่สุดคืออะไร (รหัสเทียม, สิ่งพิมพ์, ห้องสมุด Python) เพื่อสับเปลี่ยนจุดเพื่อลดจำนวนสี่เหลี่ยมขนาดที่กำหนดไว้เพื่อจับจุดทั้งหมด แน่นอนว่ามีคนค้นพบมันในทฤษฎีเกมศิลปะการทหารหรืออุตสาหกรรมการประมง นี่คือการปรับปรุงคำถามเดิม: สิ่งนี้แสดงขอบเขตและขนาดหน้าจริงที่ต้องการ: การย่อ / ขยายแสดง 10 จาก 164 หน้า: คลาสคุณลักษณะจุดตัวอย่าง ขนาดสี่เหลี่ยมผืนผ้าสามารถเปลี่ยนได้ทันทีที่มันอยู่ในขอบเขตที่ จำกัด เช่นขนาดเล็กก็ดี

1
ตั้งค่าเริ่มต้นสำหรับตารางค่าในเครื่องมือกล่องเครื่องมือหลาม
ฉันสร้างเครื่องมือ Python Toolbox เพื่อจัดลำดับฟิลด์ใหม่และสร้างคลาสฟีเจอร์ใหม่ด้วยฟิลด์ที่เรียงลำดับใหม่ เครื่องมือทำงานได้เป็นอย่างดีและฉันสามารถใช้ตารางค่าเพื่อให้ผู้ใช้จัดเรียงเขตข้อมูลตามลำดับที่พวกเขาเลือกหรือพวกเขาสามารถกรอกค่าอันดับสำหรับแต่ละเขตข้อมูล อย่างไรก็ตามส่วนที่น่ารำคาญของเครื่องมือนี้คือต้องเพิ่มเขตข้อมูลทั้งหมดในตารางค่าทีละครั้งก่อนที่จะจัดลำดับใหม่ ฉันกำลังพยายามตั้งค่านี้เพื่อนำฟิลด์ทั้งหมดไปยังตารางค่าโดยค่าเริ่มต้นและสามารถลบฟิลด์ที่ไม่ต้องการใด ๆ ก่อนที่จะจัดลำดับใหม่ มีใครเคยประสบความสำเร็จทำอะไรแบบนี้มาก่อนหรือไม่ ฉันพยายามทำสิ่งนี้ให้สำเร็จในวิธี UpdateParameters นี่คือรหัสที่ฉันพยายาม: import arcpy import os class Toolbox(object): def __init__(self): """Define the toolbox (the name of the toolbox is the name of the .pyt file).""" self.label = "Reorder Fields" self.alias = "Reorder Fields" # List of tool classes associated …

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