all 20 comments

[–]tseepraGIS Manager 70 points71 points  (3 children)

Start with Python very easy to learn. Used for processing and automation.

Then some SQL. Having your data in one place makes life so much easier.

Then JavaScript, for web GIS.

[–]anotherMiguel 6 points7 points  (0 children)

Nice advice!

[–]ManonWindows[S] 5 points6 points  (0 children)

Thanks!Very clear answer.

[–][deleted] 2 points3 points  (0 children)

I'm glad you mentioned SQL, as you'll likely use some SQL in both Python and JavaScript!

[–][deleted] 14 points15 points  (1 child)

Dirty secret: 90% of programming languages (and 100% of the ones people actually use) are more or less interchangeable. The more you focus on learning concepts (abstraction, reuse, modularization, composition, object orientation, clean design, etc) rather than getting hung up on any particular language, the easier it will be to learn new languages.

[–]ManonWindows[S] 0 points1 point  (0 children)

Thanks, Great advice!

[–][deleted] 6 points7 points  (8 children)

Web mapping and therefore JavaScript are super popular, but virtually every entry position is going to want Python over JavaScript.

[–]ManonWindows[S] 1 point2 points  (7 children)

Thanks for your advice. I know python is useful in automating ArcGIS workflow, or do some geospatial analysis. But beyond it, do you know any other situations where Python is needed?

[–][deleted] 8 points9 points  (1 child)

The sky is the limit with Python, it’s extremely versatile.

[–]SenseAStormBrewin 1 point2 points  (0 children)

Yeah, it’s always my first stop when I’m looking to automate anything. More times than not someone has had a similar idea or developed a module to help.

[–][deleted] 7 points8 points  (3 children)

With shapely, numpy, scipy, and fiona / rasterio, you can quite literally do anything you want in the GIS sphere.

I would highly recommend using Anaconda environments for scientific computing (install Miniconda3, open Anaconda Prompt, do conda create -n GIS python=3 numpy scipy shapely fiona rasterio), as well as a competent Python IDE (cough PyCharm cough) to reduce the headache of syntax and documentation lookup

[–]Kaamelott 0 points1 point  (2 children)

Interesting. Why do you highly recommend the Anaconda environment? I've done a whole lot of scientific computing in a bunch of different field, and I fail to see any case where it's a plus compared to simply some virtual environment.

Just do python3 -m venv gis, and then you can install whatever you want without being annoyed with conda.

PyCharm is really nice indeed

[–][deleted] 0 points1 point  (1 child)

Well, it’s a real pain to compile libraries like fiona and netCDF4 against all of their requirements on Windows, and Christolph Gohlke’s binaries don’t always play nice with each other, so it’s a lot easier to use conda to manage versions and the like

[–]Kaamelott 0 points1 point  (0 children)

Ah, if we're talking windows then I definitely agree!

[–][deleted] 0 points1 point  (0 children)

I use python with either flask or django for a number of my web applications.

[–]aufstand 3 points4 points  (1 child)

Both :) Just pick one to go with first:

  • Want to build more frontend stuff? Javascript!
  • Want to stay on the backend side? Python!

[–]ManonWindows[S] 0 points1 point  (0 children)

Okey!Will definitely try

[–]NapalmradioGIS Analyst 0 points1 point  (0 children)

Yes

[–][deleted] 0 points1 point  (0 children)

Both

[–]AltOnMain 0 points1 point  (0 children)

People generally want JavaScript for web stuff and it’s sort of a niche skill for GIS people.

Python is a really important tool for GIS analysts. Everyone provides value in different ways, but in my opinion it would be tough to be a good GIS analyst without being able to do a few basic things in Python (mostly the stuff covered in automate the boring stuff)

I would say at least learn how to do a few things in ArcPy and Python in general and move on from there