การเรียนรู้. NET สำหรับ ArcGIS (ส่วนใหญ่เป็นเดสก์ท็อป) ใช้?


12

ฉันมีทักษะการเขียนโปรแกรมขั้นพื้นฐาน (ฉันเขียนโปรแกรมสคริปต์ vba python และ lisp แบบง่ายและได้ผ่านหลักสูตร java มานานแล้ว) แต่ดูเหมือนว่าฉัน (ตัดสินโดยสื่อสิ่งพิมพ์ ESRI) ว่าไม่จำเป็นต้องเรียนรู้. NET ความเกี่ยวข้องในอนาคตในตลาดงาน GIS (แม้ในฐานะนักวิเคราะห์)

ฉันได้ผ่านหลักสูตรพื้นฐาน c # และสามารถเขียนโปรแกรม (อย่างน่าเสียดาย) โปรแกรมที่ค่อนข้างแย่ แต่ฉันไม่รู้ว่าจะเชื่อมโยงความรู้ c # กับการเขียนโปรแกรมจริงสำหรับ arcgis เพื่อความคืบหน้าได้อย่างไร

1) ฉันรู้ว่าความแตกต่างนั้นไม่ใหญ่ แต่ ArcGIS ใช้. NET หรือ C # หรือไม่

2) ฉันรู้วิธีที่ดีที่สุดในการเพิ่มพูนประสบการณ์ของฉันใน. NET คือการเขียนโปรแกรมมากขึ้นเรื่อย ๆ แต่มีหนังสือหรือหลักสูตรการเขียนโปรแกรม. NET ที่ดีที่ฉันสามารถเรียนรู้เทคนิคได้หรือไม่

3) ในความเห็นของคุณวิธีที่ดีที่สุดในการเรียนรู้การเขียนโปรแกรมใน. NET สำหรับ ArcGIS คืออะไร? มีหนังสือหรือเว็บไซต์ที่เป็นประโยชน์หรือไม่?

ฉันขอขอบคุณความคิดเห็นของคุณเกี่ยวกับ ArcGIS 10 (และจะบันทึกไว้ในภายหลัง) แต่ถ้าคุณสามารถให้หัวฉันสำหรับ ArcGIS 9.3.1 ที่จะยิ่งใหญ่ (ฉันพบว่าตัวเองอยู่ในตำแหน่งที่แน่นอนมากในขณะที่ Esri และ ทั้งโลกมุ่งเน้นไปที่ ArcGIS 10.0 (รวมถึงตัวแทน Esri ในท้องถิ่น) เกือบไม่มีใครในประเทศที่ได้รับการอัพเกรดจาก 9.3.1 หรือมีแผนจะทำเช่นนั้นและฉันเองก็มีปัญหาในการหาคำตอบที่เหมาะสม 9.3.1)

คำตอบ:


9

ESRI มีวิดีโอมากมายและฉันคิดว่าสิ่งเหล่านี้เป็นแหล่งข้อมูลที่ดีที่สุดในการเริ่มต้น ฉันขอแนะนำให้ดูวิดีโอการประชุมนักพัฒนา ESRI เวลาเขียน2010 เป็นวิดีโอล่าสุด

วิดีโอแต่ละรายการสรุปว่าจะไปที่ไหนต่อไป (แหล่งข้อมูลเพิ่มเติม)


7

4

หากคุณต้องการเขียนสิ่งที่หลีกเลี่ยงการดูถูกเหยียดหยามของโปรแกรมเมอร์สิ่งที่คุณรู้สึกภาคภูมิใจในผลงานคุณจะต้องเข้าใจการออกแบบและพัฒนาเชิงวัตถุ (ถ้าคุณยังไม่เข้าใจ) . การเชี่ยวชาญภาษาและกรอบงานเฉพาะสามารถมาได้ในภายหลัง

โดยทั้งหมดให้ใช้. NET และ ArcObjects เป็น go-to language / API เมื่อทำงานผ่านแบบฝึกหัดการเขียนโปรแกรมในหนังสือพัฒนาซอฟต์แวร์ที่ดี นี่คือบางส่วนที่จะเริ่มต้น:

  • Pragmatic Programmer : แนวทางปฏิบัติที่ดีที่สุดเมื่อเขียนโค้ดและสิ่งดีๆในวงจรชีวิตโครงการซอฟต์แวร์
  • รหัสเสร็จสมบูรณ์ : คล้ายกับด้านบน แต่มีรายละเอียดและตัวอย่างมากมาย
  • ทดสอบการพัฒนาแบบขับเคลื่อน : TDD บังคับให้คุณปฏิบัติตามแนวทางปฏิบัติที่แนะนำสำหรับหนังสือสองเล่มข้างต้น
  • รูปแบบการออกแบบ Head First : หากคุณต้องจัดการกับ ArcObjects คุณจะต้องรู้เกี่ยวกับรูปแบบการออกแบบ API ป่วยด้วยพวกเขา

