Top Banner
35

Geoprocessing in cloud

May 10, 2015

Download

Technology

Alen Huskić

Describes how to implement simple geoprocessing using GDAL/OGR in Azure cloud. Case study is shown, that describes how increased sea level would effect
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Geoprocessing in cloud
Page 2: Geoprocessing in cloud

Geoprocesiranje u oblaku

Darko Boto i Alen Huskić

APIS IT d.o.o.

Page 3: Geoprocessing in cloud
Page 4: Geoprocessing in cloud
Page 5: Geoprocessing in cloud

APIS IT d.o.o.• > 350 zaposlenika• Serverske platforme:

• IBM zSeries, Parallel Sysplex• IBM AIX• Linux • Sun Solaris• HP Unix• Windows

• Virtualizacija: zVM, Microsoft• Baze podataka: IMS, DB2, Oracle, Lotus Domino, Sybase• WEB serveri : WebSphere, MS IIS, Arc IMS, BEA Logic• > 10.000 radnih stanica • > 4.000.000 transakcija po danu

Page 6: Geoprocessing in cloud

Sadržaj predavanja

Što je sve potrebno da bi se u Azure cloudu napravila analiza prostornih podataka i pri tome:

• analizirati vektorske prostorne podatke,

• analizirati GRID rasterske formate,

• koristiti MSSQLSpatial prostorne funkcije.

Page 7: Geoprocessing in cloud

Preduvjeti

Osnovna znanja o:

• GIS-u i prostornim podacima.– ... vektorima

– … rasterima

– … prostornim analizama

• … i Microsoft tehnologijama

Page 8: Geoprocessing in cloud
Page 9: Geoprocessing in cloud

Tsunami - PLIMNI VAL

Italija

Dubrovnik

Hvar

PulaIst

Vela luka

Page 10: Geoprocessing in cloud

JAPAN

17 000 km – 21hTektonske ploče

seizmičke aktivnosti u japanu

Page 11: Geoprocessing in cloud

IDEJA

Studijom slučaja naći način kako napraviti preventivnu prostornu (GIS) analizu razmjera utjecaja podizanja razine mora, te što je od softvera i podataka potrebno da bi se takva prostorna analiza napravila.

Page 12: Geoprocessing in cloud

Napravili smo…

• Prototip web aplikacije koja prostornom analizom izračunava broj kućanstava

ugroženih dizanjem razine mora ovisno o visini plimnog vala, te koje su prometnice

u tom slučaju presječene za potrebe evakuacije stanovništva.

Ovo nije hidrodinamični prognostički model!

Page 13: Geoprocessing in cloud

DEMO• geoprocessing.cloudapp.net

Page 14: Geoprocessing in cloud

Geoprocesiranje

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECT

ANALIZA VEKTORAST_INTERSECT

GEOTIFFRGB band 1

GEOTIFFRGB band 1

AZURE SQL SPATIAL

AZURE SQL SPATIAL

PRIKAZ REZULTATA

PRIKAZ REZULTATA

ANALIZAANALIZA

Funkcionalni zahtjevi za geoprocesiranje:

• Upravljački program za prostorne podatke• Projekcije – podaci u geografskom prostoru• Geometrijske operacije

Stack/Function Data driver Projection engine Topology engine

.NET GDAL/OGR, FDO Proj.NET NTS

Java GDAL/OGR, FDO Proj4J JTS

C/C++ GDAL/OGR, FDO Proj4 GEOS

Page 15: Geoprocessing in cloud

Tehnologije

GDAL/OGRGDAL/OGR

MSSQLSpatialMSSQLSpatial Proj.NETProj.NETNTSNTS

AZURE SQLAZURE SQL

FO

SS

GIS

SilverLight .NET WEB appSilverLight .NET WEB appMicrosoft:

• AzureCloud • .NET framework• SilverLight

FOSS GIS:

