geoprocessing in cloud

35

Upload: alen-huskic

Post on 10-May-2015

896 views

Category:

Technology


0 download

DESCRIPTION

Describes how to implement simple geoprocessing using GDAL/OGR in Azure cloud. Case study is shown, that describes how increased sea level would effect

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