Nauka korzystania z .NET dla ArcGIS (głównie Desktop)?

12

Mam podstawowe umiejętności programistyczne (programuję proste skrypty Python i Lisp VBA i już dawno przeszedłem kurs java), ale wydaje mi się (sądząc po publikacjach ESRI), że nie ma potrzeby uczyć się .NET dla przyszłe znaczenie na rynku pracy GIS (nawet jako analityk).

Przeszedłem podstawowy kurs języka C # i mogę programować (niestety) dość kiepskie programy, ale nie mam pojęcia, jak połączyć wiedzę w języku C # z programowaniem ArcGis, aby móc się rozwijać.

1) Wiem, że różnice nie są duże, ale czy ArcGIS używa .NET lub C #?

2) Wiem, że najlepszym sposobem na zwiększenie mojego doświadczenia w .NET jest programowanie coraz więcej, ale czy są jakieś dobre książki lub kursy programowania .NET, z których mogę się uczyć technik?

3) Jak Twoim zdaniem najlepiej nauczyć się programować w .NET dla ArcGIS? Czy są jakieś przydatne książki lub strony internetowe?

Doceniam twoje komentarze dotyczące ArcGIS 10 (i zachowam je na później), ale jeśli mógłbyś dać mi kilka wskazówek na temat ArcGIS 9.3.1, byłoby wspaniale (znajduję się w bardzo stanowczej pozycji, podczas gdy Esri i cały świat koncentruje się na ArcGIS 10.0 (w tym lokalni przedstawiciele Esri), prawie nikt w kraju nie zaktualizował wersji 9.3.1 ani nie ma takich planów, a ja osobiście mam problemy ze znalezieniem odpowiednich odpowiedzi 9.3.1).

użytkownik749
źródło

Odpowiedzi:

7

Oto kilka zasobów na początek.

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Building_add_ins_for_ArcGIS_Desktop/0001000000w2000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Walkthrough_Building_custom_UI_elements_using_add_ins/0001000001ms000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Walkthrough_Building_editor_extensions_using_add_ins/000100000391000000/

http://help.arcgis.com/en/sdk/10.0/arcobjects_net/conceptualhelp/index.html#/Visual_Studio_integration/000100000m7n000000/

Zachary
źródło
4

Jeśli chcesz pisać rzeczy, które unikają pogardy i kpiny programistów, rzeczy, z których możesz czuć się dumny w swoim portfolio, będziesz chciał naprawdę dobrze poznać obiektowe projektowanie i rozwój (jeśli jeszcze tego nie zrobiłeś) . Opanowanie określonych języków i ram może nastąpić później.

Oczywiście, używaj .NET i ArcObjects jako podstawowego języka / API podczas pracy z ćwiczeniami programistycznymi w kilku dobrych książkach dla programistów. Oto kilka na początek:

  • The Pragmatic Programmer : najlepsze praktyki podczas pisania kodu i kilka dobrych rzeczy na temat cyklu życia projektu oprogramowania.
  • Kod ukończony : podobny do powyższego, ale z większą ilością szczegółów i przykładów.
  • Test Driven Development : TDD zmusza cię do przestrzegania niektórych praktyk zalecanych przez dwie powyższe książki.
  • Head First Design Patterns : Jeśli masz do czynienia z ArcObjects, będziesz chciał wiedzieć o wzorach projektowych. API ma ich dość.

Code Complete jest dość duży, ale resztę można szybko przeczytać. Właściwie poleciłbym dwie pierwsze książki osobom z GIS, które nigdy nie napiszą kodu. Jest tam kilka świetnych rzeczy na temat kontroli źródła, zarządzania projektami, komunikacji i dobrych zasad projektowania.

bwreilly
źródło
Nie mogłem się więcej zgodzić. Podejmij oddolne podejście, a to wypłaci dywidendy.
Kelso
4

