การจัดระเบียบโครงการ GIS? [ปิด]


27

ฉันดิ้นรนมานานแล้วตอนนี้ด้วยการจัดระเบียบแฟ้มโครงการของฉัน

คุณมีเคล็ดลับอะไรในการรักษาชุดข้อมูลรูปภาพรูปร่างไฟล์ ฯลฯ


2
ดูคำตอบของ [คำถาม] [1] เช่นกัน [1]: gis.stackexchange.com/questions/2976/…
jonatr

คำตอบ:


36

หมายเหตุ: พูดจาโผงผางนี้จะมีการปรับปรุงตามที่ฉันไป

ฉันไม่มีคอมพิวเตอร์หรือ ArcGIS pro แต่อย่างใด แต่นี่คือสิ่งที่ฉันทำ:

ไฟล์พื้นฐาน / DBS

  • เหล่านี้เป็นไฟล์ที่ "ดิบ" ในธรรมชาติและเป็นพื้นฐานของการวิเคราะห์ทั้งหมดของฉัน
  • ไฟล์ฐานข้อมูลและข้อมูลเหล่านี้โฮสต์อยู่นอกprojectsโฟลเดอร์ของฉันและโฮสต์บนเซิร์ฟเวอร์อินเทอร์เน็ตคอมพิวเตอร์ในพื้นที่และดรอปบ็อกซ์ ฉันสามารถเข้าถึงพวกเขาได้ตลอดเวลาและพวกเขามีการจัดการที่ดีและรวมกัน คุณจะใช้เวลามากมายในการจัดการสิ่งเหล่านี้
  • ฉันวางมันทั้งหมดลงในฐานข้อมูลไม่ว่าจะเป็น Arc หรือ PostGIS
  • ในแต่ละตารางฉันเพิ่ม 3 ฟิลด์ในตารางเองหรือข้อมูลเมตา: DATE_OBTAINED, DATA_DATE, SOURCE_NOTES
  • นอกจากนี้ไฟล์ฐานอาจเป็นแบบสอบถามของตารางอื่น ๆ ตัวอย่างเช่นตารางสามารถรวมจำนวนการรับส่งข้อมูลทั้งหมดที่ฉันได้รับเป็นหนึ่งแบบสอบถาม / ตารางขนาดใหญ่
  • ฉันยังใส่ข้อมูลอื่น ๆ ที่นี่เพื่อค้นหาสิ่งที่น่ากลัวบนอินเทอร์เน็ต
  • ฉันไม่เคยทำการวิเคราะห์โดยตรงกับไฟล์ใด ๆ ในไฟล์ฐาน

