เรียนรู้ ArcPy?


คำตอบ:


71

คำถามนี้ถูกแปลงเป็น Community Wiki และ wiki ที่ถูกล็อกเนื่องจากเป็นตัวอย่างของคำถามที่ค้นหารายการคำตอบและดูเหมือนจะเป็นที่นิยมมากพอที่จะป้องกันไม่ให้ปิด ควรได้รับการพิจารณาว่าเป็นกรณีพิเศษและไม่ควรถูกมองว่าเป็นประเภทของคำถามที่ได้รับการสนับสนุนในเรื่องนี้หรือไซต์สแต็ก Exchange ใด ๆ แต่ถ้าคุณต้องการมีส่วนร่วมกับเนื้อหามากขึ้น .


ดูโพสต์ที่นี่และในเว็บไซต์อื่น ๆ ที่ใช้สคริปต์ Python และพยายามแยกโครงสร้างและดูว่าผู้เขียนใช้เทคนิคใดในการทำงานให้สำเร็จ คำถามที่พบบ่อยเกี่ยวกับการประกอบตัวเองของเราเกี่ยวกับ ArcPyคุ้มค่าที่จะทบทวนเพื่อจุดประสงค์นี้

คุณจะพบว่าเป็นการศึกษาเพื่อแก้ไขปัญหาของผู้อื่น เรามีรายการคำถามที่ยังไม่ได้ตอบเกี่ยวกับ ArcPyที่ช่วยให้คุณค้นหาได้

เอกสาร ArcGIS:

อ่านไฟล์ช่วยเหลือ !! 90% ของ ArcPy นั้นเหมือนกับการใช้งานเครื่องมือ GUI เพียงคุณเท่านั้นที่เริ่มใช้งาน Python ไฟล์ช่วยเหลือทั้งหมดมีตัวอย่างโค้ด Python ที่ด้านล่าง

หนังสือออนไลน์:

หลักสูตรออนไลน์:

Tutorials:

เอกสาร Python:

นำเสนอ:

หนังสือที่เป็นกระดาษ:

ชุมชนผู้ใช้:

บล็อก:

รหัสตัวอย่าง:

เครื่องมือ / สภาพแวดล้อมการพัฒนาแบบรวม (IDEs) - ที่ไม่ใช่เชิงพาณิชย์:

โมดูล / กรอบ:

ดูคำแนะนำทั่วไปเหล่านี้สำหรับโปรแกรมเมอร์ Python ใหม่ในคำตอบของการส่งออก mxds เป็น pdf โดยใช้ ArcPy? .


1
คำถามเก่า แต่ฉันใหม่สำหรับ ArcPy และคิดว่าฉันจะเพิ่มสิ่งที่ช่วยฉันเมื่อเร็ว ๆ นี้ ซีรี่ส์ YouTube นี้มีประโยชน์มากสำหรับฉันโดยส่วนตัว วิดีโอสั้นและฉันเพิ่งดูพวกเขาทั้งหมดในเย็นวันหนึ่งด้วยความเร็ว 2x เพื่อรับรสชาติของวิธีการทำงานของ ArcPy (ไม่ต้องกังวลกับการออกกำลังกายใด ๆ เพียงแค่ดูวิดีโอ) [ youtube.com/playlist?list=PLO6KswO64zVu7S4bqQoHWR5516aCUEnda ]
AlexS1

ฉันยังได้รับหนังสือเล่มนี้ มันเป็นการแนะนำที่ดีและมีประโยชน์สำหรับฉันอย่างแน่นอน แต่ขาดความลึกและหัวข้อขั้นสูง แต่ถึงกระนั้นฉันคิดว่ามันคุ้มค่าสำหรับ ~ 25 $ ใช้ (จะไม่จ่ายมากกว่า ~ $ 35 สำหรับมัน แต่นั่นคือความคิดเห็นของฉัน) [ amazon.com/ArcPy-ArcGIS-Second-Silas-Toms/dp/1787282511/ … ]
AlexS1

14

ผมขอแนะนำให้อ่านการเขียนโปรแกรม ArcGIS 10.1 กับงูหลามตำรา

