ArcObjects ile başlamak?


26

Bir geliştirici değilse ve geliştirici olmayı hedeflemiyorsa , ArcObjects ile başlamak için en iyi yol veya yer nedir?

Uzun zamandır profesyonel olarak GIS'i kullanıyorum, neredeyse yirmi yıldır, bunun için arcinfo / arcgis; Oldukça iyiyim. Yazılım geliştirmeyi öğreniyorum ve hatta kamu projesinde kullanılan mütevazı derecede başarılı bir küçük python uygulamasına sahibim; İyi değilim! Tam teşekküllü bir yazılım geliştiricisi olmak istemiyorum, ancak programlama olmadan yapamayacağım şeylerle uğraşıyorum ( örnek ). Arcgis dünyasında bu, beni pitonu sevdiğimden beri iyi olan piton kampına oldukça kargaşalı bir şekilde koyuyor, ancak python'un ArcObjects'e doğrudan erişimi yok. (Python ve ArcObjects mümkündür , ancak desteklenmeyen bir yoldur. Bu soru dayak yolu izlemektir.)

Başlamam gerek ama nerede? Arcgis , ESRI Geliştirici Ağı'na başlayacağınızı söylüyor ancak 1500 $ / yıl kesinlikle bütçeme dahil değil ve sivrisinekleri sallamak için bir kızak çekiç kullanmak gibi görünüyor. Ve hangi dilde .NET, Visual Basic veya Visual C ++?


GÜNCELLEME: Harika cevaplar için herkese teşekkür ederim. Bunların ışığında, benim sorunumun daraltılmayacağımı, sorumun kapsamını önceden "ArcObjects" olarak kabul etmem gereken yön olduğunu varsayıyor olduğumu fark ettim.

Sadece arcgis ve python ile çözemediğim problemlerle uğraşıyorum. X gibi sorunları çözmek için başka ne öğrenebilirim / kullanabilirim? Yazılım geliştiricisi olmak gibi bir ilgim yok. Arcgis Python modüllerine maruz kalmayan birkaç şey yapmam gerekiyor.


Bu, Stack Overflow'tan ( ref ) geri dönüşmüş bir sorudur; Bu yüzden tekrar yardım etmek için daha iyi bir konumda olan insanlardan daha kapsamlı bir cevap almasını istiyorum.
matt wilkie

Emrinizde hangi yazılımlar var? ArcGIS farz etmeliyim. Visual Studio 2008/2010 Pro / Express?
Chad Cooper,

ArcGIS 9 ve 10'um var. Herhangi bir geliştirme yazılımı seçmedim.
matt wilkie

Yanıtlar:


14

VB.Net Eklentileri kesin. ESRI yalakları sizi yolda tutacaktır.

VB6 ve VBA'yı yıllardır kullanıyorum ve şahsen VB'yi oldukça sezgisel buluyorum. Elbette VB .Net tamamen farklı bir hayvandır, ancak eklenti yapısının öğrenilmesi ve konuşlandırılması nispeten kolaydır. Bir ESRI konferansında ArcPy'de teknik bir atölye çalışması yaptım ve VB.Net eklentilerine bağlı kalacağımı söylemeliyim. VBA'nın eklentilerle değiştirileceği ortaya çıktığında nehirleri ağlatıyordum ancak öğrenme eğrisini ihlal ettikten sonra, bunun ArcGIS 10'a yapılan en iyi tek gelişme olduğunu söylemeliyim. Her yerde özel aletlerim var. ArcGIS’te insanların şikayet ettiği şeyler, benim zevkime göre uyarlanıyorum. Bir araç yazmak ve bir ofis ortamında dağıtmak bir esinti ...

Tek ihtiyacınız olan ücretsiz Visual Studio Express ve kurulu SDK.

İşte örnek: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w20000/

ArcObjects'e gelince, doğrudan Visual Studio'ya ekleyebileceğiniz çok sayıda örnek ve kod parçacıkları var; bu örneklerden sadece temelleri öğrenebilirsiniz.

8. sürümde ESRI, ArcObjects kitaplarını yayınladı; Mükemmel bir referans olan ve C ve VB için birçok örnek içeren 2 büyük cilt. Hepsi şimdi çevrimiçi olarak bulunabilir, ancak ESRI'nin bunları tekrar yayınlamasını diliyorum.


3
Tüm noktalarda Kabul, buuuuttt, ben size önce VBA / VB6 deneyimi yoksa go C # söyleyebilirim.
Chad Cooper

Evet, VB'ye kısmiyım. Eğer bir geliştirici olsaydım ve çeşitli platformlar kullansaydım, kesinlikle C # ile giderdim, ama (ve böylece popüler görüşü) VB'yi görsel olarak daha net ve daha kolay kavrar ve sonuç olarak yeni başlayanlar için daha uygun bulurdum.
Jakub Sisak GeoGraphics

1
C1 ile devam eden +1. Sektördeki liderlerin açıkça en sevdiği .NET dili. Hem VB'yi hem de C #'yı başlangıç ​​olarak kullandım ve aslında öğrenmenin ve anlamanın daha kolay olduğunu düşünüyorum. Ayrıca JavaScript ve Java gibi diğer C-tabanlı dillere daha yakın.
wilbev

7

İşte, ArcUber'in .NET'teki ArcObjects ile çalışmaya başlaması için geçen yıl yazdığım bir makale için utanmaz bir eklenti .


Sadece oku ve harika bir makale ... Benim gibi yenilerin uğruna utanmazlıkla devam et! TOC’yu .net’te kullanma konusunda bir fikriniz var mı? Teşekkürler.
Justin

6

