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

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

6
เมื่อใดจึงควรใช้ ModelBuilder เหนือสคริปต์ Python และในทางกลับกัน
ฉันใหม่สำหรับการเขียนสคริปต์ Python ใน ArcGIS แต่ไม่ใหม่สำหรับ ModelBuilder ฉันต้องการทราบถึงประโยชน์ของ Python กับ ModelBuilder เมื่อใดที่เราควรเขียนสคริปต์ Python สำหรับระบบอัตโนมัติ GIS แทนที่จะใช้ ModelBuilder ความสามารถอัตโนมัติของ Python ที่เราไม่สามารถหาได้ใน ModelBuilder คืออะไร

5
การดีบักสคริปต์ ArcPy หรือไม่
ฉันได้เขียนสคริปต์หลามหลาย ArcPy ใช้ใน ArcGIS 10 และจนถึงขณะนี้หมายถึงเฉพาะการแก้จุดบกพร่องของฉันจะมีการ จำกัด การพิมพ์ข้อความไปที่หน้าต่างผล Geoprocessing arcpy.AddMessage()โดยใช้ มีตัวเลือกอื่น ๆ เช่นการตั้งค่าจุดพักหรือไม่ วิธีการของเจสันนั้นใช้งานได้ดี หากคุณมีข้อผิดพลาดในกล่องเครื่องมือของคุณเช่นการตรวจสอบความถูกต้อง IDE ของคุณอาจไม่สามารถระบุปัญหาได้เนื่องจากกล่องเครื่องมือถูกเข้ารหัส อย่างน้อยปีกไม่สามารถระบุได้

4
ประสิทธิภาพของ ArcGISScripting และชุดข้อมูลเชิงพื้นที่ขนาดใหญ่
ขณะนี้ฉันกำลังเขียนสคริปต์ไพ ธ อนโดยใช้โมดูล arcgisscripting เพื่อประมวลผลชุดข้อมูลที่มีขนาดใหญ่พอสมควร (รวม 10,000 เร็กคอร์ดโดยรวม) ทำให้เป็นมาตรฐานในตารางจำนวนเล็กน้อยทั้งหมด 8 รายการ กระบวนการนี้ประกอบด้วยการสร้างฟีเจอร์ตามพิกัดของ tuples (x, y) และการสร้างกราฟ (โหนดและเส้น) โดยใช้ความสัมพันธ์ในตารางอีก 7 ตารางเพื่อเป็นแนวทาง ผลลัพธ์สุดท้ายคือฐานข้อมูลส่วนบุคคลทางภูมิศาสตร์ (pgdb / fgdb) ที่มีโหนดและขอบชุดข้อมูลเชิงพื้นที่ที่แสดงภาพความสัมพันธ์ ความพยายามครั้งแรกของฉันคือการใช้คิวรีของตารางฐานข้อมูลใหม่และชุดระเบียน SearchCursor เพื่อเติมตารางลิงก์ (InsertCursor) สำหรับความสัมพันธ์แบบกลุ่มต่อกลุ่มที่เกิดขึ้นมากมาย สิ่งนี้ทำงานได้ดีมากยกเว้นเวลาประมวลผล 15-20 นาที การใช้โมดูล cProfiler ใน Python เป็นที่ชัดเจนว่า 'thrashing' เป็นฐานข้อมูลส่วนบุคคลเมื่อดำเนินการค้นหาเพื่อเติมตารางลิงก์พร้อมกับการร้องขอเคอร์เซอร์ (ค้นหาและแทรกเคอร์เซอร์) ทำให้เกิดประสิทธิภาพที่น่าตกใจ ด้วยการปรับเปลี่ยนเล็กน้อยฉันได้รับเวลาประมวลผลต่ำกว่า 2.5 นาที การแลกเปลี่ยนเป็นโครงสร้างบางส่วนของคีมาฐานข้อมูลในรหัสและการ จำกัด การร้องขอสำหรับเคอร์เซอร์ arcgisscripting เพื่อ …


2
วิธีที่เร็วที่สุดในการนับจำนวนคุณลักษณะในคลาสคุณลักษณะหรือไม่
ด้วยการแนะนำของโมดูลการเข้าถึงข้อมูลใน arcpy (ค้นหาเคอร์เซอร์ที่เร็วกว่า 30x) ฉันต้องการทราบว่าการนับคุณสมบัติที่ตรงกับเกณฑ์ sql นั้นเร็วกว่าวิธี MakeTableView + GetCount แบบดั้งเดิมหรือไม่

