Skip to content

Instantly share code, notes, and snippets.

@moosetraveller
Last active June 15, 2021 02:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save moosetraveller/866d993da18a1ba7a246c32903495c43 to your computer and use it in GitHub Desktop.
Save moosetraveller/866d993da18a1ba7a246c32903495c43 to your computer and use it in GitHub Desktop.
GIS Development Environment

Version 2021-06-14

GIS Development Environment

This document describes a development environment for a GIS developer who also works as a cartographer. Please note that software/configuration may or may not be useful for you as it depends on the technology stack used. Also, consider that software products evolve quickly and better software enters our lives. ;)

This document is a snapshot (at the time written) and subject of personal opinion.

Technology Stack / Tasks

  • JavaScript and other web development
  • C#, ASP.NET, Python
  • Database development
  • Geo Processing / GIS
  • Map Making

Software List

Download

Other Software

  • Character Map UWP (replacement for Windows' Character Map tool, download from Microsoft Store)
  • TresorIt (better cloud than OneDrive but not free, https://www.tresorit.com)
  • 1Password (password manager, https://1password.com)
  • RStudio (https://rstudio.com)
  • Slack (https://slack.com/intl/en-ca)
  • GitHub Desktop (https://desktop.github.com, but I prefer to work with the terminal)
  • Google Chrome (in order to be able to test web applications in all browser)
  • VLC (https://www.videolan.org/vlc/index.html)
  • Virtual Box (to virtualize Linux or other operating systems)
  • OpenJDK (Java, https://jdk.java.net/15)
  • Microsoft Office*
  • Microsoft Teams*** (if avoidable: AVOID, however, I cannot really provide any good alternative)
  • Microsoft OneDrive*** (if avoidable: AVOID, especially if you are using file geodatabases or other small files)
  • Virus Scanner (if you use background scanning: consider to exclude text files and compile/build directories)

Alternatives

Notes

Use simple paths for tools/software which do not come with an installation routine or are mostly used in a terminal. However, this is my personal practice and may not be best practise (in the eyes of a IT system administrator).

* provided that a licence is available
** if Visual Studio is not installed
*** if needed (otherwise skip, e.g. on a private computer)

From Microsoft Store

Windows Features

Visual Studio Code Packages

  • Python by Microsoft
  • C# by Microsoft
  • Prettier - Code formatter by prettier
  • Visual Studio IntelliCode by Microsoft
  • Rainbow CSV by mechatroner
  • ESLint

Other Suggested Packages

  • Bracket Pair Colorizer 2 by CoenraadS
  • Better Comments by Aaron Bond
  • Git Blame by Wade Anderson
  • Git Graph by mhutchie
  • indent-rainbow by oderwat
  • Jupyter by Microsoft
  • Markdown Preview Enhanced by Yiyi Wang
  • PlantUML by jebbs
  • C/C++ by Microsoft
  • SQL Server (mssql) by Microsoft
  • Python Indent by Kevin Rose

To be evaluated / To be installed later

  • Insomnia Designer
  • ArcGIS for Desktop 10.x
  • Resharper (for Visual Studio)
  • SQLDeveloper (has small font issue, alternative?)

Configuration

Company-managed Computer

  • Set JAVA_HOME environment variable
  • Create SSH Key and add it to Bitbucket and Github
  • Set background image (https://unsplash.com)
  • Set default apps (ImageGlass, VLC media player and Firefox)
  • Change time server to ca.pool.ntp.org
  • Change the first day of week to Monday (if you are not Canadian :))
  • Change File Explorer Options: show all extensions, show hidden files and also change "Open File Explorer to This: PC"
  • Taskbar: hide search, hide Cortona and Task View buttons
  • Disable Cortana
  • Make sure all Windows Updates are installed

Your Own Computer

  • Use local profile (tip: use a short name to create profile and rename later!)
  • Add work account in "Access work or school"
  • Add additional user (who can use the computer)
  • Disable all privacy breaching windows settings
  • Enable BitLocker for internal drive
  • Update computer name
  • Set JAVA_HOME environment variable
  • Create SSH Key and add it to Bitbucket and Github
  • Set background image (https://unsplash.com)
  • Set default apps (ImageGlass, VLC media player and Firefox)
  • Change time server to ca.pool.ntp.org
  • Change the first day of week to Monday (if you are not Canadian :))
  • Change File Explorer Options: show all extensions, show hidden files and also change "Open File Explorer to This: PC"
  • Taskbar: hide search, hide Cortona and Task View buttons
  • Disable Cortana
  • Make sure all Windows Updates are installed

Manually added PATH variable

  • c:\apps\anaconda\condabin
  • c:\apps\osgeo\bin
  • c:\apps\r\bin
  • c:\apps\cygwin\bin

Windows Terminal Configuration

See: https://gist.github.com/moosetraveller/3d9fcf900f01bbd15c101cb111b1232a

Anaconda3 (Open Source) GIS environment

See: https://github.com/moosetraveller/geo-python-setup-tutorial#setup-on-windows
Troubleshooting: https://stackoverflow.com/a/64409581/42659

How to use ArcGIS Python in Command Prompt

The original ArcGIS Conda environment is located in C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3 and can be activated by using:

C:\apps\anaconda3\Scripts\activate.bat "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3"

If you have a clone, they are located in your AppData folder. Assuming your clone is called arcgispro-py3-clone, it can be activated by using:

C:\apps\anaconda3\Scripts\activate.bat C:\Users\%USERNAME%\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone

Install TypeScript

npm install -g typescript (https://www.typescriptlang.org)

Miscellaneous

Fonts

  • Roboto
  • Source Sans Pro
  • Source Serif Pro
  • Source Code Pro
  • PT Sans
  • PT Serif
  • PT Sans Narrow
  • Lora
  • Barlow Semi Condensed

Recommended Computer Configuration

  • i7 with at least 6 cores (similar or better)
  • at least 16 GB RAM (better: 32 GB)
  • SSD (it's worth every cent over a convential harddrive trust me!)
  • dedicated graphic card (highly recommended if you do graphic stuff with ArcGIS Pro, Blender and so on)
  • if you can afford, get a 4K or similar screen
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment