เริ่มต้นกับ ArcObjects หรือไม่


26

เส้นทางที่ดีที่สุดหรือสถานที่อะไรคือการเริ่มต้นกับ ArcObjects ถ้าใครไม่ได้เป็นผู้พัฒนาและไม่ได้มีเป้าหมายที่จะเป็นนักพัฒนา ?

ฉันใช้ GIS อย่างมืออาชีพมาเป็นเวลานานเกือบสองทศวรรษที่ผ่านมา arcinfo / arcgis เป็นส่วนใหญ่ ฉันค่อนข้างดี ฉันกำลังเรียนรู้การพัฒนาซอฟต์แวร์และแม้แต่มีแอปพลิเคชั่นหลามขนาดเล็กที่ประสบความสำเร็จพอประมาณที่ใช้ในโครงการสาธารณะ ฉันไม่ดี! ฉันไม่ต้องการเป็นนักพัฒนาซอฟต์แวร์เต็มรูปแบบ แต่ฉันยังคงทำงานในสิ่งที่ฉันทำไม่ได้หากไม่มีการเขียนโปรแกรม ( ตัวอย่าง ) ในโลก arcgis สิ่งนี้ทำให้ฉันค่อนข้างสวยในค่ายงูหลามซึ่งเป็นเรื่องปกติสำหรับฉันตั้งแต่ฉันชอบงูหลาม แต่งูหลามไม่สามารถเข้าถึง ArcObjects ได้โดยตรง (Python และ ArcObjects เป็นไปได้แต่เป็นเส้นทางที่ไม่ได้รับการสนับสนุนคำถามนี้เกี่ยวกับการติดตามเส้นทางที่ถูกตี)

ฉันต้องเริ่มต้น แต่ที่ไหน Arcgis ช่วยบอกว่าจะเริ่มต้นกับESRI Developer Networkแต่ $ 1,500 / yr นั้นไม่ได้อยู่ในงบประมาณของฉันและดูเหมือนจะใช้ค้อนเลื่อนเพื่อกำจัดยุง และภาษาใด NET, Visual Basic หรือ Visual C ++


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

ฉันยังคงพบปัญหาฉันไม่สามารถแก้ปัญหาด้วย arcgis และ python เพียงอย่างเดียว ฉันสามารถเรียนรู้ / ใช้เพื่อแก้ไขปัญหาอย่าง X ได้อีก ฉันไม่สนใจหรือต้องการเป็นนักพัฒนาซอฟต์แวร์ ฉันแค่ต้องทำสองสามอย่างที่ไม่ได้สัมผัสกับโมดูลอาร์คจิสงูหลาม


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

ซอฟต์แวร์ใดที่คุณมี ฉันต้องสมมติ ArcGIS Visual Studio 2008/2010 Pro / Express?
Chad Cooper

ฉันมี ArcGIS 9 & 10 ฉันไม่ได้เลือกซอฟต์แวร์การพัฒนาใด ๆ
matt wilkie

คำตอบ:


14

VB.Net เพิ่มเติมอย่างแน่นอน เส้นทางเดิน ESRI จะพาคุณไป

ฉันใช้ VB6 และ VBA มาหลายปีและโดยส่วนตัวฉันพบว่า VB ใช้งานง่าย แน่นอน VB. Net เป็นสัตว์ที่แตกต่างอย่างสิ้นเชิง แต่โครงสร้าง Add-in ค่อนข้างง่ายต่อการเรียนรู้และปรับใช้ ฉันเพิ่งเข้าร่วมเวิร์กช็อปทางเทคนิคใน ArcPy ที่การประชุม ESRI และฉันต้องบอกว่าฉันจะติดกับ VB.Net เพิ่มเติม ฉันร้องไห้แม่น้ำเมื่อเห็นได้ชัดว่า VBA จะถูกแทนที่ด้วย Add-in แต่หลังจากละเมิดช่วงการเรียนรู้ฉันต้องบอกว่ามันเป็นการปรับปรุงที่ดีที่สุดสำหรับ ArcGIS 10 ไม่มีอะไรที่ฉันไม่สามารถทำได้กับการตั้งค่านี้ ฉันมีเครื่องมือที่กำหนดเองทั่วทุกที่ สิ่งที่ผู้คนบ่นใน ArcGIS ฉันแค่ปรับตามความชอบของฉัน การเขียนเครื่องมือและแจกจ่ายในสภาพแวดล้อมสำนักงานเป็นเรื่องง่าย ...

สิ่งที่คุณต้องมีคือ Visual Studio Express และ SDK ที่ติดตั้งฟรี

นี่คือรางเดินเท้า: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

สำหรับ ArcObjects มีตัวอย่างมากมายและตัวอย่างโค้ดที่คุณสามารถเพิ่มลงใน Visual Studio ได้โดยตรงซึ่งคุณอาจจะสามารถเรียนรู้พื้นฐานจากตัวอย่างได้

ในเวอร์ชัน 8 ESRI เผยแพร่หนังสือ ArcObjects จริง ๆ 2 ไดรฟ์ข้อมูลขนาดใหญ่ที่มีการอ้างอิงที่ดีและรวมตัวอย่างมากมายสำหรับ C และ VB ตอนนี้สามารถพบได้ทั่วไป แต่ฉันหวังว่า ESRI จะเผยแพร่สิ่งเหล่านี้อีกครั้ง


3
เห็นด้วยกับทุกจุด, ฉันจะบอกว่าไป C # ถ้าคุณไม่เคยมีประสบการณ์ VBA / VB6 มาก่อน
Chad Cooper