Code Complete นั้นค่อนข้างใหญ่ แต่ส่วนที่เหลือสามารถอ่านได้อย่างรวดเร็ว ฉันขอแนะนำหนังสือสองเล่มแรกสำหรับคน GIS ที่จะไม่เขียนโค้ด มีบางสิ่งที่ยอดเยี่ยมในการควบคุมซอร์สการจัดการโครงการการสื่อสารและการออกแบบที่ดี


ฉันไม่เห็นด้วยเพิ่มเติม ใช้แนวทางรากหญ้าและจะจ่ายเงินปันผล
เคลโซ

4

แค่อยากจะเพิ่มเล็กน้อยจากประสบการณ์ส่วนตัวของฉัน ฉันเรียนรู้ว่าส่วนใหญ่เป็นผลพลอยได้จากความต้องการของนายจ้าง ก่อนอื่นด้วยสคริปต์ ArcGIS Desktop จากนั้นจึงขยายส่วนต่อจากนั้นเขียนโปรแกรม ArcGIS Server (SOE, Web ADF และ web API) ทรัพยากรที่ดีที่สุดในความคิดของฉันคือ API และเอกสารช่วยเหลือจริง ๆ เมื่อแบ่งออกเป็นพื้นที่ที่ไม่รู้จักครั้งแรกฉันจะอ่านความช่วยเหลือเกี่ยวกับแนวคิดเล็กน้อยแล้วดำดิ่งลงไปในการเข้ารหัสและอ้างอิงเอกสาร API ตามที่จำเป็น จากนั้นถ้าฉันจะติดฉันจะใช้ฟอรั่ม Esri ตัวอย่างโค้ดที่มีอยู่จะมีประโยชน์ในบางครั้ง แต่โดยปกติฉันไม่สามารถหาได้มากนักว่าใช้ได้กับสิ่งที่ฉันกำลังทำอยู่ - ซึ่งอาจไม่มากเท่านี้ วิดีโอ Esri และไซต์ที่ยอดเยี่ยมนี้ยังไม่พร้อมใช้งานดังนั้นจึงเป็นแหล่งข้อมูลเพิ่มเติมอย่างแน่นอน

ฉันจะเพิ่มว่าฉันเรียนภูมิศาสตร์ GIS และ comp-sci ที่มหาวิทยาลัยและฉันคิดว่าเป็นการยากที่จะเข้าใจ GIS dev จาก "classwork" หรือจากการเข้าใกล้สิ่งต่าง ๆ โดยทั่วไป หากคุณอยู่กับนายจ้างที่ทำงานกับระบบสารสนเทศภูมิศาสตร์ฉันขอแนะนำให้พูดคุยกับกลุ่ม GIS ที่นั่นเพื่อระบุความต้องการที่จะสร้างเครื่องมือทดสอบที่ดีสำหรับคุณแม้ว่าคุณจะต้องทำงานด้วยตัวเองก็ตาม นอกจากนี้ฉันจะพยายามหาฟังก์ชั่นเฉพาะบางอย่างที่คุณต้องการหรือคุณคิดว่าจะน่าสนใจที่จะรวมตัวกันจากนั้นทำงานเพื่อค้นหาสิ่งที่คุณต้องรู้เพื่อให้บรรลุ


ฉันมีประสบการณ์ที่คล้ายกัน มันทำงานได้ดีสำหรับฉัน!
George Silva

3

รหัสที่มีอยู่ ( นอกเหนือจากคำตอบอื่น ๆ ... ไม่ได้อยู่ในตำแหน่ง )

มีจำนวนมากของมันออนไลน์ในสถานที่เช่นGoogle โครงการ , CodeplexและGithub

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


2

1) ArcGIS หรือ ArcObjects เป็นรุ่น COM ที่มี. Net, Java และ C ++ wrapper อยู่ด้านบน ดังนั้นภาษา. Net หรือ Java หรือ C ++ ใด ๆ ก็สามารถใช้ได้ ดูวิธีใช้ ArcObjects . Net , Java , C ++

2) ฉันขอแนะนำหนังสืออ้างอิงที่มีเนื้อหามากมายเช่น Begining C # หรือ VB.Net จาก Wrox

3) ฉันจะเริ่มต้นโดยดูที่ตัวอย่างในเอกสาร พิเศษเพิ่มในสิ่งที่


2

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

ฟังดูโง่ แต่วิธีที่ฉันเปลี่ยนจาก Visual Basic 6 เป็น VB.NET และ C # คือการศึกษาหนังสือรับรอง ในเวลานั้นมีการเน้นมากเกี่ยวกับสิ่งที่แตกต่างระหว่าง COM และ. NET ตั้งแต่มันใหม่ พื้นฐานที่ดีในการพัฒนาภาษาที่คุณเลือกจะช่วยให้คุณสามารถนำทางผ่านตัวอย่างของ บริษัท ซอฟต์แวร์และเอกสารประกอบ