ป้อนคำอธิบายรูปภาพที่นี่

จากประสบการณ์ของฉันเองคุณไม่สามารถเรียนรู้แพคเกจไซต์ arcpy อย่างเคร่งครัดโดยไม่ต้องนำแนวคิดที่ใหญ่กว่ามาจากภาษาการเขียนโปรแกรม Python ในความเป็นจริงฉันพยายามใช้วิธีที่คุณกำลังหลบเลี่ยงซึ่งฉันเริ่มใช้แพคเกจเว็บไซต์ arcpy เพื่อทำให้กระบวนการอัตโนมัติใน ArcGIS os.path.join()แต่ผมพบว่าตัวเองได้อย่างรวดเร็วผ่านเพจเอกสารหลามมองหาที่ดีกว่าวิธีการตัวอย่างเช่นจัดการเส้นทางเช่นกับ ฉันยังพบว่าฉันได้หลีกเลี่ยงไลบรารี Python ที่ทรงพลังอย่างเหลือเชื่อเช่น NumPy และ SciPy ด้วยการยอมรับทางเลือก ESRI สรุปแล้วฉันขอแนะนำขั้นตอนต่อไปนี้เพื่อเรียนรู้พื้นฐานของ Python ที่ได้รับการเสริมด้วยแพ็คเกจเว็บไซต์ arcpy:

  1. ขั้นแรก: ใช้ IDE เช่น PythonWin หรือ PyScripter เพื่อทำสคริปต์ทั้งหมดของคุณ! ผู้คนจำนวนมากใช้เวลานานเกินไปที่จะตระหนักว่าพวกเขาสามารถนำไปใช้และดีบักสคริปต์นอกหน้าต่างหลามของ ArcGIS ได้
  2. ปฏิบัติงานที่ง่ายที่สุดโดยใช้ Python ตัวอย่างเช่นกำหนดพื้นที่ทำงานและสร้างฐานข้อมูลทางภูมิศาสตร์โดยทางโปรแกรม อย่าเริ่มต้นสร้างสคริปต์ที่ซับซ้อน
  3. การทำสคริปต์ทั้งหมดของคุณโดยใช้ arcpy เริ่มแรก - โปรดจำไว้ว่ามีวิธีที่ดีกว่าและมีประสิทธิภาพมากกว่าสำหรับงานหลายอย่าง มองหาทางเลือกที่ดีกว่าด้วย Python บริสุทธิ์ทุกครั้งหากจำเป็น
  4. ค้นหาโซลูชันแบบเป็นโปรแกรมเพื่อสอบถามข้อมูลในเว็บไซต์นี้ สิ่งนี้จะช่วยไขความสามารถของคุณออกมาอย่างแน่นอนเนื่องจากมันจะทำให้คุณประสบปัญหานอกเขตความสะดวกสบายของคุณ
  5. สุดท้ายเมื่อคุณเชื่อว่าคุณมีความเข้าใจที่ดีของงูหลามใช้อาจารย์ผู้สอนนำหลักสูตรจาก ESRI เช่นรู้เบื้องต้นเกี่ยวกับสคริป Geoprocessing ใช้งูหลาม ใช่หลักสูตรเหล่านี้มีราคาแพง แต่มีคุณค่าและจะเสริมสิ่งที่คุณได้เรียนรู้ไปแล้วจริงๆ อย่าเข้าไปในหนึ่งในหลักสูตรเหล่านี้โดยไม่เข้าใจแนวคิดหลัก ๆ

6

ฉันมักจะฝึกคนในการใช้ ArcMap และหลักสูตรการฝึกอบรมของเราแนะนำผู้คนให้รู้จักกับ Python และ arcpy ฉันพยายามอย่างหนักที่จะทำให้คนอ่านไฟล์วิธีใช้! มันเกี่ยวกับคนที่ไม่ได้อ่านไฟล์ช่วยเหลือมันทำให้ฉันถั่ว!

