การจัดระเบียบไฟล์สำหรับการแบ่งปันรหัส ArcGIS python


13

โครงสร้างองค์กรที่ดีที่สุดสำหรับการแบ่งปันรหัสอาร์จีงูหลามและเครื่องมือการประมวลผลทางภูมิศาสตร์คืออะไร? หรือแม้แต่รหัสการใช้งานร่วมกันและเครื่องมือในการแบ่งปันมีการแยกคำถาม

Esri มีวิธีการกระจายโครงสร้างเครื่องมือที่เผยแพร่สำหรับ Arcgis 9.3 และ 10.0:

การกระจายตัวอย่างโครงสร้างโฟลเดอร์เครื่องมือ

อย่างไรก็ตามในสถานที่อื่น ๆผู้คนกำลังพูดถึงสิ่งต่าง ๆ เช่นAlso do avoid distributing your code the way its done in Arc Scripts or Code Galleriesในความโปรดปรานของงูเหลือมดิททิทอล Esri ดูเหมือนจะไม่มีบทความเครื่องมือการแจกจ่ายที่สอดคล้องกันสำหรับ 10.1 ( อ้างอิง ) โดยให้น้ำหนักกับข้อโต้แย้ง

GIS.se พูดว่าอะไร?

อัปเดต:แม้ว่าอาจจะช้าไป แต่คำถามของคำถามนี้เกี่ยวกับแนวทางปฏิบัติที่ดีที่สุดสำหรับโครงสร้างไฟล์และโฟลเดอร์ก่อนเครื่องมือที่ใช้สำหรับการแบ่งปัน (arcgis online, google drive, dropbox, github, bitbucket เป็นต้น) เล่น.

Update2:และจะไม่มีใครพูดถึงวิธีการกลั่นกรองเด็กกำพร้าที่เห็นได้ชัด?


คุณเคยคิดวิธีแก้ปัญหาที่ใช้การได้สำหรับสิ่งนี้หรือไม่?
traggatmot

@traggatmot ไม่ฉันยังไม่ได้ วันนี้ฉันจะตรวจสอบไซต์ Github ของ Esriสำหรับโครงการ python-with-toolboxes ที่มีดาวมากที่สุดและ / หรือมีส่วนร่วมมากที่สุด (เน้นที่ 2 เนื่องจาก Q นี้เกี่ยวกับการแบ่งปันและนำกลับมาใช้ใหม่)
matt wilkie

คำตอบ:


10

ที่ 10.1 และ 10.2 โฟลเดอร์ Toolshare ที่คุณแสดงไว้ดูเหมือนจะไม่ได้รับการบันทึกไว้อีกต่อไป

ฉันสงสัยว่าเป็นเพราะคำแนะนำปัจจุบันจะใช้แพ็คเกจทางภูมิศาสตร์แทน Toolshare Folders:

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

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


... ซึ่งฉันคิดว่าหมายถึงคำตอบของ "โครงสร้างองค์กรคืออะไร" อาจค้นพบได้โดยการคลายซิปด้วยไฟล์แพคเกจการประมวลผลด้วยตนเองและตรวจสอบอวัยวะภายใน
แมตต์วิลคี

ฉันยังไม่ได้ลองเปลี่ยนชื่อเป็น * .zip และคลายซิป a * .gpk แต่ความเข้าใจของฉันก็คือคุณสามารถทำได้ ฉันสงสัยว่ามันจะดูเยอะมาก ๆ เหมือนโฟลเดอร์ toolshare
PolyGeo

5