Chciałem tylko dodać trochę z mojego osobistego doświadczenia. Nauczyłem się głównie jako produkt uboczny potrzeb pracodawców. Najpierw ze skryptami ArcGIS Desktop, następnie rozszerzeniami, a następnie programowaniem ArcGIS Server (SOE, Web ADF i web API). Moim zdaniem najlepszym źródłem było API i dokumentacja pomocy. Kiedy po raz pierwszy włamałem się w nieznany obszar, przeczytałem trochę pojęciowej pomocy, a następnie zanurzyłem się w kodowaniu i w razie potrzeby odwołałem się do dokumentu API. Następnie, jeśli utknę, skorzystam z forów Esri. Istniejące próbki kodu byłyby czasami pomocne, ale zwykle nie mogłem znaleźć wiele, które miałyby zastosowanie do tego, nad czym pracowałem - może nie tak być teraz. Filmy Esri i ta świetna strona również nie były jeszcze dostępne, więc są to z pewnością dodatkowe zasoby.

Dodam, że studiowałem geografię, GIS i niektóre specjalizacje na uniwersytecie i myślę, że trudno jest naprawdę dobrze zrozumieć programistę GIS na podstawie „pracy w klasie” lub podejścia do rzeczy w bardzo ogólny sposób. Jeśli pracujesz z pracodawcą, który współpracuje z GIS, sugerowałbym rozmowę z ludźmi z GIS, aby zidentyfikować potrzebę, która sprawiłaby, że dobry mały tester byłby dla ciebie przetestowany - nawet jeśli musisz pracować nad tym w swoim własnym czasie. Pomijając to, postaram się wymyślić jakąś konkretną funkcjonalność, którą chciałbyś mieć lub którą uważasz za interesującą w połączeniu, a następnie pracuję nad odkryciem tego, co musisz wiedzieć, aby to osiągnąć.

zwaap
źródło
Mam podobne doświadczenie. Działa dobrze dla mnie!
George Silva,
3

Istniejący kod ( oprócz innych odpowiedzi ... nie na miejscu ).

Jest go dużo online w miejscach takich jak Google Projects , Codeplex i Github .

Interesujące jest uczenie się na podstawie kodu dla projektów, które są dość aktywne / w użyciu i mają społeczność użytkowników o przyzwoitym rozmiarze. (Nie to, że nie możesz nauczyć się niczego ze starych repozytoriów kodu)

Jay Cummins
źródło
2

1) ArcGIS lub ArcObjects to model COM, na którym znajduje się opakowanie .Net, Java i C ++. Można więc użyć dowolnego języka .Net, Java lub C ++. Zobacz pomoc ArcObjects .Net , Java , C ++

2) Proponuję książkę referencyjną z dużą ilością treści, takich jak Begining C # lub VB.Net od Wrox.

3) Zacznę od spojrzenia na te próbki w dokumentacji. Zwłaszcza dodatki .

MathiasWestin
źródło
2

Sugerowałbym, aby nie polegać na próbkach ESRI do nauki umiejętności programowania w ogóle, a szczególnie .NET. To nie jest trzask próbek ani osób, które je przygotowały; próbki mają na celu pokazanie, jak konkretna rzecz może lub powinna działać. Dla zwięzłości wiele rzeczy jest pomijanych w próbkach. Ponadto większość próbek ESRI, które widziałem, nie są obiektowe, ale kod spaghetti.

Brzmi głupio, ale sposobem przejścia z Visual Basic 6 na VB.NET i C # było studiowanie książek certyfikacyjnych. W tym czasie duży nacisk kładziono na to, co różniło się między COM a .NET, ponieważ było to nowe. Dobre uziemienie w wybranym języku programowania pomoże ci poruszać się po polu minowym próbek i dokumentacji firmy produkującej oprogramowanie.

Poznaj także COM Interop; ESRI ma kilka dobrych informacji na ten temat, ale jest specyficzny dla ESRI. W ArcGIS COM Interop może nie być twoim przyjacielem, ale bez niego będziesz miał dużo problemów z debugowaniem.