หากคุณเปิดไฟล์ช่วยเหลือของเครื่องมือการประมวลผลทางภูมิศาสตร์ใด ๆ มันจะให้ตัวอย่างของรหัสหลามโดยใช้เครื่องมือนั้น นี่เป็นวิธีที่ยอดเยี่ยมในการเรียนรู้วิธีการโต้ตอบกับโมดูล arcpy ในสภาพแวดล้อม Python

สำหรับผู้เริ่มต้นใช้งานได้ฟรีและสร้างไว้ในไฟล์ช่วยเหลือของแอปพลิเคชัน ตามที่คุณต้องการทำสิ่งที่ซับซ้อนมากขึ้นแล้วไปสำหรับทรัพยากรที่มีการเรียงหน้าในหัวข้อนี้


3
นี้. ใช่. มีเอกสารจำนวนมากในโลก ArcGIS ผู้คนใช้เวลามากมายในการเขียนเอกสารนั้น มันค่อนข้างสับสนสำหรับฉันเมื่อผู้คนประสบปัญหาในการประดิษฐ์คำถามยาว ๆ บนอินเทอร์เน็ตที่ได้รับการตอบกลับซึ่งเป็นเพียงลิงก์ไปยังเอกสารประกอบเมื่อบุคคลสามารถใช้เครื่องมือค้นหาเขียนคำจำนวนน้อยลงอย่างมีนัยสำคัญและเข้าสู่หน้าความช่วยเหลือเดียวกันนั้น
Jason Scheirer

5

หน้าPython สำหรับ ArcGISอาจเป็นจุดเริ่มต้นที่ดี นอกจากนี้ยังมีความหลากหลายของหนังสือที่มีอยู่ ถ้าคุณไม่มีความรู้เรื่องหลาม Python.orgจะเป็นทรัพยากรที่ดีเช่นกัน


3

สิ่งเดียวที่ฉันจะเพิ่มคือการสร้างบางสิ่งบางอย่างในตัวสร้างแบบจำลองและส่งออกไปยังสคริปต์ Python เพื่อให้คุณมีความคิดว่าส่วนประกอบที่แตกต่างกันเข้ากันได้อย่างไร


7
ฉันจะระมัดระวังต่อสิ่งนี้ มีการล้างข้อมูลจำนวนมากที่คุณต้องทำด้วยวิธีการนี้ (ผู้ส่งออกแทรก cruft ชื่อตัวแปรแปลก ๆ ฯลฯ และบางอย่างไม่ทำงานเมื่อส่งออกจาก ModelBuilder) และฉันเชื่อว่าการกระทำที่เรียบง่ายของ การพิมพ์ข้อความและฟังก์ชั่นบังคับให้คุณเรียนรู้ได้อย่างมีประสิทธิภาพมากกว่าการให้เครื่องมือทำเพื่อคุณ
blah238

6
อีกทางเลือกหนึ่งคือคลิกขวาที่ผลลัพธ์การประมวลผลทางภูมิศาสตร์และคลิก "คัดลอกเป็น Python Snippet" หากคุณต้องการรับไวยากรณ์ของการเรียกใช้ฟังก์ชัน (มีประโยชน์อย่างยิ่งสำหรับการแมปฟิลด์)
blah238

ใช่แล้วมันเป็นเรื่องที่ไม่เลวเลยถ้าคุณเพียงแค่ผสานการทำงานสองอย่างเข้าด้วยกัน (อาจมีบัฟเฟอร์สองอันตามมาด้วยคลิป) แต่อย่างที่คุณบอกว่ามันน่าเกลียดอย่างรวดเร็วสำหรับรุ่นที่ใหญ่กว่า ฉันชอบความคิดในการคัดลอกสคริปต์ gp เป็นตัวอย่างข้อมูลด้วย
om_henners

ไม่ได้คิดเรื่องนั้นสำหรับการแมปฟิลด์ ฉันจะลองดู
Jay Guarneri

1
+1 นี่เป็นเคล็ดลับที่ดีเสมอโดยเฉพาะอย่างยิ่งหากคุณต้องการเรียนรู้วิธีรวมการจัดประเภทไวยากรณ์ใหม่ลงในสคริปต์ของคุณ
แอรอน

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