ฉันใช้Google Driveเพื่อแบ่งปันสคริปต์ Python และเครื่องมือสคริปต์ระหว่างเพื่อนร่วมงาน สคริปต์ทั้งหมดจะถูกเก็บไว้ในโฟลเดอร์ที่ใช้ร่วมกันพร้อมกับกล่องเครื่องมือ ArcGIS ซึ่งมีเครื่องมือสคริปต์ที่เชื่อมโยงทั้งหมด (และรุ่น) วิธีการนี้มีประโยชน์หลายประการ: 1) ทุกคนทำงานนอกเวอร์ชันสคริปต์เดียวกัน 2) คุณสามารถกำหนดสิทธิ์การเขียนหรืออ่านอย่างเดียวและ 3) การทำงานร่วมกันตัวอย่างเช่นในสถานที่ทำงานที่แตกต่างกันมหาวิทยาลัยและประเทศต่างๆ ไดรฟ์มากกว่าที่จะพยายามตั้งค่าการเข้าถึงของผู้ใช้บนเซิร์ฟเวอร์ที่คุณอาจหรืออาจไม่ดูแล


1
+1 และอาจพูดเช่นเดียวกันสำหรับDropbox
om_henners

ดังนั้นคุณจัดเก็บสคริปต์และกล่องเครื่องมือทั้งหมดของคุณในระดับโฟลเดอร์เดียวกันถูกต้องหรือไม่
RyanKDalton

@RyanDalton เพื่อความง่ายฉันมักจะจัดเก็บโฟลเดอร์หนึ่งลึกในระดับเดียวกับกล่องเครื่องมือ แม้ว่า Gdrive รองรับโครงสร้างไฟล์ที่ซับซ้อนเช่นกัน
แอรอน

2
ใครก็ตามที่พบว่าเวิร์กโฟลว์นี้ดึงดูดความสนใจอย่างแน่นอนควรดูที่ซอฟต์แวร์ควบคุมเวอร์ชันGitและ GitHub เว็บไซต์แบ่งปันพื้นที่เก็บข้อมูลยอดนิยม มันให้คุณทั้งหมดข้างต้น - สคริปต์หลักสิทธิ์ที่กำหนดไว้และการเข้าถึงได้กว้าง - มีความสามารถในการติดตามการเปลี่ยนแปลงทั้งหมดที่เกิดขึ้นกับสคริปต์ (รวมถึงวันที่และผู้เขียน), ทดลองกับคุณสมบัติใหม่ในขณะที่รักษาเวอร์ชันการผลิต การแก้ไขไฟล์เดียวกันพร้อมกัน ฯลฯ มันซับซ้อนกว่าการใช้งาน แต่ฉันพบว่ามันมีประโยชน์อย่างมาก
Matt Parker

Google Drive, Dropbox, Git + Github, Mercurial + Bitbucketและเพื่อน ๆ ล้วนเป็นเส้นทางที่ยอดเยี่ยมสำหรับการแชร์ไฟล์และรหัส แต่นั่นไม่ใช่คำถามของคำถามนี้ ฉันปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดสำหรับโครงสร้างไฟล์และโฟลเดอร์ก่อนที่เครื่องมือจะถูกใช้เพื่อการแบ่งปัน
matt wilkie

1

ArcGIS Pro doc ของ Esri การขยายกระบวนการทางภูมิศาสตร์ผ่านโมดูล Pythonแสดงวิธีการจัดโครงสร้างโครงการที่เป็นมิตรต่อผู้ใช้งานรวมถึงการสร้างตัวติดตั้งไบนารี Windows และ Linux

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

รูปแบบโครงการที่มา:

ต้น Src

กลายเป็นสิ่งนี้ในระบบของผู้ใช้ปลายทางภายใต้ C:\Path\to\ArcGIS\Desktop\python

แผนผังโฟลเดอร์ปลายทาง

พวกเขาไม่ได้พูดถึงpipแต่จากการศึกษาตัวอย่างฉันไม่เห็นว่าทำไมมันไม่ทำงาน Ex: สำหรับการแก้ไขการทำงานร่วมกันและ / หรือชุดเครื่องมือที่มีการเปลี่ยนแปลงมักจะติดตั้งโดยใช้pip install --editable X:\path\to\src,pip install --editable http://github.com/project/path/to/master

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