ไฟล์โครงการ

  • ไฟล์โครงการทั้งหมดของฉันไปในmy_projectsโฟลเดอร์ มันมีทุกอย่างที่เกี่ยวข้องกับโครงการนั้นเช่นถ้าฉันคัดลอกและวางโฟลเดอร์นั้นที่อื่นมันจะมีทุกอย่าง
  • ฉันมักจะมีโครงสร้างต่อไปนี้:
    • โครงการของฉัน/
      • admin /
      • / การสื่อสาร
      • ข้อมูลดิบ/
      • analyzed_data /
      • output_data /
      • from_client /
      • สุดท้าย/
      • รหัส/
      • some_document_date_time.doc
      • README
  • ช้าฉันได้ย้ายไป GIT ท้องถิ่น (คุณสามารถโฮสต์ได้ในเครื่องหรือบนเซิร์ฟเวอร์ของคุณเอง) เหตุผลที่ฉันไม่ได้ใส่ไว้ใน GitHub คือ github นั้นมีขีด จำกัด 1.2gb ซึ่งไม่มีประโยชน์สำหรับการวิเคราะห์ GIS
  • สำหรับโครงการของฉันฉันมักจะทำซ้ำตาราง GIS ทั้งหมดที่ฉันต้องการสำหรับการวิเคราะห์ของฉันลงในฐานข้อมูลใหม่: project_whething
  • 9 ครั้งจาก 10 ผมทำงานเฉพาะในไฟล์บราและผมจะช่วยทุก GIS ของฉัน (ภาพ, Excel, พิกัด, ฯลฯ ) เพื่อของฉันprojects/my_project/raw_data, และprojects/my_projects/analyzed_dataprojects/my_projects/output_data
  • เมื่อโครงการเสร็จสมบูรณ์ฉันใส่สำเนาสุดท้ายที่ส่งมา my_projects/FINAL/date_submitted
  • สำหรับ MXD ของฉันฉันมักจะบันทึกเป็น MXD ใหม่ทุก 2 หรือ 3 ชั่วโมงmy_proj_dec_22_11__13_20.mxdเช่น
  • สำหรับเอกสาร MS Word, ภาพประกอบและเอกสารส่วนใหญ่แก้ไขพวกเขาไปใน my_projects โฟลเดอร์เช่นและRFP_TENDER_Dec_22_11__11_15.doc draft_ver5_Dec_31_11__12_30.docการส่งมอบสุดท้ายของฉันทั้งหมดไปในโฟลเดอร์ FINAL อีกครั้ง
  • สำหรับรหัส R, Python และ C # บางอย่างมันค่อนข้างยุ่งยากเพราะฉันโฮสต์มันนอกโครงการ แต่มีสำเนาที่ใช้งานได้ไปยังmy_projects/codeโฟลเดอร์ ฉันทำสิ่งนี้เนื่องจากรหัสหลามส่วนใหญ่สามารถใช้ซ้ำได้ หากคุณใส่รหัสไพ ธ อนทั้งหมดนอกเหนือจากโครงการคุณจะลืมรหัสเหล่านั้น นอกจากนี้รหัสหลามของฉันทั้งหมดไปที่ gitHub
  • ไฟล์โครงการของฉันรวมไฟล์ประเภทใดก็ได้รวมถึงการติดตามเวลาการสื่อสาร (ฉันบันทึกอีเมลทั้งหมดของฉันเป็นไฟล์. msg) ฉันบันทึกการสื่อสารด้วยวาจาทั้งหมดของเราในไฟล์คำและฉันใส่ไฟล์เหล่านั้นทั้งหมด my_project / การสื่อสาร
  • ด้วย ArcGIS ใช้รุ่น, LYR และ "บันทึกการเลือกเป็นเลเยอร์ shp ใหม่" เครื่องมือเหล่านี้จะทำให้ง่ายต่อการจัดเก็บไฟล์ในรูปแบบขนาดเล็กนำไฟล์มาใช้ซ้ำและด้วยรุ่นต่างๆสามารถใช้งานบางอย่างในที่อื่นได้

ผลลัพธ์สุดท้าย

  • แต่ละโครงการเมื่อสรุปได้รับการซิปและวางฮาร์ดไดรฟ์ภายนอกของฉัน
  • ผลิตภัณฑ์ขั้นสุดท้ายทั้งหมดจะถูกแปลงเป็นไฟล์จากตารางและเป็น PDF จากรูปแบบอื่นทั้งหมด
  • ทุกโครงการที่ฉันทำพิมพ์ออกมาเพื่อสำรองข้อมูลสำเนา

บรรทัดล่าง

  • แต่ละคนใช้ซอฟต์แวร์และเครื่องมือหลายอย่างและแตกต่างกัน ผู้คนจำนวนมากที่ฉันรู้จักจัดระเบียบโดยใช้basecamp , Harvestหรือเครื่องมืออื่น ๆ คนก็มีนิสัยในการทำงานที่แตกต่างกันและแนวโน้ม OCD ฉันค่อนข้างหมกมุ่นอยู่กับการจัดระเบียบสิ่งต่าง ๆ อาจจะมากกว่าคนอื่นเล็กน้อย ดังนั้นพัฒนาระบบที่ทำให้คุณเกิดความเครียดน้อยที่สุดในขณะที่รับประกันว่าคุณจะมีความสอดคล้องในการใช้และการปรับปรุง
  • สำรองข้อมูลและทำซ้ำทุกอย่าง
  • ไม่ทำงานโดยตรงกับข้อมูลดิบ / ฐานของคุณ
  • base_layer_2006.shpสำหรับโครงการของคุณมักจะใช้ไฟล์แบบจำลองการเปลี่ยนแปลงข้อมูลในช่วงเวลาและคุณไม่ต้องการที่จะหนีเพื่อหาสิ่งที่
  • แต่ละโฟลเดอร์ my_projects จะต้องมีไฟล์ข้อความ README ที่คุณแก้ไขในขณะที่คุณทำโครงการเพื่อให้ข้อมูลพื้นฐานที่คุณรู้ว่าคุณจะลืมในภายหลังเมื่อคุณเยี่ยมชมโครงการ 2 ปี

