ArcGIS (esas olarak Masaüstü) kullanımı için .NET öğrenmek?


12

Temel programlama becerilerim var (basit vba python ve lisp senaryolarını programladım ve uzun zaman önce bir java dersinden geçmiştim), ama bana öyle geliyor ki (ESRI yayınları ile yargılanarak). CBS iş piyasasında gelecekteki önemi (analist olarak bile).

Ben temel bir c # ders geçti ve (ne yazık ki) oldukça zayıf programlar programlayabilirsiniz, ancak ilerleme için c # bilgi aslında arcgis için programlama için nasıl bir fikrim yok.

1) Farklılıkların büyük olmadığını biliyorum, ancak ArcGIS .NET veya C # kullanıyor mu?

2) .NET deneyimimi daha da ileriye taşımanın en iyi yolunun daha fazla programlamak olduğunu biliyorum ama teknikleri öğrenebileceğim iyi bir .NET programlama kitabı veya kursu var mı?

3) Sizce, ArcGIS için .NET'te programlamayı öğrenmenin en iyi yolu nedir? Yararlı kitaplar veya web siteleri var mı?

ArcGIS 10 ile ilgili yorumlarınızı takdir ediyorum (ve daha sonra bunları kurtaracaksınız), ancak ArcGIS 9.3.1 için bana büyük bir kafa verebilseydiniz (kendimi Esri ve tüm dünya ArcGIS 10.0'a (yerel Esri temsilcileri dahil) odaklanmıştır, ülkede neredeyse hiç kimse 9.3.1'den yükseltilmemiştir veya bunu yapmayı planlamamaktadır ve kişisel olarak 9.3.1 uygun cevaplar bulmakta sorun yaşıyorum).

Yanıtlar:



7

4

Programcıların küçümsemesini ve kaybolmasını önleyen şeyler, bir portföyde gurur duyabileceğiniz şeyler yazmak istiyorsanız, nesne yönelimli tasarım ve geliştirmeyi gerçekten sağlam bir şekilde kavramak istersiniz (zaten yoksa) . Belirli dillere ve çerçevelere hakim olmak daha sonra gelebilir.

Elbette, bazı iyi yazılım geliştirme kitaplarında programlama alıştırmaları yaparken .NET ve ArcObjects'i dil / API olarak kullanın. İşte başlamak için birkaç tane:

  • Pragmatik Programcı : Kod yazarken en iyi uygulamalar ve yazılım projesi yaşam döngüsü hakkında bazı iyi şeyler.
  • Kod Tamamlandı : Yukarıdakine benzer, ancak çok daha fazla ayrıntı ve örnekle.
  • Test Odaklı Geliştirme : TDD sizi yukarıdaki iki kitabın önerdiği uygulamalardan bazılarına uymaya zorlar.
  • İlk Tasarım Desenlerini Başlatın : ArcObjects ile uğraşmak zorundaysanız, tasarım desenleri hakkında bilgi sahibi olmak isteyeceksiniz. API onlarla hasta.

Kod Tamamlama oldukça büyük, ancak geri kalanı hızlı okumalar olabilir. Aslında hiçbir zaman bir kod satırı yazmayacak olan CBS'lere yönelik ilk iki kitabı tavsiye ederim. Kaynak kontrolü, proje yönetimi, iletişim ve iyi tasarım ilkeleri konusunda bazı harika şeyler var.


Daha fazla anlaşamadım. Bir taban kökleri yaklaşımı alın ve temettü ödeyecek.
Kelso

4

Sadece kişisel deneyimimden biraz eklemek istedim. Esas olarak işveren ihtiyaçlarının bir yan ürünü olarak öğrendim. Önce ArcGIS Desktop komut dosyaları, sonra uzantılar, ardından ArcGIS Server (SOE, Web ADF ve web API) programlaması. Bence en iyi kaynak gerçekten API ve yardım dokümanlarıydı. İlk olarak bilinmeyen bir bölgeye girerken, kavramsal yardımın bir kısmını okurdum, sonra kodlamaya daldım ve gerektiğinde API belgesine başvurdum. Sonra, takılırsam, Esri forumlarını kullanırdım. Mevcut kod örnekleri zaman zaman yardımcı olabilir, ancak genellikle üzerinde çalıştığım şey için geçerli olan çok fazla bulamadım - bu şimdi böyle olmayabilir. Esri videoları ve bu harika site henüz mevcut değildi, bu yüzden bunlar kesinlikle ek kaynaklar.

Bir üniversitede coğrafya, CBS ve bazı bilgisayar bilimleri okuduğumu da ekleyeceğim ve bence "sınıf çalışmasından" veya şeylere çok genel bir şekilde yaklaşmaktan GIS geliştirmesini gerçekten çok iyi kavramak zor. Eğer CBS ile çalışan bir işveren ile iseniz, kendi zamanında çalışmak zorunda olsanız bile, sizin için iyi bir küçük geliştirici test edecek bir ihtiyacı belirlemek için orada CBS milletiyle konuşmanızı öneririm. Bunu engellemek gerekirse, sahip olmak istediğiniz veya bir araya getirmenin ilginç olacağını düşündüğünüz belirli bir işlevsellik parçası bulmaya çalışacağım, daha sonra bunu başarmak için bilmeniz gerekeni keşfetmeye çalışacağım.


Benzer bir deneyimim var. Benim için iyi çalıştı!
George Silva

3