Ciddi bir geliştirici olmak istemiyorsanız, programlama dünyasına adım atma adımınızı sorgulardım. Buradaki sorun, kod yazmak için başlık altında neler olduğunu anlamanız gerektiğidir . Aksi taktirde, verilerinize, uygulamanıza ve hatta bilgisayarınıza yapmayacağınız bir şeyi, bir anlayış eksikliğinden (evet, Python'da da yapabilirsiniz, ancak .NET, hataları biraz daha kolay hale getirme konusunda bir adım daha) comimt).

Alan takma adları hakkındaki sorunuza göre (doğru bir şekilde anladığımdan emin değilim) bir özellik sınıfındaki alanların takma adlarını değiştirmeyi mi istiyorsunuz? Eğer öyleyse, alan haritalama ile featureclass_to_featureclass kullanabilirsiniz. Evet, başka bir özellik sınıfı yaratıyor, ancak bunu yaparken verileri kopyalamak ve diğer adlarını değiştirmek için yalnızca bir çıktı alanına sahip olabilirsiniz.

Steve'in önerdiği gibi ArcPy, ArcGIS 10'daki gereksinimlerinizi haritadaki katman özelliklerine yeni erişim ile cevaplayabilir.


re: alan takma adları - bunu Q'ya bir cevap olarak eklemelisiniz. Bunun mümkün olduğunu bilmiyordum.
matt wilkie

5

Esri'nin çevrimiçi kaynaklarına bakarken yardım edemedim, ancak ArcObjects'in diğer ArcGIS teknolojileri gibi zengin ve güncel kaynaklara nasıl sahip olmadığına dikkat edin.

İşte bu yüzden IGOmetry Youtube kanalını tartışmaya başladım. ArcObjects ile .NET Programlama olarak adlandırdığım ArcObjects dizisini şu ana kadar 14. bölüme koydum ve birçok GIS çalışanı bundan gerçekten faydalanıyor.

Seri, "Bestaurants" adlı yarattığım kurgusal bir projeye dayanıyor; burada ArcMap üzerinde restoranlar aramak, yönetmek, eklemek, silmek için bir uygulama oluşturmanız gerekiyor. Her bölümle yeni bir arayüz tanıtıyoruz ve ArcObjects'teki ince taneli objeleri eğlenceli bir şekilde öğreniyoruz!

Her fırsatta izin verdiğinde videoları haftalık olarak gönderiyorum, çünkü bu kendi zamanımda yaptığım bir şey.

Şimdi kontrol etmekten çekinmeyin ve bildiğiniz herhangi bir GIS ineği ile paylaşın. Serinin geliştirilmesi için öneriler her zaman memnuniyetle karşılanmaktadır.

Kim bilir, belki bunu bir kez bitirince başka bir seri başlayabilirim.

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


Ayrıca ArcObject'i de öğrenmek istiyorum. Ama ben buna hiç aşina değilim. ArcObject ile başlamak için herhangi bir ek lisansa ihtiyacım var mı? veya ek bir lisense olarak ArcGIS 10.4 bulunan ArcObject bileşenine ihtiyacım var mı?
Shiuli Pervin

2
Evet, ArcGIS Masaüstü Lisansına ihtiyacınız olacak, ancak esri web sitesinden en son ArcGIS Desktop yazılımını 60 gün boyunca lisanslı olarak alabilirsiniz. Başlamanız için çok fazla.
hnasr

4

ArcObjects ile geliştirmek veya SDK belgelerine erişmek için bir EDN aboneliğine ihtiyacınız yoktur.

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


Ancak SDK'nın kendisine erişmek için EDN'ye ihtiyacınız var, değil mi? Ve dürüst olalım, kodu arkanızdan çıkarmak, bu tür bir gelişimin nitelikleri ve titizliği ile ilgilenmeyen biri için tam bir seçenek değildir.
Nathanus

2
Hayır, kurulum CD'sinde.
blah238

Ürünün her sürümü ile birlikte geliyor mu?
Nathanus

Sadece inanıyorum ki büyük sürümler. Örnekler de çevrimiçi yardımda. Her ne kadar .NET'in bir listesi var gibi görünmese de, Java’nın yaptığı: help.arcgis.com/en/sdk/10.0/java_ao_adf/conceptualHelp/engine/… SDK ile birlikte yüklenen yardım dosyası da çok daha kullanışlı.
blah238

4
ArcGIS Desktop’ın bir kopyası varsa, eklentileri geliştirmek için EDN aboneliğine ihtiyacınız yoktur. Bir EDN aboneliği, geliştiricilere, ArcGIS yığınındaki hemen hemen her şeyin bir kopyasını, çok daha pahalı üretim lisansları yakmadan vermenin bir yoludur. EDN ayrıca üretim lisansınız yoksa geliştirme için de iyidir. ArcObjects API ile kodlama ve geliştirme için EDN'ye ihtiyacınız yoktur.
JimBarry




2

Pennsylvania Eyalet Üniversitesi geçtiğimiz günlerde ücretsiz erişim için CBS Uygulama Geliştirme kursuna katıldı .
VB.NET’te ArcObjects’in temellerini öğretiyor


0

Geliştiriciden olmak istemediğinizi belirttiğiniz gibi gerçek bir cevap değil.
Burada yorumlara göre biçimlendirme avantajı için gönderdim.
Bu blog yeni geldi ve ArcGIS sunucusuyla ilgili geliştirme topluluğuna yön vermek konusunda oldukça geniş.
ADF'den uzaklaşma niyetini ana hatlarıyla belirtir ve web servislerini benimsemeyi teşvik eder.
Umarım kararın bir şekilde yardımcı olur.

ESRI Blogları - ArcGISServer

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.