geospatial information systems made simple2016.changecon.com/wp-content/uploads/2016/10/... ·...

17
Geospatial Information Systems Made Simple GIS FOR NON GIS DEVELOPERS Darko Boto

Upload: others

Post on 12-Jul-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

Geospatial Information Systems Made SimpleGIS FOR NON GIS DEVELOPERSDarko Boto

Page 2: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

AGENDA

• GIS SPECIFICS

• LIBRARIES PORTS AND BINDINGS

• GDAL

• PROJ.4

• GEOS

• WHAT IS G IN GIS?

• GIS ESSENTIAL LIBRARIES

• READ TRANSFORM ANALYZE

• LIBRARY PORTS

• LIBRARY BINDINGS

• GDAL - VECTOR DATA

• GDAL - RASTER DATA

• SPATIAL INDEXES

• PROJ.4 –TRANSFORMATION

• PROJ.4 – CROATIAN SRS

• GEOS - C/C++ port of JTS

• WHAT GEOS PROVIDES?

Page 3: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

WHAT IS G IN GIS?

Spatial data driver

Spatialcontext

Spatialoperations IS

Page 4: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

GIS ESSENTIAL LIBRARYS

GDAL Geospatial Data Abstraction Library, C/C++ X11/MIT

PROJ4 Cartographic Projections Library, C/C++ MIT

GEOS Geometry Engine, Open Source, C/C++ LGPL

Page 5: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

READ TRANSFORM ANALYZE

GDALREAD

SPATIAL DATA

WRITE SPATIAL DATA

PROJ4PUT DATA IN SPATIAL CONTEXT

DO SPATIAL TRANSFOR-

MATION

GEOSDO SOME SPATIAL

OPERATION

ANALYZE SPATIAL

DATA

RENDER VISUALIZE PUBLISH

Spatial data driver

Spatialcontext

Spatialoperations IS

Page 6: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

LIBRARYS PORTS

GEOS

PROJ4

NTS

PROJ.NET

JTS

JMapProjLib

JSTS

PROJ4JS

Page 7: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

LIBRARY BINDINGS

>>> import gdal>>> import ogr>>> import osr>>> import gdalnumeric>>> import gdalconst

• SWIG (Simplified Wrapper and Interface Generator)

• JNI (Java Native Interfaces)

Supported high-level programming languages:Python, Perl, TCL, Java, Ruby, OCaml, C#, Allegro, Lua, Common Lisp, R, Octave, Go, D, Javascript, Scilab, PHP, Scheme…

Page 8: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

GDAL - Geospatial Data Abstraction Library

142RASTER DRIVERS

84VECTOR DRIVERS

30RASTER

UTILITIES

4VECTOR

UTILITIES

Software using GDAL:

• ESRI ArcGIS, FME, ERDAS, GoogleEarth, Mapinfo …

• PostGIS, QGIS, Geoserver, Mapnik, OTB, GRASS …

Page 9: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

GDAL - VECTOR DATA (WKB/WKT)

Spatial databases drivers• Oracle Spatial

• SQL Server Spatial

• Postgres/PostGIS

• SQLite/Spatial…

POINT MULTIPOINT LINE MULTILINE POLYGON MULTIPOLYGON

Spatial data format drivers• Shapefile

• MID

• GML

• GeoJSON…

POINT (30 10) LINESTRING (30 10, 10 30, 40 40) POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))

Page 10: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

SPATIAL INDEXES

QuadtreeR Tree R* Tree

Page 11: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

GDAL - RASTER DATA

RASTERS EXAMLPES:

• DEM, DSM

• DOF

• Satelite images

• Multispectral images

GRID – dot matrix data structure

RASTER FORMATS:

• GeoTIFF

• ESRI Grid

• NetCDF

• MrSID

OPTIMIZATION:

• Tiling

• Pyramids

• Caching

Page 12: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

COORDINATE TRANSFORMATION

• Projections

• Koordinate systems

• Transformations (on the fly)

Geoid World projections examples

Page 13: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

CROATIAN SRS – HTRS96/TMHrvatski Terestrički Referentni Sustav / Transverse Mercator Projection

(HTRS96/TM) EPSG:3765

HTRS96/TM EPSG:3765 WGS84 EPSG:4326

Page 14: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

GEOS - C/C++ port of JTS

SPATIAL RELATIONS:contains, within, covers,intersects, disjoint, crosses, overlaps, touches, equals

OVERLAY FUNCTIONS:intersection, difference, union, symmetric difference, unary union

Polygon overlays A intersection B A union B A diference B A symDiference B

Software using GEOS:

• GoogleEarth,

• GDAL,

• QGIS,

• PostGIS…

Provides an object model for Euclidean planar linear geometry and implements the geometry model and API

776SPATIAL

FUNCTIONS

Page 15: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

SPATIAL ANALYSIS EXAMPLE

Map by Dr. John Snow of London, showing clusters of cholera cases in the 1854 Broad Street cholera outbreak.

Page 16: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

WHAT GEOS PROVIDES?

Geometric functions

• Topological validity checking

• Area and Distance functions

• Overlay functions (including intersection, difference, union, symmetric difference, etc.)

• Buffer computation

• Convex hull

• Geometric simplification

• Linear referencing

• Precision reduction

• Delaunay triangulation

• Voronoi diagram generation

Spatial structures and algorithms

• Robust line segment intersection

• Efficient line arrangement intersection or noding

• Efficient point in polygon

• Spatial index structures including quadtree and STR-tree

• Planar graph structures and algorithms

I/O capabilities

• Reading and writing of WKT, WKB and GML formats

Page 17: Geospatial Information Systems Made Simple2016.changecon.com/wp-content/uploads/2016/10/... · •LIBRARIES PORTS AND BINDINGS ... GDAL Geospatial Data Abstraction Library, C/C++

Thank you!Questions?