Mevcut kod ( diğer cevaplara ek olarak ... yerine ).

Google Projeleri , Codeplex ve Github gibi yerlerde çevrimiçi pek çok şey var .

Oldukça aktif / kullanımda olan ve iyi bir kullanıcı topluluğuna sahip projeler için koddan öğrenmek ilginçtir. (Eski kod depolarından hiçbir şey öğrenemeyeceğinizden değil)


2

1) ArcGIS veya ArcObjects üstte .Net, Java ve C ++ sarmalayıcı bulunan bir COM modelidir. Böylece herhangi bir .Net dili veya Java veya C ++ kullanılabilir. ArcObjects Yardımı'na bakın. Net , Java , C ++

2) Wrox'tan Begining C # veya VB.Net gibi birçok içeriğe sahip bir referans kitabı öneririm.

3) Dokümantasyondaki örneklere bakarak başlayacağım. Özellikle eklenti şeyler .


2

Genel olarak programlama becerilerini veya özellikle .NET'i öğrenmek için ESRI örneklerine güvenmemeyi öneririm. Bu, numuneler veya onları hazırlayan insanlar üzerinde bir çarpma değil; örnekler belirli bir şeyin nasıl çalışabileceğini veya çalışması gerektiğini göstermeyi amaçlamaktadır. Kısacası, birçok şey örneklerin dışında bırakılır. Ayrıca, gördüğüm çoğu ESRI örneği nesne yönelimli değil spagetti kodudur.

Kulağa aptalca geliyor, ancak Visual Basic 6'dan VB.NET ve C #'a geçiş yolum sertifika kitaplarını incelemekti. O zamanlar, yeni olduğu için COM ve .NET arasında neyin farklı olduğuna vurgu yapıldı. Seçtiğiniz geliştirme dilinizde iyi bir temel oluşturmak, yazılım şirketi örnekleri ve belgelerinin mayın tarlasında gezinmenize yardımcı olacaktır.

Ayrıca COM Interop; ESRI üzerinde bazı iyi bilgiler var, ancak ESRI'ya özgü. ArcGIS'te, COM Interop arkadaşınız olmayabilir ancak onsuz çok fazla hata ayıklama yaşarsınız.


Katılıyorum, genel olarak programlama CBS uygulamalarından daha soyut bir ortamda öğrenmekten yararlandığınız bir şey değildir; Buna ek olarak, en başarılı GIS programcıları CBS veya Coğrafyaya özgü bir arka plandan
gelmediler

2

Esri'nin çevrimiçi kaynaklarına bakarken, ArcObjects'in diğer ArcGIS teknolojileri gibi zengin ve güncel kaynaklardan nasıl payına sahip olmadığını fark edemedim.

Bu nedenle IGOmetry Youtube kanalını ArcObjects ile .NET Programlama olarak adlandırdığım dizi ArcObjects'i tartışmak için başlatmamın nedeni şu ana kadar 14. bölümüne ulaştı ve birçok CBS üyesi bundan gerçekten yararlanıyor.

Bu seri, "Bestaurants" adında yarattığım, restoranları aramak, yönetmek, eklemek, silmek için ArcMap'in üstünde bir uygulama oluşturmanız gereken kurgusal bir projeye dayanıyor. Her bölümde yeni bir arayüz tanıtıyoruz ve ArcObjects'teki ince taneli objeleri eğlenceli bir şekilde öğreniyoruz!

Her hafta şansım izin verdiği zaman videolar yayınlıyorum, çünkü bu kendi zamanımda yaptığım bir şey.

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

Kim bilir, belki bunu bitirdiğimizde başka bir seri başlatabilirim.

Zevk almak,

ArcObjects (IGeometry) ile .NET Programlama - 01 - Başlarken

ArcObjects (IGeometry) ile .NET Programlama - 02 - Katmanlarla Çalışma

ArcObjects (IGeometry) ile .NET Programlama - 03 - Katmanları Filtreleme

... ...

Tüm oynatma listesine bakın (şu ana kadar 14 bölüm)

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


1

Pouria Amirian'ın bir kitabı olan .NET kullanarak ArcGIS for Desktop Development'ı kullanmaya başlamak ArcGIS / ArcMap uygulama geliştirmesine girmeme yardımcı oldu. Bu yeni başlayanlar için temel .NET kavramları ile başlamak ve ArcObjects içine bağlama için en iyi referans kitaplarından biri olduğunu düşünüyorum. Örnek C # kodları ve veri setleri ile birlikte gelir.


bu kitap ArcGIS ve görsel stüdyo yazılımlarını içeriyor mu?
Salman

Hayır, herhangi bir yazılım sağlamaz.
EvilInside


0

Web ADF , ESRI'nin .NET SDK'sıdır. Bir sonraki çıkışından sonra kullanımdan kaldırılacak.

Ancak, 9.3.1 kullanıyorsanız, Web ADF .NET için araç setiniz olacaktır. Çevrimiçi, ESRI ve diğer birçok kaynak var.

Genel olarak programlamada daha iyi olmak için, okumayı asla bırakmayın! Programlama bloglarını ve web sitesini okuyun. Yığın Taşmasını Kullan . Asla soru sormaktan korkmayın. Kod Tamamlama ve programlama ve yazılım geliştirme hakkındaki diğer saygın kitapları okuyun. Ellerinizi alabileceğiniz her şeyi okuyun! İyi şanslar!


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.