Gis C.

Gis C. GIS Consultant

Temat: GIS + programowanie

Witam,

Mam już trochę doświadczenia w obsłudze ArcView oraz pisaniu prostych skryptów w ArcObjects w VBA. Chciałbym rozwinąć swoje umięjętności w zakresie programowania, szczególnie w ArcGIS.
Zauważyłem jednak, że ESRI ostatnio odchodzi od VBA w stronę .NET.

Mam więc pytanie:
Czy od razu uczyć się np. C# lub VB w .NET, czy lepiej najpierw zacząć od C++? Na wielu forach o programowaniu piszą, że najwłaściwsza droga to najpierw C++, a dopiero później .NET.
Jak wygląda to w przypadku zastosowań gisowych?

Pozdrawiam
Piotr T.

Piotr T. programista GIS,
analityk GIS,
(www.cgis.pl)

Temat: GIS + programowanie

Wojciech R.:
Witam,

Mam już trochę doświadczenia w obsłudze ArcView oraz pisaniu prostych skryptów w ArcObjects w VBA. Chciałbym rozwinąć swoje umięjętności w zakresie programowania, szczególnie w ArcGIS.
Zauważyłem jednak, że ESRI ostatnio odchodzi od VBA w stronę .NET.

Mam więc pytanie:
Czy od razu uczyć się np. C# lub VB w .NET, czy lepiej najpierw zacząć od C++? Na wielu forach o programowaniu piszą, że najwłaściwsza droga to najpierw C++, a dopiero później .NET.
Jak wygląda to w przypadku zastosowań gisowych?

ESRI lubi .NET (c#) / Jave, a ostatnio zaczyna lubić Pythona. Jeśli chcesz pisać w C# to nauka C++ jest wg mnie stratą czasu (wbrew pozorom nie jest to taki prosty język i jak ktoś napisał C++ != znajomość C + słowa class). C# wywodzi się z Javy, a Java z C++ wiec nauka C++ do niczego nie jest Ci potrzebna.

Jeśli chcesz pisać wysoko wydajne silniki GIS to oczywiście tylko C++ ale jeśli chcesz pisać rozszerzenia do ESRI to zostaw ten język w spokoju.Piotr Tracz edytował(a) ten post dnia 07.08.09 o godzinie 14:27
Artur Krawczyk

Artur Krawczyk adiunkt, AGH

Temat: GIS + programowanie

Zauważyłem jednak, że ESRI ostatnio odchodzi od VBA w stronę .NET.
To raczej nie jest tak ... VBA jest rozwiązaniem zamkniętym
(technologicznie to VisualBasic ver6) i jego "dni" są policzone ...
Środowisko .NET technologicznie odpowiada Javie (wirtualne maszyny "uruchomieniowe") i podlega nieustającemu rozwojowi. ESRI nieźle by straciło na rynku gdyby ten temat przespało.
najwłaściwsza droga to najpierw C++, a dopiero później .NET.
to są informatycy teoretycy (w odróżnieniu od informatyki stosowanej) a gis to inf. stosowana więc się nie przejmuj.
Jak wygląda to w przypadku zastosowań gisowych?
Widziałem wdrożenie GIS za kilkanaście mln. zł w Polsce ... 80% kodu C# reszta kodu była od poddostawców i wtedy było już róźnie.

C albo C++ pojawiają się głównie wtedy gdy trzeba uzyskać jakieś specjalne efekty np. bardzo dużą wydajność operacji przetwarzania danych ...

Pozdrawiam,
Artur K.
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: GIS + programowanie

Też uważam, że jeżeli chcesz się nauczyć programowania to .NET jest dobrym startem. Skoro pisałeś w VBA, to pewie VB.NET będzie rozsądną propozycją, chociaż jak zaczniesz od C# to też nie powinieneś mieć problemów.
Najfajniejsze w .NET jest to, że niezależnie od języka, w którym bedziesz programował i tak będziesz używał środowiska .NET (te same klasy), więc tak naprawdę, główne różnice ograniczą się do różnic w składni języków.
A jak masz już doświadczenie z ArcObjects, to wykorzystanie tej wiedzy w .NET nie będzie problemem.

Temat: GIS + programowanie

A gdzie w tym wszystkim jest miejsce Python'a?

Temat: GIS + programowanie

No właśnie też chciałem zapytać :) Python nie tylko jest jednym z dwóch głównych języków w oprogramowaniu GIS typu open source (np. Quantum GIS), ale nawet ostatnio ESRI "nawróciło" się na niego ;) Poza tym jego zaletą jest _prawdziwa_ wieloplatformowość.
Dominik Mikiewicz

Dominik Mikiewicz maps made easy,
www.cartomatic.pl ||
cartoninjas.net

Temat: GIS + programowanie

.net nie wyklucza uzywania pythona: http://pythonnet.sourceforge.net/

Temat: GIS + programowanie

No właśnie :-))) Dlatego mówiłem o prawdziwej wieloplatformowości - jest nawet Python w Javie (Jython), jakby ktoś chciał.

Temat: GIS + programowanie

A może ktoś powiedzieć coś więcej na temat programowania właśnie w pythonie. Np. czy jest trudny do nauczenia dla kogoś kto nigdy nie programował (poza jakimiś zabawami z VB)? Od czego najlepiej byłoby zacząć chcąc pisać skrypty i jakiś prosty interfejs do nich dla ArcGISa?

Temat: GIS + programowanie

Bardzo często mówi się, że Python jest łatwy do nauczenia się, nawet dla kompletnych nowicjuszy. I to prawda. Przez teorię (co to jest obiekt, co to jest referencja itp.) trzeba przebrnąć tak czy inaczej. Za to w praktyce Python jest dużo łatwiejszy od języków typu C++, Java czy Perl. Poza tym jest jakiś taki... intuicyjny. Dużo łatwiej się nauczyć "myślenia w tym języku".
Jak dla mnie najlepszy dla początkujących jest podręcznik ze strony Pythona. Chyba że jesteś BARDZO początkujący, wtedy możesz przeczytać książkę "Python. Od podstaw" (ale nie polecam). Później możesz zahaczyć o darmowy podręcznik "Dive into Python". A poza tym praktyka - konsola Pythona, oglądanie gotowych programów i pisanie własnych wprawek.
Jeżeli chodzi o Pythona dla ArcGISa, to nie mam doświadczenia, ale np. Quantum GIS ma biblioteki, których się bardzo łatwo używa we własnych programach (wszystko jest elegancko opisane w instrukcji, którą można ściągnąć ze strony QGISa; są tam też przykłady).
No. W każdym razie polecam Pythona :-D

Temat: GIS + programowanie

Od jakiegoś czasu chodziły mi po głowie studia podyplomowe na kierunku back-end developer. Przez przypadek trafiłem na stronę WSKZ, okazało się że uczelnia ma ten kierunek i mogę się zapisać. Stwierdziłem, że to znak, że musze iść na te studia. Tak tez zrobiłem. Aktualnie kończę studia i jestem mega zadowolony.

Następna dyskusja:

programowanie w GIS




Wyślij zaproszenie do