ฉันต้องการพัฒนาทักษะการเขียนโปรแกรม GIS ของฉันฉันจะเริ่มจากตรงไหน? ผู้คนพูดว่าเรียนรู้ C ++ หรือ Python แต่ฉันจะเรียนรู้สิ่งนี้ได้ที่ไหนในบริบททางภูมิศาสตร์ การสอนหรือสิ่งใดก็ตามจะมีประโยชน์มากเช่นเดียวกับข้อมูลเกี่ยวกับภาษา / โปรแกรมที่จะใช้
ฉันต้องการพัฒนาทักษะการเขียนโปรแกรม GIS ของฉันฉันจะเริ่มจากตรงไหน? ผู้คนพูดว่าเรียนรู้ C ++ หรือ Python แต่ฉันจะเรียนรู้สิ่งนี้ได้ที่ไหนในบริบททางภูมิศาสตร์ การสอนหรือสิ่งใดก็ตามจะมีประโยชน์มากเช่นเดียวกับข้อมูลเกี่ยวกับภาษา / โปรแกรมที่จะใช้
คำตอบ:
มีโพสต์บล็อกหนึ่งรายการจากMichalis Avraamที่อธิบายถึงทักษะที่จำเป็นในการประสบความสำเร็จในอาชีพ GISซึ่งฉันคิดว่าเขียนได้ดี คุณอาจพบคำแนะนำที่ดีมากมาย
อัปเดต: น่าเสียดายที่ลิงค์ส่วนบนนั้นตาย แต่สามารถพบหัวข้อที่คล้ายกันได้ในบทความวิจัยหนึ่งฉบับระบุความต้องการทักษะสำหรับตำแหน่ง GIS: การวิเคราะห์เนื้อหาของโฆษณาตำแหน่งงาน
ฉันชอบ Python ของ Chris Garrard สำหรับวัสดุหลักสูตรการประมวลผลทางภูมิศาสตร์ http://www.gis.usu.edu/~chrisg/python/2009/ โดยส่วนตัวแล้วฉันพบว่าการใช้โปรแกรม OGR / GDAL เป็นโปรแกรมที่ขาดไม่ได้
สำหรับการค้นหาสิ่งที่ดีที่สุดสำหรับคุณให้พิจารณาซอฟต์แวร์หรือ geostack ที่คุณต้องการให้เป็นผู้เชี่ยวชาญมากที่สุด (เช่น ArcGIS, QGIS, PostGIS-GeoServer-OpenLayers) จากนั้นเลือกภาษาโปรแกรมที่รองรับการเลือกของคุณได้ดีที่สุด จะสามารถค้นพบได้โดยการตรวจสอบภาษาของ API ที่เกี่ยวข้องหรือแบบฝึกหัดการปรับแต่งอื่น ๆ มีทรัพยากรการเรียนรู้การเขียนโปรแกรมออนไลน์จำนวนมากอยู่และการค้นหาเว็บชุดซอฟต์แวร์ที่คุณต้องการ + ภาษา + "การสอน" จะทำให้คุณได้เรียนรู้
ฉันยังเชื่อใน "การเรียนรู้ด้วยการทำ" ยกตัวอย่างเช่นทำแผนที่ง่าย ๆ ด้วย Javascript และ Google Maps และลองเพิ่มรูปทรงเรขาคณิตสไตล์ส่วนติดต่อผู้ใช้และการวิเคราะห์ที่น่าสนใจ ทำงานเพื่อดูว่าอะไรเป็นไปได้และอะไรที่ไม่ ในขณะที่คุณสร้างคุณจะต้องใช้เครื่องมือที่ซับซ้อนมากขึ้นสำหรับการปรับแต่งและสิ่งนี้จะชี้ไปที่พลาสตอร์มภาษาและห้องสมุดที่เกี่ยวข้อง
อย่าเริ่มต้นด้วย C ++ และ GIS โดยไม่ต้องเรียนรู้การพัฒนาซอฟต์แวร์ก่อน มันมากเกินไป
Python เป็นจุดเริ่มต้นที่ดีไม่ว่าคุณจะใช้แพลตฟอร์ม GIS ใดในภายหลัง มีหนังสือเว็บไซต์และอุปกรณ์การฝึกอบรมมากมายและมีวิทยาลัยจำนวนมากที่ใช้ python เป็นบทนำก่อนที่จะเริ่มใช้ภาษาโปรแกรมหนักเช่น c ++ และ java
ทรัพยากรไพ ธ อนที่ฉันชอบ - ด้านนอกของไซต์นี้คือShow Me Do , Think Python , Stack Overflowและรายชื่อผู้รับจดหมายของซอฟต์แวร์ที่ฉันใช้ (ส่วนใหญ่เป็น GDAL และ ArcGIS)
ฉันสามารถเรียนรู้ Python โดยนั่งลงกับสำเนา Learning Python โดย Lutz & Ascher (O'Reilly Press) ที่ทำงานของฉันใช้ผลิตภัณฑ์ ESRI เพื่อรับการเชื่อมต่อกับ ArcGIS ฉันสร้างหลายรุ่นโดยใช้ Model Builder ของ ESRI และส่งออกไปยัง Python จากนั้นก็เป็นเพียงเรื่องของการดูสคริปต์ไพ ธ อนที่ส่งออกขุดผ่านหนังสือและใช้ระบบความช่วยเหลือออนไลน์ของ ESRI สำหรับหัวข้อการประมวลผลทางภูมิศาสตร์เพื่อให้ได้แนวคิดที่ดีกว่าเกี่ยวกับวิธีการที่ไพ ธ อนและ ArcGIS ทำงานร่วมกัน
มีวิทยาลัย / มหาวิทยาลัยน้อยมากที่เปิดสอนหลักสูตรการเขียนโปรแกรมที่เกี่ยวข้องกับ GIS ฉันขอแนะนำหลักสูตรประกาศนียบัตร GIS ของ Elmhurst College ซึ่งมีสอง (2) หลักสูตรเหล่านี้เป็นส่วนหนึ่งของ GIS Cert ของพวกเขา โปรแกรมทั้งสองที่เกี่ยวข้องกับการเขียนโปรแกรม:
ISG 200 การนำฐานข้อมูลทางภูมิศาสตร์ไปใช้
โปรแกรมทั้งหมดออนไลน์และมีเซิร์ฟเวอร์ GIS เฉพาะ พวกเขาสอน Python เป็นหลัก
การเขียนโปรแกรมใน GIS เป็นหนึ่งในชุดทักษะที่ระบุไว้ใน The Geospatial Technology Competency Model (GTCM) ซึ่งเพิ่งออกมาและมีชุดทักษะเพิ่มเติมบางอย่างที่อาจเป็นแหล่งอ้างอิงขั้นสุดท้ายสำหรับสิ่งนี้: http://www.careeronestop.org/ competencymodel / blockModel.aspx? tier_id = 4 & block_id = 708 & GEO = Y
คำตอบนั้นขึ้นอยู่กับระบบที่คุณใช้และระบบปฏิบัติการที่ทำงานอยู่ ฉันมักจะเขียนโปรแกรม Manifold บน Windows หรือแอพบนเว็บด้วย Manifold ที่แบ็กเอนด์ดังนั้นฉันจึงสามารถเลือกได้จากภาษา. NET C # เป็นตัวเลือกส่วนบุคคลของฉันเพราะตัวอย่างและแบบฝึกหัดส่วนใหญ่ที่คุณจะพบบนเว็บจะเป็น C # (อย่างน้อยสำหรับ. NET)
เมื่อคุณเพิ่งเริ่มออกมาManifoldอาจไม่ใช่ทางเลือกที่แย่ คุณสามารถรับได้ต่ำกว่า $ 300 และพัฒนาโดยใช้ Visual Studio รุ่น 'Express' ฟรี
หากคุณสามารถเจาะจงมากขึ้นเราอาจช่วยคุณได้มากกว่านี้
ESRI Virtual Campus เสนอหลักสูตรเบื้องต้นสั้น ๆ เกี่ยวกับการใช้ Python สำหรับการเขียนสคริปต์ใน ArcGIS ฉันคิดว่าหนึ่งในนั้นฟรี การเข้ามาเป็นวิธีที่ดีในการดูว่านี่คือสิ่งที่คุณพร้อมจะดำดิ่งลงไปหรือไม่
ทำงานผ่าน ArcMap เพื่อเรียนรู้พื้นฐานของการจัดการวัตถุเชิงพื้นที่ เมื่อคุณพอใจกับการดำเนินการพยายามสร้างกระบวนการด้วย ModelBuilder ตัวสร้างแบบจำลองนั้นเทียบเท่ากับเลโก้ในโลกของ ESRI มันทำให้คุณสามารถสร้างรหัสไพ ธ อนได้ รหัสนี้จะง่ายขึ้น แต่จะใช้งานได้
WingIDE เป็นเครื่องมือที่ทำให้จัดการสคริปต์ python ได้ง่ายเช่นเดียวกับสภาพแวดล้อมที่คาดเดาได้เพื่อทดลองใช้สคริปต์ของคุณ เปิดสคริปต์ตัวสร้างโมเดลใน IDE ที่คุณเลือกและเล่นกับมัน
เป็นภาษาการเขียนโปรแกรมไป Python เป็นผลไม้แขวนต่ำ มันจะนำคุณไปสู่ระดับที่ง่ายขึ้น :-)
ฉันประหลาดใจที่PyQGIS Developer Cookbookยังไม่มี ฉันพบว่ามันขาดไม่ได้ในการจับคู่ทักษะ GIS เก่าของฉันและทักษะ Python ใหม่ของฉันโดยเฉพาะอย่างยิ่งไม่ต้องเข้าถึง ArcGIS ในตอนนี้ หากคุณเป็นผู้ที่มุ่งเน้น ArcGIS มากกว่านั้นมีทรัพยากรมากขึ้นสำหรับคุณ
มีรายการโปรแกรมการฝึกอบรม Pythonใน StackOverflow โดยส่วนตัวแล้วฉันชอบCheckioมากกว่า
นอกจากว่าคุณมีพื้นฐานที่แข็งแกร่งในภาษาอื่น (C # สำหรับ ArcGIS, C ++ สำหรับ opensource GIS) ให้เริ่มด้วย Python และเรียนรู้ภาษาอื่น ๆ ในภายหลัง ฟังก์ชั่นที่เกี่ยวข้องกับ GIS ส่วนใหญ่ควรมีไวยากรณ์และการใช้งานที่คล้ายกันใน Python และภาษาเหล่านั้นดังนั้นการเรียนรู้ด้วยความรู้ก่อนหน้าของ Python ไม่ควรยากขนาดนั้น