ทำความรู้จักกับ COM Interop; ESRI มีข้อมูลที่ดีอยู่บ้าง แต่เฉพาะ ESRI ใน ArcGIS COM Interop อาจไม่ใช่เพื่อนของคุณ แต่คุณจะได้รับการดีบักจำนวนมากหากไม่มีมัน


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

2

ดูทรัพยากรออนไลน์สำหรับ Esri ฉันอดไม่ได้ที่จะสังเกตว่า ArcObjects ไม่มีส่วนแบ่งในทรัพยากรที่ทันสมัยและทันสมัยเหมือนกับเทคโนโลยี ArcGIS อื่น ๆ

นั่นคือเหตุผลที่ฉันเริ่มต้นช่องIGeometry Youtube เพื่อพูดคุยเกี่ยวกับ ArcObjects ซีรีส์ที่ฉันเรียกว่า. NET Programming กับ ArcObjects ได้มาถึงตอนที่ 14 จนถึงตอนนี้และกลุ่ม GIS จำนวนมากได้รับประโยชน์จากมันจริงๆ

ซีรีส์นั้นมาจากโครงการสมมติที่ฉันสร้างขึ้นเรียกว่า "ร้านอาหาร" ซึ่งคุณต้องสร้างแอปพลิเคชันที่ด้านบนของ ArcMap เพื่อค้นหาจัดการเพิ่มลบร้านอาหาร ในแต่ละตอนเราแนะนำอินเทอร์เฟซใหม่และเรียนรู้เกี่ยวกับวัตถุเม็ดเล็ก ๆ ใน ArcObjects อย่างสนุก!

ฉันโพสต์วิดีโอทุกสัปดาห์ทุกครั้งที่มีโอกาสอนุญาตเพราะนี่คือสิ่งที่ฉันทำในเวลาของฉันเอง

อย่าลังเลที่จะตรวจสอบตอนนี้และแบ่งปันกับ GIS ที่คุณอาจรู้ ข้อเสนอแนะยินดีต้อนรับเสมอเพื่อปรับปรุงซีรีส์

ใครจะรู้บางทีเมื่อเราทำสิ่งนี้เสร็จฉันอาจเริ่มต้นซีรีส์ใหม่

สนุก,

การเขียนโปรแกรม. NET ด้วย ArcObjects (IGeometry) - 01 - เริ่มต้นใช้งาน

การเขียนโปรแกรม. NET ด้วย ArcObjects (IGeometry) - 02 - การทำงานกับเลเยอร์

การเขียนโปรแกรม. NET ด้วย ArcObjects (IGeometry) - 03 - เลเยอร์การกรอง

... ...

ดูเพลย์ลิสต์ทั้งหมด (14 ตอน)

http://www.youtube.com/watch?v=XrZs1rwmOwg&index=1&list=PLQnljOFTspQXqYsWJG8o-eJpGlvzww9lE


1

การเริ่มต้น ArcGIS เพื่อการพัฒนาเดสก์ท็อปโดยใช้. NET , หนังสือของ Pouria Amirian ช่วยให้ฉันพัฒนาแอพพลิเคชั่น ArcGIS / ArcMap ได้ ฉันคิดว่านี่เป็นหนึ่งในหนังสืออ้างอิงที่ดีที่สุดสำหรับผู้เริ่มต้นที่จะเริ่มต้นด้วยแนวคิด. NET ขั้นพื้นฐานและผูกไว้ใน ArcObjects มันมาพร้อมกับตัวอย่างรหัส C # และชุดข้อมูล


หนังสือเล่มนี้มี ArcGIS และโปรแกรม visual studio ด้วยหรือไม่
Salman

ไม่ไม่มีซอฟต์แวร์ใด ๆ
EvilInside


0

Web ADFเป็น. NET SDK ของ ESRI มันจะถูกเลิกใช้หลังจากการเปิดตัวครั้งต่อไป

อย่างไรก็ตามถ้าคุณใช้ 9.3.1, Web ADF จะเป็นชุดเครื่องมือของคุณสำหรับ. NET มีทรัพยากรออนไลน์ ESRI และอื่น ๆ มากมาย

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


0

การย้ายจาก VBA ไปยัง. NET นั้นค่อนข้างยุ่งยาก ฉันรู้ว่างูหลามเป็นทั้งหมดวิโรธที่ v10 แต่หวัง ESRI นำสิ่งที่ร่วมกันเพื่อเดินไปรอบ ๆ จะย้ายไปอยู่กับ .NET เพิ่มใน s เป็นการเทียบเท่ากับหนังสือที่ยอดเยี่ยมเกี่ยวกับ 'ทำความรู้จักกับ Arcobjects' ซึ่งมีเฉพาะใน VBA

อ่านpdf นี้ (2008)เกี่ยวกับการย้ายจาก VBA เป็น NET ฉันขอแนะนำให้อ่านลิงค์นี้ใน v10 webhelp

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