2
ปรับปรุง Python Code สำหรับ Big Data
ฉันมีรหัส Python ที่ออกแบบมาเพื่อใช้ชี้ shapefiles ผ่านเวิร์กโฟลว์ต่อไปนี้: ผสานจุด รวมคะแนนเข้าด้วยกันเช่นจุดใด ๆ ที่อยู่ในระยะ 1 เมตรจากกันกลายเป็นจุดเดียว สร้างเลเยอร์คุณสมบัติโดยเลือกจุดที่มี z <10 คะแนนบัฟเฟอร์ รูปหลายเหลี่ยมถึงความละเอียด 1 เมตร จัดประเภทใหม่โดยที่ 1 - 9 = 1; NoData = 0 แต่ละรูปร่างไฟล์มีประมาณ 250,000 ถึง 350,000 จุดครอบคลุม ~ 5x7 กม. ข้อมูลจุดที่ใช้เป็นอินพุตเป็นตัวแทนของตำแหน่งต้นไม้ แต่ละจุด (เช่นต้นไม้) มีค่า "z" ที่เกี่ยวข้องซึ่งแสดงถึงรัศมีมงกุฎและใช้ในกระบวนการบัฟเฟอร์ ความตั้งใจของฉันคือการใช้เอาต์พุตไบนารีสุดท้ายในกระบวนการแยกต่างหากเพื่อสร้างแรสเตอร์ที่อธิบายถึงหลังคาครอบ ฉันทดสอบกับรูปร่างสี่ไฟล์และสร้างแรสเตอร์ 700MB และใช้เวลา 35 นาที (โปรเซสเซอร์ i5 และ …

3
ไวยากรณ์และการใช้งานที่เหมาะสมสำหรับเวิร์กสเปซ ArcGIS“ in_memory” คืออะไร?
ฉันไม่ชัดเจนว่าจะใช้in_memoryพื้นที่ทำงานใน ArcGIS อย่างไรดีที่สุด ทรัพยากรที่ดีที่สุดที่ฉันได้พบเกี่ยวกับเรื่องนี้จาก ESRI ในการใช้พื้นที่ทำงานในหน่วยความจำ น่าเสียดายที่ส่วนช่วยเหลือไม่ได้ให้ข้อมูลมากนัก นอกจากนี้ยังมีการโพสต์บนเว็บไซต์นี้ว่าในเวลาสั้น ๆ สัมผัสกับเรื่องที่นี่และที่นี่ คำถามเฉพาะของฉัน: การใช้งานและไวยากรณ์ที่เหมาะสมสำหรับการใช้in_memoryพื้นที่ทำงานในสคริปต์ที่ใช้ArcGIS / arcpy คืออะไร? เป็นin_memoryพื้นที่ทำงานเช่นเดียวกับยกตัวอย่างเช่นการสร้างชั้นใช้arcpy.MakeFeatureLayer_management()? มีมาตรฐานใด ๆ เช่นการลบin_memoryพื้นที่ทำงานในตอนท้ายของสคริปต์หรือไม่

6
การแบ่งปันโอเพ่นซอร์ส Python / ArcPy Code และรุ่นสำหรับ ArcGIS Desktop?
ฉันจะเขียนสคริปต์สำหรับ ArcGIS Desktop ใน Python ด้วย ArcPy มีชุมชนหรือโครงการโอเพ่นซอร์สที่สามารถใช้รหัสและรุ่นร่วมกันได้หรือไม่

6
วิธีเพิ่มความเร็วให้กับสคริปต์ Python ที่ทำงานเป็นเครื่องมือ ArcGIS [ปิด]
นี่เป็นคำถามทั่วไปที่ค่อนข้างสวย ฉันแค่สงสัยว่าเคล็ดลับและเทคนิคที่โปรแกรมเมอร์ GIS ใช้เพื่อเพิ่มความเร็วสคริปต์อาร์คกิที่คุณนำเข้าสู่กล่องเครื่องมือและเรียกใช้ ฉันทำงานเขียนสคริปต์เล็กน้อยทุกวันเพื่อช่วยผู้ใช้ที่ไม่ใช่ GIS ในสำนักงานเพื่อประมวลผลข้อมูล GIS ฉันได้พบว่าการประมวลผล ArcGIS 10.0 โดยทั่วไปช้ากว่า 9.3.1 และบางครั้งมันก็ช้าลงเมื่อใช้งานสคริปต์ไพ ธ อน ฉันจะแสดงรายการตัวอย่างของสคริปต์ที่ใช้เวลานานกว่า 24 ชั่วโมงในการทำงาน มันคือลูปที่กำหนดพื้นที่ของแรสเตอร์ในบัฟเฟอร์สำหรับแต่ละรูปร่างในบัฟเฟอร์ บัฟเฟอร์มีรูปร่างประมาณ 7000 ฉันไม่เชื่อว่ามันจะทำงานได้นาน while x <= layerRecords: arcpy.SetProgressorLabel("Tabulating Row: " + str(x) + " of " + str(ELClayerRecords)) arcpy.SelectLayerByAttribute_management(Buff,"NEW_SELECTION", "Recno = " + str(x)) # Selecting the record TabulateArea(Buff, "Recno", …

6
การกำหนดการฉายภาพสำหรับหลายรูปร่างใน ArcMap?
ฉันมีไฟล์รูปร่างมากกว่า 100 ไฟล์ที่ไม่มีไฟล์. prj และเมื่อฉันนำมาไว้ใน ArcMap 10 พวกเขาแสดงระบบพิกัดว่าไม่ทราบ ฉันรู้ว่าระบบพิกัดไฟล์รูปร่างทั้งหมดคือ GCS WGS 1984 ฉันยังรู้ว่าฉันสามารถใช้เครื่องมือ Define Projection GP เพื่อกำหนดระบบพิกัดให้กับแต่ละไฟล์ แต่จะใช้เวลาตลอดไป ฉันหวังว่าจะมีเครื่องมือ GP ในการกำหนดสิ่งเหล่านี้ แต่ฉันไม่เห็น ต่อไปฉันคิดว่าบางทีฉันสามารถใช้ python เพื่อทำสิ่งนี้ดังนั้นฉันจึงดูในเมนูช่วยเหลือและพบสคริปต์ แต่มันทำให้ฉันมีข้อผิดพลาด นี่คือรหัสหลามที่ฉันลองใช้ (นี่เป็นไฟล์ shp ไฟล์เดียวดังนั้นฉันยังคงมีความเจ็บปวดในการพิมพ์ชื่อสำหรับแต่ละไฟล์: import arcpy infc = r"C:\Documents and Settings\User\My Documents\ArcGIS\shpfiles\Site_2.shp" prjfile = r"<install directory>\Coordinate Systems\Geographic Coordinate Systems\World\WGS 1984.prj" arcpy.DefineProjection_management(infc, prjfile)

6
วิธีการบัฟเฟอร์พิกเซลแรสเตอร์ตามค่าของพวกเขา?
พิกเซลทางด้านซ้ายแสดงตำแหน่งต้นไม้และรัศมีรูปมงกุฎที่เกี่ยวข้อง (เช่นค่าพิกเซลอยู่ระหว่าง 2 - 5) ฉันต้องการบัฟเฟอร์พิกเซลแรสเตอร์เหล่านี้ด้วยค่ารัศมีมงกุฎของพวกเขา ภาพไปทางขวาเป็นสิ่งที่ผมหวังที่จะประสบความสำเร็จโดยใช้วิธีการประมวลผลเพียงแรสเตอร์ ตอนแรกฉันคิดว่าจะใช้ผลรวมโฟกัสแบบวงกลมใน ArcGIS แม้ว่าการตั้งค่าพื้นที่ใกล้เคียงเป็นค่าคงที่ซึ่งไม่คำนึงถึงรัศมีมงกุฎขนาดตัวแปร วิธีที่ดีในการ "บัฟเฟอร์" พิกเซลโดยค่าของพวกเขาคืออะไร?

4
ทำการติดตั้ง Python แยกต่างหากที่สามารถโทรหา ArcPy ได้หรือไม่?
ฉันเห็นคำถามมากมาย & ถามว่าคุณสามารถสร้างการติดตั้ง Python แยกต่างหาก (เช่นการกระจาย Anaconda หรือ Python XY) ที่สามารถใช้ arcpy ได้อย่างไรในขณะที่ไม่ 'ทำลาย' การติดตั้ง ArcGIS ดั้งเดิมหลาม ฉันมีปัญหาเดียวกันนี้และฉันคิดว่าฉันพบวิธีแก้ปัญหาที่เป็นสากลแล้ว จนถึงตอนนี้เราได้ทำสิ่งนี้ในคอมพิวเตอร์ประมาณ 8 เครื่องในที่ทำงานและมันก็ใช้ได้ดี จะติดตั้ง Python แบบแยกส่วนที่สามารถใช้ ArcGIS ได้อย่างไร?

5
การใช้ฟังก์ชัน ArcGIS ใน Python โดยไม่ต้องเรียกใช้ ArcMap (เช่นตัวแก้ไข / สภาพแวดล้อมแยกต่างหาก)?
ฉันกำลังพยายามทำขั้นตอนต่อไปในการเขียนโปรแกรม ArcGIS ด้วย Python และดูว่าเป็นไปได้จริงที่จะเรียกใช้สคริปต์ / รหัสของฉันโดยไม่ต้องโหลด ArcMap และวางลงในหน้าต่าง Python ฉันคิดว่าฉันจะทำเช่นนี้ดู IDE เฉพาะประเภทกับ Python ที่โหลดบางอย่างจาก ArcGIS ฉันจะทำสิ่งนี้ได้อย่างไร อัปเดต: สรุปโซลูชัน ฉันไปเส้นทาง Eclipse + PyDev นี่คือบันทึกของฉันในการติดตั้งทุกอย่างและทำให้มันทำงาน: ดาวน์โหลด Eclipse สิ่งนี้ทำให้เกิดความสับสนเล็กน้อยเนื่องจากมีรสชาติที่แตกต่างกันทั้งหมด (Java, Java EE, C / C ++ ฯลฯ ) ฉันไปกับ C / C ++ เพราะนั่นเป็นสิ่งที่ฉันคุ้นเคย มันไม่สำคัญเลยตั้งแต่ PyDev จะได้รับการติดตั้งหลังจากขั้นตอนนี้ เลือกสิ่งที่คุณต้องการ ติดตั้ง PyDev PyDev จะถูกติดตั้งผ่าน …

3
เหตุใดจึงเรียนรู้ / ใช้กล่องเครื่องมือ Python บนเครื่องมือ Python Script [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันได้เขียนกล่องเครื่องมือ Python สองสามชุด (ซึ่งใหม่ใน ArcGIS 10.1) แต่ฉันยังตัดสินใจไม่ได้ว่าควรเขียนเมื่อใด / แทนที่จะใช้เครื่องมือ Python Script ในกล่องเครื่องมือมาตรฐาน ฉันคิดว่าวิธีใช้ออนไลน์อาจทำให้ฉันเข้าใจได้เมื่อมันนำหน้าจุดบางจุดด้วย: เมื่อสร้างแล้วเครื่องมือในกล่องเครื่องมือ Python ให้ประโยชน์มากมาย อย่างไรก็ตามข้อดีห้าประการที่ระบุไว้ทั้งหมดดูเหมือนจะไม่สามารถใช้ Python ในการเขียนเครื่องมือได้และดูเหมือนจะไม่มีใครระบุข้อดีของกล่องเครื่องมือ Python บนเครื่องมือ Python Script ข้อดีสองข้อที่ฉันนึกได้คือ: ตอนนี้ฉันสามารถเขียนเครื่องมือ Python "บริสุทธิ์" ในสคริปต์ Python เดียวโดยไม่ต้องเชื่อมต่อกับไดอะล็อกที่ได้รับการประพันธ์แยกต่างหากด้วยการตรวจสอบเครื่องมือที่ดูเหมือนว่าถูกตรึงไว้ แต่ฉันยินดีที่จะใช้งานได้ดีกว่าในเรื่องนี้ ตอนนี้ฉันสามารถใช้รหัส (Python หรือภาษาใด ๆ ที่มีความสามารถในการเขียนไฟล์ข้อความ) เพื่อให้การเขียนกล่องเครื่องมือ Python เป็นไปโดยอัตโนมัติ แต่ฉันยังไม่ได้เจอข้อกำหนดในการทำเช่นนี้ ฉันมองกรณีที่น่าสนใจที่ทำให้ Esri ให้ความสามารถของ …

4
การแสดงคลาสคุณลักษณะทั้งหมดในไฟล์ Geodatabase รวมถึงภายในชุดข้อมูลคุณสมบัติ?
จากไพ ธ อนฉันจะสร้างรายการคลาสคุณลักษณะทั้งหมดในฐานข้อมูลไฟล์ (* .gdb) รวมถึงชุดข้อมูลคุณลักษณะภายในได้อย่างไร ตัวอย่างมาตรฐานเพียงรายการมีเรียนที่ระดับบนสุดของ geodatabase นี้: import arcgisscripting, os gp = arcgisscripting.create(9.3) gp.workspace = 'd:\scratch.gdb' fcs = gp.ListFeatureClasses() for fc in fcs: print fc โปรดระบุเวอร์ชันที่คำตอบของคุณใช้กับ ArcGIS Desktop (ฉันกำลังมองหา 9.3 แต่เราอาจรวบรวมรุ่นทั้งหมดในที่เดียว)
24 arcpy  arcgis-9.3 

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