Course description

This course gives programming experience with geospatial data as well as related core theory and algorithms. We will use Java and JavaScript to work with diverse libraries, spatial databases and servers to store, process, visualize and exchange geodata. The course is beneficial for any modern software developer due to explosive growth in popularity of geo-aware applications and services.

Some practical applications are briefly listed on the course announcement page at HSE.

Short summary:

University Higher School of Economics, Moscow, Russia
Lectures, seminars Antonio Rodriges, PhD
Academic hours Total credits 5, hours in total 190 (lectures 32, practical lessons 32, self-study 126).
Course syllabus PDF (2017, Fall)
Course type Elective, 16 students enrolled (2018, Fall)
Course language English
Course style Hands on training. Students try out things covered on slides together with the trainer during each lesson (4 academic hours in class). Theoretical material on slides largely interleaved with practice.


We use Java, IntelliJ IDEA, Maven and other technologies listed below.

Please, download slides, code, data and install tools on your laptop before you come to the next lesson to save your time. Please, be sure to have all pom.xml dependencies resolved. Be sure to check whether you have all data and tools from previous lessons since any next lesson may require those.

Note: GIS packages (QGIS, GRASS GIS) behave differently on Windows, Linux and Mac, don't be surprised.

# Slides
(with links to readings)
Code Tools Data
01 NASA World Wind Sample App
Download NASA WorldWind libs

NASA WW Sources
02 Coordinates Quantum GIS (QGIS)
PostgreSQL + PgAdmin III (optionally)
NOAA's Weather and
Climate Toolkit
04 TortoiseSVN
Google Earth
05, 07 GRASS GIS
06 JTS TestBuilder
  • Coding geometries in WKT by hands

Control Work 01

06 NOV 2018

Evaluation criteria

Correct answer to a question gives 1.0 points.
Answers to questions with multiple choices were evaluated as follows:

  • All correct items were checked without any incorrect ones — 1.0 (full score)
  • At least one correct item was checked without any incorrect ones — 0.5 (half of a score)
  • At least one incorrect item was checked — 0.0 (no points)


Please, see "Marking" section below.


Students are not required to repeat their names on each exam sheet. Each document has a unique generated ID in its footnotes (e.g. Random Document ID: ndzoyCaK).
This is achieved by VBA macro for MS Word that is run before printing each exam sheet.

07 JTS TestBuilder
  • OpenStreetMap
09 Indexing and geohash You will need pen & paper Java Topology Suite (JTS) Define points in WKT on your own
10 Spatial vector databases
See OSM Moscow above
Geoapplication backend and
geospatial network protocols
See tutorials for given resources:
Coming soon: practical examples of geodata usage (Apple, IBM, MasterCard, Uber,...)


Please, check marking for XLS sheet with all results.


Please, contact Antonio Rodriges (rodriges AT wikience DOT org) for course related questions.

A simple map