ดีมาก. ฉันเดาว่าคุณไม่ใช่ทุกคนที่เกี่ยวข้องกับการสร้างชุดข้อมูลที่ซ้ำกัน (ดิบวิเคราะห์แล้ว) และพื้นที่ที่ใช้หมด
dchaboya

2
@dchaboya ค่าใช้จ่ายของพื้นที่ดิสก์ค่อนข้างต่ำเมื่อเทียบกับระดับของความเครียดที่ฉันบันทึก นอกจากนี้ฉันไม่เชื่อในการลบอะไร
dassouki

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

@dassouki ทำไมคุณถึงสร้างไฟล์ mxd เวอร์ชั่นใหม่เมื่อใช้ git? คุณสามารถควบคุมเวอร์ชันไฟล์ mxd เหล่านี้ได้เช่นกัน
Paul Hiemstra

@PaulHiemstra ส่วนใหญ่เป็นเพราะมันง่ายสำหรับฉันที่จะเปิดหลายรุ่นในเวลาเดียวกัน
dassouki

8

คุณไม่ได้ระบุว่าคุณจะทำงานกับซอฟต์แวร์ Desktop GIS เท่านั้นดังนั้นฉันจะแบ่งปันประสบการณ์ของฉันบางอย่างจากแนวคิดการเขียนโปรแกรมที่มุ่งเน้น ก่อนอื่นให้ฉันเริ่มด้วยการบอกว่าฉันเห็นด้วยกับสิ่งที่ @dassouki พูด ฉันคิดว่าสิ่งที่สำคัญที่สุดไม่ใช่วิธีการจัดระเบียบ แต่คุณทำสิ่งนี้

แต่ไปที่เวิร์กโฟลว์ของฉัน สิ่งที่ฉันชอบเกี่ยวกับการใช้ภาษาการเขียนโปรแกรม (ในกรณีของฉัน) คือสคริปต์ที่ฉันเขียนเอกสารทุกขั้นตอนที่ฉันทำ ตรงกันข้ามกับการใช้ ArcGIS ซึ่งฉันคิดว่ามันยากที่จะเห็นว่าผู้ใช้เปลี่ยนจากข้อมูลอินพุตดิบไปเป็นอะไรที่คุณเห็นในไฟล์ mxd แน่นอนคุณสามารถเก็บบันทึกขั้นตอนทั้งหมดที่คุณทำใน GUI แต่ฉันคิดว่าภาษาการเขียนโปรแกรมยืมตัวเองดีกว่ามากในการบันทึกเวิร์กโฟลว์ที่แน่นอนที่คุณทำ สิ่งนี้มีความสำคัญอย่างยิ่งเมื่อลูกค้า / หัวหน้างานถามว่าคุณทำอะไรหรือสิ่งที่คุณทำเพื่อผลิตผลิตภัณฑ์บางอย่าง

ดังนั้นในทางปฏิบัติฉันมีหลายโฟลเดอร์ในไดรฟ์ที่สำคัญ (โปรดทราบว่าฉันเป็นนักวิทยาศาสตร์):

  • การทดลองที่นี่ฉันเก็บการทดลองทั้งหมดที่ฉันทำเช่นลองวิเคราะห์จากเนื้อหาบางส่วน การทดสอบแต่ละครั้งมีไดเรกทอรีของตัวเอง ฉันยังเก็บตารางผลลัพธ์และเช่นที่นี่ สคริปต์ R ทั้งหมดของฉันอยู่ในไดเรกทอรีนี้
  • ชุดข้อมูลชุดข้อมูลดิบของฉันทั้งหมดถูกจัดเก็บแยกจาก
  • เครื่องมือฉันมีไดเรกทอรีแยกต่างหากที่ฉันเก็บรหัสที่ฉันวางไว้ทั่วไปเพื่อนำมาใช้ในโครงการอื่น
  • เอกสารงานของฉันหมุนรอบการเขียนบทความทางวิทยาศาสตร์ สำหรับกระดาษแต่ละเล่มฉันมี dir แยกต่างหากที่ฉันเก็บไฟล์ลาเท็กซ์ไว้ ไฟล์เหล่านี้อ่านภาพประกอบและตารางจากไดเรกทอรีการทดลอง กระดาษสามารถมีภาพประกอบหลายภาพ
  • ซอฟต์แวร์ใน dir แยกฉันเก็บซอฟต์แวร์ส่วนใหญ่แพคเกจ R ฉันเขียนและรหัส fortran บางฉันรวบรวมเพื่อเรียกใช้แบบจำลอง

แนวคิดหลักที่ฉันใช้:

  • แยกสิ่งต่าง ๆ ในรูปแบบไดนามิก (ที่ค่อนข้างคงที่): ตัวอย่างเช่นการบันทึกสคริปต์ทั่วไปในที่ที่แตกต่างจากที่คุณบันทึกโครงการระยะสั้น หรือแยกข้อมูลดิบของคุณออกจากการวิเคราะห์ของคุณ
  • ใช้ซอฟต์แวร์การจัดการเวอร์ชันที่คุณสามารถทำได้ ฉันชอบ Mercurial และ Git
  • สำรองข้อมูลอัตโนมัติของคุณ !!!! คุณไม่เคยคิดเกี่ยวกับพวกเขาเมื่อคุณทำด้วยตนเองแล้วฮาร์ดไดรฟ์ของคุณล่ม ภายใต้ linux ระบบอัตโนมัติชนิดนี้เป็นเรื่องง่าย ฉันไม่แน่ใจว่าสิ่งนี้เป็นอย่างไรใน Windows / Mac

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


1
+1 เกี่ยวกับการสำรองข้อมูลอัตโนมัติ นั่นเป็นเหตุผลที่ฉัน Simlink โฟลเดอร์ของฉันไปที่ดรอปบ็อกซ์
dassouki

3
ดรอปบ็อกซ์มีพื้นที่เก็บข้อมูลที่คุณต้องการหรือไม่ และคุณรู้สึกอย่างไรเกี่ยวกับการวางงานอันมีค่าของคุณไว้ในมือของ บริษัท ภายนอก?
Paul Hiemstra

3

ฉันต้องการเพิ่มคำตอบข้างต้น - 2 สิ่ง

  1. ฉันชอบที่จะมีโฟลเดอร์ในไดเรกทอรีนำเข้าข้อมูลดิบ - โฟลเดอร์สำหรับแต่ละครั้งที่ได้รับชุดข้อมูล - เช่น from_clientname-2011dec23 วิธีนี้ฉันสามารถติดตามกลับเมื่อฉันได้รับข้อมูลแต่ละชิ้นที่ใช้ในโครงการ

  2. ฉันยังชอบที่จะพับโครงการ doc ในระหว่างการเดินทาง - ฉันสามารถสร้าง word word หรือไฟล์ TXT อย่างง่ายที่นี่ที่ฉันสามารถเขียนสิ่งที่ฉันทำในโครงการวันที่และใครที่ร้องขอ วิธีที่ฉันสามารถย้อนกลับไปและปิดบังตัวเองคือคำถามที่ว่าทำไมฉันถึงทำอะไรบางอย่าง สิ่งนี้อาจฟังดูน่าเบื่อสำหรับคำขอเล็ก ๆ แต่มันสามารถช่วยคุณได้ในที่สุด


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