• GDAL/OGR (lib C/C++)• NTS (lib .NET C#)• MSSQLSpatial (db extezija)• Proj.NET (lib .NET C#)

Page 16: Geoprocessing in cloud

GDAL/OGR

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECT

ANALIZA VEKTORAST_INTERSECT

GEOTIFFRGB band 1

GEOTIFFRGB band 1

AZURE SQL SPATIAL

AZURE SQL SPATIAL

PRIKAZ REZULTATA

PRIKAZ REZULTATA

ANALIZAANALIZA

• Geospatial Data Abstraction Library• 120 rasterskih i 50 vektorskih formata• 1998 – Frank Warmerdam LGPL Licence• GoogleEarth, ArcGIS Server/Desktop, FME

ETL, Autodesk MapGuide...• Transformacije i kontrola outputa• GDAL/OGR Utillities• SWIG Bindings: Perl, Python, Ruby, Java, C#• NoSWIG Bindings: VB6, R

Page 17: Geoprocessing in cloud

Podaci OSM

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECT

ANALIZA VEKTORAST_INTERSECT

GEOTIFFRGB band 1

GEOTIFFRGB band 1

AZURE SQL SPATIAL

AZURE SQL SPATIAL

PRIKAZ REZULTATA

PRIKAZ REZULTATA

ANALIZAANALIZA

• 250 000 volontera

• Import (fr, dk, it..)

• BingMaps

• Vektori

• CC A-SA 2.0

• HR.OSM

Page 18: Geoprocessing in cloud

Vektori

point multipoint line mulitiline polygon multipolygon

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECTION

ANALIZA VEKTORAST_INTERSECTION

GEOTIFFRGB band 1

GEOTIFFRGB band 1

AZURE SQL SPATIAL

AZURE SQL SPATIAL

PRIKAZ REZULTATA

PRIKAZ REZULTATA

ANALIZAANALIZA

Page 19: Geoprocessing in cloud

Rasteri

• DEM, • DSM, DTM, • DOF,• Spectral...

• ASTER GDEM• GeoTIFF – extenzija• GRID struktura• Preciznost (30m)

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECTION

ANALIZA VEKTORAST_INTERSECTION

GEOTIFFRGB band 1

GEOTIFFRGB band 1

AZURE SQL SPATIAL

AZURE SQL SPATIAL

PRIKAZ REZULTATA

PRIKAZ REZULTATA

ANALIZAANALIZA

Page 20: Geoprocessing in cloud

Projekcije

konusna cilindrična ravninska

• PROJ4 – PROJ.NET

• 3D – 2D

• EPSG

• SRS - transformacije

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECT

ANALIZA VEKTORAST_INTERSECT

GEOTIFFRGB band 1

GEOTIFFRGB band 1

AZURE SQL SPATIAL

AZURE SQL SPATIAL

PRIKAZ REZULTATA

PRIKAZ REZULTATA

ANALIZAANALIZA

Fullerova projekcija

Page 21: Geoprocessing in cloud

Hrvatski SRS – HTRS96/TM

Hrvatski Terestrički Referentni Sustav / Transverse Mercator Projection

Page 22: Geoprocessing in cloud

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

ANALIZASOFTVER I PODACI

ANALIZASOFTVER I PODACI

Priprema podataka

PRIPREMA PODATAKA

PRIPREMA PODATAKA

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECT

ANALIZA VEKTORAST_INTERSECT

GEOTIFFRGB band 1

GEOTIFFRGB band 1

AZURE SQL SPATIAL

AZURE SQL SPATIAL

PRIKAZ REZULTATA

PRIKAZ REZULTATA

Page 23: Geoprocessing in cloud

GEOTIFFRGB band 1

GEOTIFFRGB band 1

PRIPREMA PODATAKA

PRIPREMA PODATAKA

Bojanje rastera

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECT

ANALIZA VEKTORAST_INTERSECT

AZURE SQL SPATIAL

AZURE SQL SPATIAL

PRIKAZ REZULTATA

PRIKAZ REZULTATA

ANALIZAANALIZA

• GDALDEM• Prolazi pixel po pixel i ovisno o vrijednosti

visine boji pixel pripadajućom r,g,b bojom

Page 24: Geoprocessing in cloud

LOAD PODATAKAOGR

LOAD PODATAKAOGR

GEOTIFFRGB band 1

GEOTIFFRGB band 1

PRIPREMA PODATAKA

PRIPREMA PODATAKA

Poligonizacija

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

ANALIZA VEKTORAST_INTERSECT

ANALIZA VEKTORAST_INTERSECT

AZURE SQL SPATIAL

AZURE SQL SPATIAL

PRIKAZ REZULTATA

PRIKAZ REZULTATA

ANALIZAANALIZA

• Gdal.Polygonize• Kontrola outputa – preko 50 izlaznih formata• Shapefile, GML, GeoJSON, KML, CSV.... raster vektori

Page 25: Geoprocessing in cloud

AZURE SQL SPATIAL

AZURE SQL SPATIAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

Load podataka OGR

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECTION

ANALIZA VEKTORAST_INTERSECTION

GEOTIFFRGB band 1

GEOTIFFRGB band 1

PRIKAZ REZULTATA

PRIKAZ REZULTATA

ANALIZAANALIZA

geometry_columns

oidf_table_catalogf_table_schemaf_table_namef_geometry_columncoord_dimensionsridtype

feature_table

<table name><geometry_column><atributes>

spatial_ref_sys

sridauth_nameauth_sidsrtextproj4text

•Ogr2ogr (.exe)

•OGC Simple Feature

•“WHERE” uvjeti

•Rezanje polygona

•MSSQL ODBC driver

Page 26: Geoprocessing in cloud

Geometrijske operacije

 PROSTORNI ODNOSI:contains, within, covers, intersects, disjoint, crosses, overlaps, touches, equals 

FUNKCIJE PREKLAPANJA:intersection, difference, union, symmetric difference, unary union

polygon overlays A intersection B A union B A diference B A symDiference B

Page 27: Geoprocessing in cloud

PRIKAZ REZULTATA

PRIKAZ REZULTATA

AZURE SQL SPATIAL

AZURE SQL SPATIAL

• Presjek građevina i područja ugroženosti

STIntersects

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECT

ANALIZA VEKTORAST_INTERSECT

GEOTIFFRGB band 1

GEOTIFFRGB band 1

ANALIZAANALIZA

Page 28: Geoprocessing in cloud

PRIKAZ REZULTATA

PRIKAZ REZULTATA

AZURE SQL SPATIAL

AZURE SQL SPATIAL

• Presjek građevina i područja ugroženosti

STIntersects

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECTION

ANALIZA VEKTORAST_INTERSECTION

GEOTIFFRGB band 1

GEOTIFFRGB band 1

ANALIZAANALIZA

Page 29: Geoprocessing in cloud

PRIKAZ REZULTATA

PRIKAZ REZULTATA

AZURE SQL SPATIAL

AZURE SQL SPATIAL

Rezultati

PRIPREMA PODATAKA

PRIPREMA PODATAKA

BOJANJE RASTERA GDAL

BOJANJE RASTERA GDAL

POLIGONIZACIJAGDAL/OGR

POLIGONIZACIJAGDAL/OGR

LOAD PODATAKAOGR

LOAD PODATAKAOGR

ANALIZA VEKTORAST_INTERSECT

ANALIZA VEKTORAST_INTERSECT

GEOTIFFRGB band 1

GEOTIFFRGB band 1

ANALIZAANALIZA

Page 30: Geoprocessing in cloud

FOSS GIS .NET Stack

MapWindowMapWindow

GeoAPI.NETGeoAPI.NET

NTSNTSMSSQLSpatialMSSQLSpatial

Nhibernate.SpatialNhibernate.Spatial GeoTools.NETGeoTools.NETProj.NETProj.NET

MonoGISMonoGIS

MapWindow ActiveX

MapWindow ActiveX

SharpMapSharpMap

Page 31: Geoprocessing in cloud

FOSS GIS .NET Stack

Alati i biblioteke:• MapWindow – Desktop GIS alat (framework)• MapWindow ActiveX – MapWindow Core API• GeoAPI - Framework baziran na OGC/ISO standardima (SFS)• GeoTools.NET – Skup .NET klasa za manipuliranje prostornim podacima• NHibernate.Spatial – Prostorna ekstenzija za NHibernate• SharpMap – WEB Map Renderer, WEB/Desktop app framework• MonoGIS – GIS na Mono platformi

Zajednica:• Projekti izašli iz “One Man Project” faze• Debugiranje• Portanje Java stack-a

Page 32: Geoprocessing in cloud
Page 33: Geoprocessing in cloud

Povezani sadržaji

• OSM OpenStreetMap• ASTER GDEM Advanced Spaceborne Thermal

Emission and Reflection Radiometer• GDAL/OGR Geospatial Data Abstraction Library• MSSQLSpatial MSSQQL Spatial Extension• CORIE – FOSS Hidrodynamic Model

Page 34: Geoprocessing in cloud
Page 35: Geoprocessing in cloud