ใช่ฉันเป็นส่วนหนึ่งของ VB ถ้าฉันเป็นนักพัฒนาและใช้แพลตฟอร์มต่าง ๆ ฉันจะไปกับ C # อย่างแน่นอน แต่ฉันพบว่า (และก็เป็นความเห็นที่นิยม) VB ชัดเจนยิ่งขึ้นสามารถมองเห็นได้ง่ายขึ้นและเข้าใจง่ายขึ้นและเหมาะสำหรับผู้เริ่มต้น
Jakub Sisak GeoGraphics

1
+1 ไปกับ C # เห็นได้ชัดว่าเป็นภาษา NET ที่ชื่นชอบโดยผู้นำในอุตสาหกรรม ฉันใช้ทั้ง VB และ C # เป็นผู้เริ่มต้นและคิดว่าจริง ๆ แล้วมันง่ายกว่าที่จะเรียนรู้และเข้าใจ นอกจากนี้ยังใกล้กับภาษาที่ใช้ C อื่น ๆ เช่น JavaScript และ Java
wilbev

7

นี่คือเสียบด้านหน้าสำหรับบทความที่ผมเขียนปีที่ผ่านมาสำหรับ ArcUser ในการเริ่มต้นกับ ArcObjects ใน .NET


แค่อ่านมันและมันก็เป็นบทความที่ยอดเยี่ยม .. จงติดตามความไร้ยางอายเพื่อเห็นแก่มือใหม่อย่างฉัน! คุณมีอะไรในการใช้ TOC ใน. net .. ฉันคิดว่าจะเริ่มใช้ COM ได้อย่างไร? ขอบคุณ
Justin

6

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

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

ในฐานะที่เป็น Steve แนะนำ ArcPy อาจตอบสนองความต้องการของคุณใน ArcGIS 10 ด้วยการเข้าถึงคุณสมบัติเลเยอร์ใหม่ในแผนที่


เรื่อง: นามแฝงของภาคสนาม - คุณควรเพิ่มสิ่งนั้นไว้เป็นคำตอบของคำถามที่ฉันไม่ทราบว่าเป็นไปได้
matt wilkie

5

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

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

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

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

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

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

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


ฉันยังต้องการเรียนรู้ ArcObject แต่ฉันไม่คุ้นเคยกับมันเลย ฉันต้องมีใบอนุญาตพิเศษใด ๆ เพื่อเริ่มต้นใช้งาน ArcObject หรือไม่ หรือฉันต้องมีส่วนประกอบ ArcObject ที่มี ArcGIS 10.4 เป็น lisense พิเศษหรือไม่?
Shiuli Pervin

2
ใช่คุณจะต้องมีใบอนุญาต ArcGIS Desktop แต่คุณสามารถรับ ArcGIS Desktop ล่าสุดได้จากเว็บไซต์ esri พร้อมใบอนุญาตเป็นเวลา 60 วัน มีมากมายให้คุณเริ่มต้น
hnasr

4

คุณไม่จำเป็นต้องสมัครสมาชิก EDN เพื่อพัฒนาด้วย ArcObjects หรือสำหรับการเข้าถึงเอกสาร SDK

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/ao_home.html


แต่คุณต้องการ EDN เพื่อเข้าถึง SDK ของตัวเองใช่ไหม? และขอให้พูดอย่างตรงไปตรงมาการดึงรหัสออกมาจากด้านหลังไม่ใช่ตัวเลือกสำหรับคนที่ไม่สนใจในการพัฒนาเช่นนี้
Nathanus

2
ไม่มันอยู่ในแผ่นซีดีติดตั้ง
blah238

มาพร้อมกับผลิตภัณฑ์ทุกรุ่นหรือไม่
Nathanus

ฉันเชื่อว่าเป็นรุ่นใหญ่ ตัวอย่างอยู่ในวิธีใช้แบบออนไลน์ด้วยเช่นกันแม้ว่า. NET จะไม่มีรายการของพวกเขา แต่ Java ก็มี: help.arcgis.com/th/sdk/10.0/java_ao_adf/conceptualHelp/engine/ ...... ไฟล์ช่วยเหลือที่ติดตั้งด้วย SDK นั้นมีประโยชน์มากกว่า
blah238

4
หากคุณมีสำเนาของ ArcGIS Desktop คุณไม่จำเป็นต้องสมัครสมาชิก EDN เพื่อพัฒนาโปรแกรมเพิ่มเติม การสมัครสมาชิก EDN เป็นเพียงวิธีหนึ่งในการมอบสำเนาของทุกสิ่งใน ArcGIS ให้แก่นักพัฒนาโดยไม่ต้องเสียค่าลิขสิทธิ์การผลิตที่แพง EDN นั้นดีสำหรับการพัฒนาถ้าคุณไม่มีใบอนุญาตการผลิตเลย คุณไม่จำเป็นต้องใช้ EDN ในการเขียนโค้ดและพัฒนาด้วย ArcObjects API
JimBarry


3

ฉันอยากจะแนะนำการเรียนรู้ arc.py ถ้าคุณยังไม่รู้จัก arcobjects เนื่องจาก esri กำลังย้ายออกจาก vba arcobjects เป็นภาษาสคริปต์ มิฉะนั้นคุณต้องการให้ visual studio และ c # เริ่มเขียนวัตถุอาร์ค นี่เป็นหนังสือที่ยอดเยี่ยม http://www.amazon.com/Exploring-ArcObjects-Two-Michael-Zeiler/dp/1589480007




0

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

บล็อก ESRI - ArcGISServer

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