Tim Rourke
źródło
Zgadzam się, programowanie ogólnie nie jest czymś, z czego możesz czerpać naukę w bardziej abstrakcyjnym środowisku niż aplikacje GIS; ponadto, odnoszący największe sukcesy programiści GIS, o których wiem, że nie pochodzą z tła GIS ani geografii
WolfOdrade
2

Patrząc na zasoby online Esri, nie mogłem nie zauważyć, że ArcObjects nie ma tak bogatych i aktualnych zasobów jak inne technologie ArcGIS.

Właśnie dlatego zacząłem kanał IGeometry Youtube, aby omówić ArcObjects, serię, którą nazwałem Programowaniem .NET z ArcObjects, do tej pory osiągnął swój 14. odcinek i wielu ludzi z GIS naprawdę na tym korzysta.

Seria opiera się na fikcyjnym projekcie, który stworzyłem „Bestaurants”, w którym musisz stworzyć aplikację na ArcMap, aby wyszukiwać, zarządzać, dodawać i usuwać restauracje. W każdym odcinku wprowadzamy nowy interfejs i dowiadujemy się o drobnoziarnistych obiektach w ArcObjects w zabawny sposób!

Publikuję filmy co tydzień, gdy tylko pozwala na to szansa, ponieważ robię to w swoim własnym czasie.

Sprawdź go teraz i udostępnij dowolnemu geekowi z GIS, jaki znasz. Sugestie są zawsze mile widziane, aby ulepszyć serię.

Kto wie, może kiedy skończymy, mógłbym rozpocząć kolejną serię.

Cieszyć się,

Programowanie w .NET z ArcObjects (IGeometry) - 01 - Pierwsze kroki

Programowanie .NET z ArcObjects (IGeometry) - 02 - Praca z warstwami

Programowanie .NET z ArcObjects (IGeometry) - 03 - Filtrowanie warstw

... ...

Zobacz całą listę odtwarzania (do tej pory 14 odcinków)

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

hnasr
źródło
1

Rozpoczęcie ArcGIS for Desktop Development przy użyciu .NET , książki autorstwa Pouria Amirian, pomogło mi wejść w tworzenie aplikacji ArcGIS / ArcMap. Myślę, że jest to jeden z najlepszych podręczników dla początkujących, którzy zaczynają od podstawowych koncepcji .NET i wiążą je z ArcObjects. Jest wyposażony w przykładowe kody C # i zestawy danych.

Zły w środku
źródło
czy ta książka zawiera ArcGIS i oprogramowanie do studia wizualnego?
Salman,
Nie, nie zapewnia żadnego oprogramowania.
EvilInside,
0

Web ADF jest .NET SDK ESRI. Zostanie wycofany po kolejnym wydaniu.

Jeśli jednak używasz wersji 9.3.1, Web ADF będzie Twoim zestawem narzędzi dla platformy .NET. Istnieje wiele zasobów online, ESRI i innych.

Jeśli chodzi o ogólnie lepsze programowanie, nigdy nie przestawaj czytać! Czytaj blogi programistyczne i stronę internetową. Użyj przepełnienia stosu . Nigdy nie bój się zadawać pytań. Przeczytaj Code Complete i inne cenione książki na temat programowania i rozwoju oprogramowania. Przeczytaj wszystko, co możesz zdobyć! Powodzenia!

jscharf
źródło
0

Migracja z VBA do .NET jest dość trudna. Znam python jest modne w v10, ale nadzieję ESRI umieścić coś razem na szlaku wokół przeniesienie do .NET z Add-In s. Idealnie równoważny ze świetną książką „Poznanie obiektów Arcobject”, która dotyczy konkretnie VBA.

Przeczytaj ten (2008) pdf na temat migracji z VBA do NET Polecam również przeczytanie tego linku na stronie pomocy v10

Szymon
źródło