SlideShare a Scribd company logo
1 of 29
PostGIS WKT Raster. An Open Source alternative to Oracle GeoRaster
First of all... ,[object Object]
Oracle GeoRaster roadmap 10gR1 (2003) First version Interleaving Georeferencing Pyramids Raster loader, viewer and exporter 10gR2 (2005) Raster compression/decompression GeoRaster objects in other schemas Enhaced GeoRaster tools 11gR1 (2007) Automatic DML trigger creation SDO_GEOR_ADMIN Bitmap masks NODATA ranges Empty raster blocks Random blocking size New functions, procedures and other features 11gR2 (2009) Java API GCP Support Raster reprojections Optimized blocking Grid interpolations Polygon-based clipping in queries New functions, procedures and other features
PostGIS WKT Raster roadmap 0.1.6d (Feb 2009) First version Type definition Canonical input/output GiST index support Raster loader (gdal2wktraster) 0.1.6k (Aug 2010) Get/Set raster properties Intersect raster&geometries Register out db rasters Get metadata for raster and bands Convert between world and raster coords. Set and know true nodata values Get/Set pixel values GDAL r/o basic driver 0.2.4   (Pred. Nov 2010) Set raster rotation Reproject rasters Export raster to standard formats Validate raster data Topological operators MapAlgebra, reclassify... Edit raster data on db Full GDAL driver ,[object Object]
Main characteristics: Data type Oracle GeoRaster:  2 related data types PostGIS WKT Raster:  1 data type
Main characteristics: Georeferencing Oracle GeoRaster:   PostGIS WKT Raster:
Main characteristics: Indexing Oracle GeoRaster:  Creates a spatial index (R-Tree index) on the  spatial extent  of the GeoRaster object. PostGIS WKT Raster:  Creates a GiST index on the  raster column, using convex hull .
Main characteristics: Pyramids Oracle GeoRaster:  Reduced-resolution versions of rasters can be generated using 5 resampling techniques. The pyramids are stored in the same raster data table as the GeoRaster object, with the same SRS than the original one. PostGIS WKT Raster:  GDAL-provided pyramids are generated on loading time at desired levels. The pyramids are stored in different tables than the original raster.
Main characteristics: Metadata Oracle GeoRaster:  Metadata are part of the SDO_GEORASTER object, and follow a XML schema. PostGIS WKT Raster:  The metadata is packed with the raster data, like the georeference information. Only basic metadata is stored (upper left corner, width, height, pixel size, skew, srid and numbands)
Main characteristics: Open specs Oracle GeoRaster : The specs for SDO_GEORASTER and SDO_RASTER objects are open. This is really important, to allow third party tools to provide capabilities not implemented in the server, like  spatial analysis .  PostGIS WKT Raster : Uses WKT/WKB format for representing data. Is a open specification too.
Basic Operations: Loading data ,[object Object]
Java loader.  Few formats accepted (TIFF, GeoTIFF, JPEG, BMP, GIF, PNG and JP2 for images. ESRI World Files, GeoTIFF and Digital Globe RPC files for georef)
GDAL GeoRaster driver (Ivan Lucena):  Really simple method
gdal_translate -of image.tif geor:user/password/SID,table,raster_column
Basic Operations: Loading data PostGIS WKT Raster:  All GDAL-accepted formats. ,[object Object]
> gdal2wktraster.py&quot; -r C:orcl _tut.tif -t <table> -s <srid> -k 50x50 -I -o C:rcl_tutrtm.sql
> psql -d <db> -f C:rcl_tutrtm.sql
In the future: GDAL WKT Raster driver (currently, only support WKT Raster reading).
Basic Operations: Viewing data Oracle GeoRaster:  ,[object Object]
Lots of Spatial Partners ( http://www.oracle.com/technology/products/spatial/spatial_partners_sys_integ.htm )
Tools via GDAL GeoRaster driver (i.e.: QGIS)
Basic Operations: Viewing data PostGIS WKT Raster:  Now, is possible to visualize WKT Raster data using  OpenJUMP  and ST_PixelAsPolygons function.  Apart from that, there are no tools allowing WKT Raster data visualization. But we have plans for developing support on: ,[object Object]
GeoServer
¿?
Basic Operations: Exporting data Oracle GeoRaster:  As when loading data... ,[object Object]
Java:  Few formats accepted (PL/SQL plus JPEG and GIF).  Memory problems with data size up to 67MB .
GDAL GeoRaster driver .
Basic Operations: Exporting data PostGIS WKT Raster: ,[object Object]
Planned: directly from-db exporting to common formats (totiff, tojpeg...)

More Related Content

What's hot

Representing and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic WebRepresenting and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic WebKostis Kyzirakos
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To PostGISmleslie
 
Building Scalable Semantic Geospatial RDF Stores
Building Scalable Semantic Geospatial RDF StoresBuilding Scalable Semantic Geospatial RDF Stores
Building Scalable Semantic Geospatial RDF StoresKostis Kyzirakos
 
Introduction To PostGIS
Introduction To PostGISIntroduction To PostGIS
Introduction To PostGISmleslie
 
Introduce spark (by 조창원)
Introduce spark (by 조창원)Introduce spark (by 조창원)
Introduce spark (by 조창원)I Goo Lee.
 
World wind java sdk in progess
World wind java sdk in progessWorld wind java sdk in progess
World wind java sdk in progessRaffaele de Amicis
 
GFOSS Day 2012 GeoServer Presentation
GFOSS Day 2012 GeoServer PresentationGFOSS Day 2012 GeoServer Presentation
GFOSS Day 2012 GeoServer PresentationGeoSolutions
 
Using PostGIS To Add Some Spatial Flavor To Your Application
Using PostGIS To Add Some Spatial Flavor To Your ApplicationUsing PostGIS To Add Some Spatial Flavor To Your Application
Using PostGIS To Add Some Spatial Flavor To Your ApplicationSteven Pousty
 
Java Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJava Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJody Garnett
 
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...Accumulo Summit
 
GeoMesa: Scalable Geospatial Analytics
GeoMesa:  Scalable Geospatial AnalyticsGeoMesa:  Scalable Geospatial Analytics
GeoMesa: Scalable Geospatial AnalyticsVisionGEOMATIQUE2014
 
State of GeoServer 2.14
State of GeoServer 2.14State of GeoServer 2.14
State of GeoServer 2.14Jody Garnett
 
Vector Tiles with GeoServer and OpenLayers
Vector Tiles with GeoServer and OpenLayersVector Tiles with GeoServer and OpenLayers
Vector Tiles with GeoServer and OpenLayersJody Garnett
 
Chicago-Java-User-Group-Meetup-Some-Garbage-Talk-2015-01-14
Chicago-Java-User-Group-Meetup-Some-Garbage-Talk-2015-01-14Chicago-Java-User-Group-Meetup-Some-Garbage-Talk-2015-01-14
Chicago-Java-User-Group-Meetup-Some-Garbage-Talk-2015-01-14Jayesh Thakrar
 
GeoMesa on Apache Spark SQL with Anthony Fox
GeoMesa on Apache Spark SQL with Anthony FoxGeoMesa on Apache Spark SQL with Anthony Fox
GeoMesa on Apache Spark SQL with Anthony FoxDatabricks
 
Apache Spark - Key-Value RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Key-Value RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Key-Value RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Key-Value RDD | Big Data Hadoop Spark Tutorial | CloudxLabCloudxLab
 
GeoServer Ecosystem 2018
GeoServer Ecosystem 2018GeoServer Ecosystem 2018
GeoServer Ecosystem 2018Jody Garnett
 

What's hot (20)

Representing and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic WebRepresenting and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic Web
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To PostGIS
 
Building Scalable Semantic Geospatial RDF Stores
Building Scalable Semantic Geospatial RDF StoresBuilding Scalable Semantic Geospatial RDF Stores
Building Scalable Semantic Geospatial RDF Stores
 
Introduction To PostGIS
Introduction To PostGISIntroduction To PostGIS
Introduction To PostGIS
 
Introduce spark (by 조창원)
Introduce spark (by 조창원)Introduce spark (by 조창원)
Introduce spark (by 조창원)
 
World wind java sdk in progess
World wind java sdk in progessWorld wind java sdk in progess
World wind java sdk in progess
 
GFOSS Day 2012 GeoServer Presentation
GFOSS Day 2012 GeoServer PresentationGFOSS Day 2012 GeoServer Presentation
GFOSS Day 2012 GeoServer Presentation
 
Using PostGIS To Add Some Spatial Flavor To Your Application
Using PostGIS To Add Some Spatial Flavor To Your ApplicationUsing PostGIS To Add Some Spatial Flavor To Your Application
Using PostGIS To Add Some Spatial Flavor To Your Application
 
Java Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJava Image Processing for Geospatial Community
Java Image Processing for Geospatial Community
 
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
Accumulo Summit 2016: Introducing Accumulo Collections: A Practical Accumulo ...
 
GeoMesa: Scalable Geospatial Analytics
GeoMesa:  Scalable Geospatial AnalyticsGeoMesa:  Scalable Geospatial Analytics
GeoMesa: Scalable Geospatial Analytics
 
State of GeoServer 2.14
State of GeoServer 2.14State of GeoServer 2.14
State of GeoServer 2.14
 
Vector Tiles with GeoServer and OpenLayers
Vector Tiles with GeoServer and OpenLayersVector Tiles with GeoServer and OpenLayers
Vector Tiles with GeoServer and OpenLayers
 
MySQL 5.7 GIS
MySQL 5.7 GISMySQL 5.7 GIS
MySQL 5.7 GIS
 
Chicago-Java-User-Group-Meetup-Some-Garbage-Talk-2015-01-14
Chicago-Java-User-Group-Meetup-Some-Garbage-Talk-2015-01-14Chicago-Java-User-Group-Meetup-Some-Garbage-Talk-2015-01-14
Chicago-Java-User-Group-Meetup-Some-Garbage-Talk-2015-01-14
 
Why is postgis awesome?
Why is postgis awesome?Why is postgis awesome?
Why is postgis awesome?
 
GeoMesa on Apache Spark SQL with Anthony Fox
GeoMesa on Apache Spark SQL with Anthony FoxGeoMesa on Apache Spark SQL with Anthony Fox
GeoMesa on Apache Spark SQL with Anthony Fox
 
Apache Spark - Key-Value RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Key-Value RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Key-Value RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Key-Value RDD | Big Data Hadoop Spark Tutorial | CloudxLab
 
GeoServer Ecosystem 2018
GeoServer Ecosystem 2018GeoServer Ecosystem 2018
GeoServer Ecosystem 2018
 
Spark Streaming Tips for Devs and Ops
Spark Streaming Tips for Devs and OpsSpark Streaming Tips for Devs and Ops
Spark Streaming Tips for Devs and Ops
 

Similar to FOSS4G 2010 PostGIS Raster: an Open Source alternative to Oracle GeoRaster

Stockage, manipulation et analyse de données matricielles avec PostGIS Raster
Stockage, manipulation et analyse de données matricielles avec PostGIS RasterStockage, manipulation et analyse de données matricielles avec PostGIS Raster
Stockage, manipulation et analyse de données matricielles avec PostGIS RasterACSG Section Montréal
 
Info gdal 20150915
Info gdal 20150915Info gdal 20150915
Info gdal 20150915GeoMedeelel
 
GeoServer, GeoNetwork and INSPIRE: where we are and what is missing
GeoServer, GeoNetwork and INSPIRE: where we are and what is missingGeoServer, GeoNetwork and INSPIRE: where we are and what is missing
GeoServer, GeoNetwork and INSPIRE: where we are and what is missingGeoSolutions
 
Open source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemOpen source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemHaNJiN Lee
 
Postgres Vision 2018: PostGIS and Spatial Extensions
Postgres Vision 2018: PostGIS and Spatial ExtensionsPostgres Vision 2018: PostGIS and Spatial Extensions
Postgres Vision 2018: PostGIS and Spatial ExtensionsEDB
 
Analysing GeoServer compatibility with INSPIRE requirements
Analysing GeoServer compatibility  with INSPIRE requirements Analysing GeoServer compatibility  with INSPIRE requirements
Analysing GeoServer compatibility with INSPIRE requirements GeoSolutions
 
Opensource gis development - part 3
Opensource gis development - part 3Opensource gis development - part 3
Opensource gis development - part 3Andrea Antonello
 
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...GeoSolutions
 
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...Chester Chen
 
Getting Started with Geospatial Data in MongoDB
Getting Started with Geospatial Data in MongoDBGetting Started with Geospatial Data in MongoDB
Getting Started with Geospatial Data in MongoDBMongoDB
 
Osgis 2010 notes
Osgis 2010 notesOsgis 2010 notes
Osgis 2010 notesJoanne Cook
 
Foss4g it-2011 (english)
Foss4g it-2011 (english)Foss4g it-2011 (english)
Foss4g it-2011 (english)GeoSolutions
 
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4Gmago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4GSANGHEE SHIN
 
2017 RM-URISA Track: Spatial SQL - The Best Kept Secret in the Geospatial World
2017 RM-URISA Track:  Spatial SQL - The Best Kept Secret in the Geospatial World2017 RM-URISA Track:  Spatial SQL - The Best Kept Secret in the Geospatial World
2017 RM-URISA Track: Spatial SQL - The Best Kept Secret in the Geospatial WorldGIS in the Rockies
 
Big data distributed processing: Spark introduction
Big data distributed processing: Spark introductionBig data distributed processing: Spark introduction
Big data distributed processing: Spark introductionHektor Jacynycz García
 
Mapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX LondonMapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX LondonJoachim Van der Auwera
 

Similar to FOSS4G 2010 PostGIS Raster: an Open Source alternative to Oracle GeoRaster (20)

Stockage, manipulation et analyse de données matricielles avec PostGIS Raster
Stockage, manipulation et analyse de données matricielles avec PostGIS RasterStockage, manipulation et analyse de données matricielles avec PostGIS Raster
Stockage, manipulation et analyse de données matricielles avec PostGIS Raster
 
Info gdal 20150915
Info gdal 20150915Info gdal 20150915
Info gdal 20150915
 
GeoServer, GeoNetwork and INSPIRE: where we are and what is missing
GeoServer, GeoNetwork and INSPIRE: where we are and what is missingGeoServer, GeoNetwork and INSPIRE: where we are and what is missing
GeoServer, GeoNetwork and INSPIRE: where we are and what is missing
 
Open source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemOpen source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystem
 
Pycon2011
Pycon2011Pycon2011
Pycon2011
 
Postgres Vision 2018: PostGIS and Spatial Extensions
Postgres Vision 2018: PostGIS and Spatial ExtensionsPostgres Vision 2018: PostGIS and Spatial Extensions
Postgres Vision 2018: PostGIS and Spatial Extensions
 
Analysing GeoServer compatibility with INSPIRE requirements
Analysing GeoServer compatibility  with INSPIRE requirements Analysing GeoServer compatibility  with INSPIRE requirements
Analysing GeoServer compatibility with INSPIRE requirements
 
Opensource gis development - part 3
Opensource gis development - part 3Opensource gis development - part 3
Opensource gis development - part 3
 
Post gispguk
Post gispgukPost gispguk
Post gispguk
 
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer And GeoTools: Achievements, Issues And Future Develo...
 
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
SF Big Analytics 20191112: How to performance-tune Spark applications in larg...
 
Phnom penh mapping meetup #15
Phnom penh mapping meetup #15Phnom penh mapping meetup #15
Phnom penh mapping meetup #15
 
Getting Started with Geospatial Data in MongoDB
Getting Started with Geospatial Data in MongoDBGetting Started with Geospatial Data in MongoDB
Getting Started with Geospatial Data in MongoDB
 
Gdal introduction
Gdal introductionGdal introduction
Gdal introduction
 
Osgis 2010 notes
Osgis 2010 notesOsgis 2010 notes
Osgis 2010 notes
 
Foss4g it-2011 (english)
Foss4g it-2011 (english)Foss4g it-2011 (english)
Foss4g it-2011 (english)
 
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4Gmago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
mago3D: Let's integrate BIM and 3D GIS on top of FOSS4G
 
2017 RM-URISA Track: Spatial SQL - The Best Kept Secret in the Geospatial World
2017 RM-URISA Track:  Spatial SQL - The Best Kept Secret in the Geospatial World2017 RM-URISA Track:  Spatial SQL - The Best Kept Secret in the Geospatial World
2017 RM-URISA Track: Spatial SQL - The Best Kept Secret in the Geospatial World
 
Big data distributed processing: Spark introduction
Big data distributed processing: Spark introductionBig data distributed processing: Spark introduction
Big data distributed processing: Spark introduction
 
Mapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX LondonMapping, GIS and geolocating data in Java @ JAX London
Mapping, GIS and geolocating data in Java @ JAX London
 

Recently uploaded

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

FOSS4G 2010 PostGIS Raster: an Open Source alternative to Oracle GeoRaster

  • 1. PostGIS WKT Raster. An Open Source alternative to Oracle GeoRaster
  • 2.
  • 3. Oracle GeoRaster roadmap 10gR1 (2003) First version Interleaving Georeferencing Pyramids Raster loader, viewer and exporter 10gR2 (2005) Raster compression/decompression GeoRaster objects in other schemas Enhaced GeoRaster tools 11gR1 (2007) Automatic DML trigger creation SDO_GEOR_ADMIN Bitmap masks NODATA ranges Empty raster blocks Random blocking size New functions, procedures and other features 11gR2 (2009) Java API GCP Support Raster reprojections Optimized blocking Grid interpolations Polygon-based clipping in queries New functions, procedures and other features
  • 4.
  • 5. Main characteristics: Data type Oracle GeoRaster: 2 related data types PostGIS WKT Raster: 1 data type
  • 6. Main characteristics: Georeferencing Oracle GeoRaster: PostGIS WKT Raster:
  • 7. Main characteristics: Indexing Oracle GeoRaster: Creates a spatial index (R-Tree index) on the spatial extent of the GeoRaster object. PostGIS WKT Raster: Creates a GiST index on the raster column, using convex hull .
  • 8. Main characteristics: Pyramids Oracle GeoRaster: Reduced-resolution versions of rasters can be generated using 5 resampling techniques. The pyramids are stored in the same raster data table as the GeoRaster object, with the same SRS than the original one. PostGIS WKT Raster: GDAL-provided pyramids are generated on loading time at desired levels. The pyramids are stored in different tables than the original raster.
  • 9. Main characteristics: Metadata Oracle GeoRaster: Metadata are part of the SDO_GEORASTER object, and follow a XML schema. PostGIS WKT Raster: The metadata is packed with the raster data, like the georeference information. Only basic metadata is stored (upper left corner, width, height, pixel size, skew, srid and numbands)
  • 10. Main characteristics: Open specs Oracle GeoRaster : The specs for SDO_GEORASTER and SDO_RASTER objects are open. This is really important, to allow third party tools to provide capabilities not implemented in the server, like spatial analysis . PostGIS WKT Raster : Uses WKT/WKB format for representing data. Is a open specification too.
  • 11.
  • 12. Java loader. Few formats accepted (TIFF, GeoTIFF, JPEG, BMP, GIF, PNG and JP2 for images. ESRI World Files, GeoTIFF and Digital Globe RPC files for georef)
  • 13. GDAL GeoRaster driver (Ivan Lucena): Really simple method
  • 14. gdal_translate -of image.tif geor:user/password/SID,table,raster_column
  • 15.
  • 16. > gdal2wktraster.py&quot; -r C:orcl _tut.tif -t <table> -s <srid> -k 50x50 -I -o C:rcl_tutrtm.sql
  • 17. > psql -d <db> -f C:rcl_tutrtm.sql
  • 18. In the future: GDAL WKT Raster driver (currently, only support WKT Raster reading).
  • 19.
  • 20. Lots of Spatial Partners ( http://www.oracle.com/technology/products/spatial/spatial_partners_sys_integ.htm )
  • 21. Tools via GDAL GeoRaster driver (i.e.: QGIS)
  • 22.
  • 24. ¿?
  • 25.
  • 26. Java: Few formats accepted (PL/SQL plus JPEG and GIF). Memory problems with data size up to 67MB .
  • 28.
  • 29. Planned: directly from-db exporting to common formats (totiff, tojpeg...)
  • 30. Simple example with Oracle GeoRaster (I) Example: Compute pixel value statistics on areas delimited by vector polygons (http://gis4free.wordpress.com/2010/09/01/oracle-georaster-part-ii/). Step 1: Load vector data (points distribution). Oracle Spatial only accept SDO format for input geometry data. We have to convert our shapefiles to SDO format using sdo2shp Tools used: sdo2shp + sqlplus + sqlldr (possible to use only ogr2ogr )
  • 31.
  • 32. Simple example with Oracle GeoRaster (III) Step 3: Create buffers around points Tools used: PL/SQL API create table cariboupoint_buffers_wgs AS select t.id, sdo_geom.sdo_mbr(sdo_geom.sdo_buffer(sdo_cs.transform(t.geom, 4326), 1000, 1)) geom from cariboupoints t;
  • 33. Simple example with Oracle GeoRaster (IV) Step 4: Create indexes Tools used: PL/SQL API First, we must update metadata DELETE FROM user_sdo_geom_metadata WHERE table_name = 'spain_images' AND column_name = 'IMAGE.SPATIALEXTENT'; INSERT INTO user_sdo_geom_metadata VALUES ('spain_images', 'IMAGE.SPATIALEXTENT', SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -180, 180, .00000005), SDO_DIM_ELEMENT('Y', -90, 90, .00000005)), 4326); Now, create the index DROP INDEX spain_images_sidx; CREATE INDEX spain_images_sidx ON spain_images(image.spatialExtent) INDEXTYPE IS mdsys.spatial_index; Same operation with vector buffers DELETE FROM user_sdo_geom_metadata WHERE table_name = 'cariboupoint_buffers_wgs' AND column_name = 'geom'; INSERT INTO user_sdo_geom_metadata VALUES ('cariboupoints_buffers_wgs', 'geom', SDO_DIM_ARRAY(SDO_DIM_ELEMENT('X', -180, 180, .00000005), SDO_DIM_ELEMENT('Y', -90, 90, .00000005)), 4326); DROP INDEX spain_images_sidx; CREATE INDEX cariboupoints_buffers_wgs_gidx ON cariboupoints_buffers_wgs(geom) INDEXTYPE IS mdsys.spatial_index;
  • 34.
  • 35. We compute raster statistics by SDO_GEOR.generateStatistics , using as sampling window the intersecting buffers.
  • 36.
  • 37. The intersection process was really fast, because we don't intersect vector with real data, but with MBR of the data. Why? Because Oracle GeoRaster was created primarily for raster data storage, not for raster data analysis.
  • 38. Simple example with PostGIS WKT Raster (I) The same example ( http://trac.osgeo.org/postgis/wiki/WKTRasterTutorial01 ) Step 1: Load vector data (points distribution). PostGIS only accept shapefiles as input data. We use them Tools used: shp2pgsql (possible to use ogr2ogr )
  • 39. Simple example with PostGIS WKT Raster (II) Step 2: Load raster data Tools used: gdal2wktraster, psql Step 3: Create buffers around points Tools used: PgSQL API Note: The buffers are round, not rectangular. This is because Oracle GeoRaster only accepts rectangular sampling windows. But now, it's not necessary.
  • 40. Simple example with PostGIS WKT Raster (III) Step 4: Create indexes Not needed! Created when loading data. Step 5: Compute statistics. The mean elevation of the raster in areas intersected by vector buffers. Tools used: pgSQL API Time: About 10 mins. Note: We really intersect raster data with vector data. And the raster data is first polygonized to be intersected with buffers.
  • 41.
  • 42. Evaluation Matrix Requirements Oracle GeoRaster PostGIS WKT Raster Specific Data Type SDO_GEORASTER WKT Raster Multidimensional Support Up to 3 Up to 3 Georeferencing Fullfilled Fullfilled Image pyramids Fullfilled Fullfilled Partitions Only regular Only regular Raster compression Fullfilled Fullfilled Scan order Not Fullfilled Not fullfilled Analysis capability Not fullfilled Fullfilled (+ r&v) Slicing Only get 1 layer Only get 1 layer, planned Subsetting Fullfilled Not Fullfilled (planned) Content-based search Using vector MBR Partially (topological planned) Spatial Indexing Fullfilled (over MBR) Fullfilled (over cells) Open specification Fullfilled Fullfilled
  • 43. Credits Screenshots & tutorial: Pierre Racine Evaluation Matrix: Damon Riga Noktula (“ Server-based Raster Operations for Spatio-temporal Application in Raster Database using Oracle GeoRaster ”), based on Peter Bauman's & others criteria.
  • 44.

Editor's Notes

  1. El formato de las diapositivas a utilizar para la exposición es flexible, siempre que se siga la plantilla proporcionada. El tiempo de exposición por tarea debe ser, como máximo, de 15 minutos, incluyendo los tiempos de cambio de ponente entre tarea. Para los AEI, el tiempo disponible será de 20 minutos como máximo. Es importante no excederse.