SlideShare a Scribd company logo
8.1.2017
Agenda
1. What is GDAL?
2. Software using GDAL
3. Geospatial Data
4. Abstraction
5. Library or maybe framework?
6. Getting started with GDAL and C#
7. More Information
What is GDAL?
● Translator library for raster and vector geospatial data formats
● Started in 1998 by Frank Warmerdam as independent professional
● Now the project is under OSGeo’s umberlla
● Free and Open Source Software
● Written in C++
Software using GDAL
QGIS IDRISI ArcGIS 9.2+ gstat
Micromine GRASS GIS libral SpaceEyes3D
PostGIS Geoweb3d pktools MapGuide
Thuban OpenEV OSSIM ERDAS
CartoDB TerrainView GeoServer GMT
Bluemapia Google Earth Fiona GenGIS
MapServer Procura SAGA GIS vGeo
GDAL - Geospatial Data Abstraction Library
Data which has a geographical or spatial aspect
Raster - A spatial data model that defines space as an array of
equally sized cells arranged in rows and columns, and composed of
single or multiple bands.
Vector - A coordinate-based data model that represents geographic
features as points, lines, and polygons.
GDAL - Geospatial Data Abstraction Library
3 major classes within the GDAL library:
● GDAL - Raster
● OGR - Vector
● OSR - Spatial Reference
What can they do?
Coordinate system conversion, statistics, format conversion, geo operations on
geometries and layers, image merge, build pyramids, create a tileindex, Convert rgb
to indexed color, etc...
GDAL - Geospatial Data Abstraction Library
Presents a single raster abstract data model and a single vector abstract data model
to the calling application for all supported formats.
● Supported raster formats (142 drivers) : GeoTIFF, Erdas Imagine, ECW,
JPEG2000, DTED…
● Supported vector formats (84 drivers): ESRI Shapefile, ESRI ArcSDE, ESRI
FileGDB, KML, PostGIS, Oracle Spatial, AutoCAD DWG, Elasticsearch...
GDAL - Geospatial Data Abstraction Library
Example for GDAL abstraction:
GDAL - Geospatial Data Abstraction Library
Or maybe framework?
● Cross platform - Windows (32, 64 bit), MAC OS X, Linux
● Variety of programming language bindings - Offical: C#, Java. Perl, Python
Unofficial: Go, Lua, Node.js, PHP, Tcl.
● Comes with many useful command line utilities for data translation and
processing
● Extensibility for more geo formats (with plugins)
● Wide community
GDAL - Geospatial Data Abstraction Library
Examples for using command line utiltiles:
● ogr2ogr - converts simple features data between file formats
● gdalinfo - lists information about a raster dataset
% ogr2ogr -f "ESRI Shapefile" c:output.shp "PG: host=localhost user=postgres
dbname=gisdb password=postgres" -sql "SELECT name, geom FROM tableName"
% gdalinfo c:input.tiff
GDAL - Geospatial Data Abstraction Library
A personal experience about how the
community helped me:
Few months ago, I submitted a new bug
in the GDB driver. Two weeks later the
bug was fixed and published as part of the
next GDAL version.
Getting started with GDAL in C#
1. Download the latest version of the precompiled GDAL binaries (32 or 64 bit)
2. Extract the contents from the zip file to a location on your hard disk e.g.
C:Program FilesGDAL
3. Include the path to C:Program FilesGDAL in your PATH system variable and
add path to C:Program FilesGDALgdal-data in a new system variable named
GDAL_DATA
4. Add references to dll-files that can be found at C:Program FilesGDALcsharp
5. Write your code
6. To view the full turorial click here
More Information
Links:
● http://www.gdal.org - official GDAL website
● http://www.gisinternals.com - website to download sources
● Getting started with GDAL and C#
● http://svn.osgeo.org/gdal/trunk/gdal/swig/csharp/apps/ - gdal examples in C#
● GDAL dev forum
● https://trac.osgeo.org/gdal - website to submit bugs
Create by: Tomer .L. and Ori .A.
Questions?

More Related Content

What's hot

Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
CloudxLab
 
Hadoop & MapReduce
Hadoop & MapReduceHadoop & MapReduce
Hadoop & MapReduce
Newvewm
 
RabbitMQ + CouchDB = Awesome
RabbitMQ + CouchDB = AwesomeRabbitMQ + CouchDB = Awesome
RabbitMQ + CouchDB = Awesome
Lenz Gschwendtner
 
Word2Vec
Word2VecWord2Vec
Introduction of Open Source GIS
Introduction of Open Source GISIntroduction of Open Source GIS
Introduction of Open Source GIS
SANGHEE SHIN
 
MapReduce
MapReduceMapReduce
Introduction to Geographic Information System (GIS)
Introduction to Geographic Information System (GIS)Introduction to Geographic Information System (GIS)
Introduction to Geographic Information System (GIS)
Shashank Singh
 
STUDY JAM ON GOOGLE CLOUD PROGRAM
STUDY JAM ON GOOGLE CLOUD PROGRAM STUDY JAM ON GOOGLE CLOUD PROGRAM
STUDY JAM ON GOOGLE CLOUD PROGRAM
SHRIHARRIPRIYAR
 
Introduction to GIS
Introduction to GISIntroduction to GIS
Introduction to GIS
Hans van der Kwast
 
Gcp data engineer
Gcp data engineerGcp data engineer
Gcp data engineer
Narendranath Reddy T
 
Developing Efficient Web-based GIS Applications
Developing Efficient Web-based GIS ApplicationsDeveloping Efficient Web-based GIS Applications
Developing Efficient Web-based GIS Applications
Swetha A
 
3D WebGIS using Opensource software
3D WebGIS using Opensource software3D WebGIS using Opensource software
3D WebGIS using Opensource software
Parthesh Bulbule
 
Large-Scale Geographically Weighted Regression on Spark
Large-Scale Geographically Weighted Regression on SparkLarge-Scale Geographically Weighted Regression on Spark
Large-Scale Geographically Weighted Regression on Spark
Viet-Trung TRAN
 
MapReduce
MapReduceMapReduce
MapReduce
Amir Payberah
 
Map/Reduce intro
Map/Reduce introMap/Reduce intro
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce Algorithms
Amund Tveit
 
introduction to GIS
introduction to GIS introduction to GIS
introduction to GIS
niazali15CRP92
 
Hadoop at Ebay
Hadoop at EbayHadoop at Ebay
Hadoop at Ebay
Aroop Maliakkal
 
Map Reduce
Map ReduceMap Reduce
Map Reduce
Prashant Gupta
 
LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attent...
LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attent...LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attent...
LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attent...
Po-Chuan Chen
 

What's hot (20)

Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLabApache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
Apache Spark - Basics of RDD | Big Data Hadoop Spark Tutorial | CloudxLab
 
Hadoop & MapReduce
Hadoop & MapReduceHadoop & MapReduce
Hadoop & MapReduce
 
RabbitMQ + CouchDB = Awesome
RabbitMQ + CouchDB = AwesomeRabbitMQ + CouchDB = Awesome
RabbitMQ + CouchDB = Awesome
 
Word2Vec
Word2VecWord2Vec
Word2Vec
 
Introduction of Open Source GIS
Introduction of Open Source GISIntroduction of Open Source GIS
Introduction of Open Source GIS
 
MapReduce
MapReduceMapReduce
MapReduce
 
Introduction to Geographic Information System (GIS)
Introduction to Geographic Information System (GIS)Introduction to Geographic Information System (GIS)
Introduction to Geographic Information System (GIS)
 
STUDY JAM ON GOOGLE CLOUD PROGRAM
STUDY JAM ON GOOGLE CLOUD PROGRAM STUDY JAM ON GOOGLE CLOUD PROGRAM
STUDY JAM ON GOOGLE CLOUD PROGRAM
 
Introduction to GIS
Introduction to GISIntroduction to GIS
Introduction to GIS
 
Gcp data engineer
Gcp data engineerGcp data engineer
Gcp data engineer
 
Developing Efficient Web-based GIS Applications
Developing Efficient Web-based GIS ApplicationsDeveloping Efficient Web-based GIS Applications
Developing Efficient Web-based GIS Applications
 
3D WebGIS using Opensource software
3D WebGIS using Opensource software3D WebGIS using Opensource software
3D WebGIS using Opensource software
 
Large-Scale Geographically Weighted Regression on Spark
Large-Scale Geographically Weighted Regression on SparkLarge-Scale Geographically Weighted Regression on Spark
Large-Scale Geographically Weighted Regression on Spark
 
MapReduce
MapReduceMapReduce
MapReduce
 
Map/Reduce intro
Map/Reduce introMap/Reduce intro
Map/Reduce intro
 
Mapreduce Algorithms
Mapreduce AlgorithmsMapreduce Algorithms
Mapreduce Algorithms
 
introduction to GIS
introduction to GIS introduction to GIS
introduction to GIS
 
Hadoop at Ebay
Hadoop at EbayHadoop at Ebay
Hadoop at Ebay
 
Map Reduce
Map ReduceMap Reduce
Map Reduce
 
LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attent...
LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attent...LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attent...
LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attent...
 

Similar to Gdal introduction

Info gdal 20150915
Info gdal 20150915Info gdal 20150915
Info gdal 20150915
GeoMedeelel
 
Python in geoinformatics
Python in geoinformaticsPython in geoinformatics
Python in geoinformatics
MapWindow GIS
 
Large Scale Geo Processing on Hadoop
Large Scale Geo Processing on HadoopLarge Scale Geo Processing on Hadoop
Large Scale Geo Processing on Hadoop
Christoph Körner
 
Snow cover assessment tool using Python
Snow cover assessment tool using PythonSnow cover assessment tool using Python
Snow cover assessment tool using Python
Prasun Kumar Gupta
 
RAPIDS cuGraph – Accelerating all your Graph needs
RAPIDS cuGraph – Accelerating all your Graph needsRAPIDS cuGraph – Accelerating all your Graph needs
RAPIDS cuGraph – Accelerating all your Graph needs
Connected Data World
 
Open Source GIS
Open Source GISOpen Source GIS
Open Source GIS
Joe Larson
 
QGIS - Free alternative to ArcMap
QGIS - Free alternative to ArcMapQGIS - Free alternative to ArcMap
QGIS - Free alternative to ArcMap
Texas Alliance of Groundwater Districts
 
Using GDAL In Your GIS Workflow
Using GDAL In Your GIS WorkflowUsing GDAL In Your GIS Workflow
Using GDAL In Your GIS Workflow
Gerry James
 
Open source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemOpen source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystem
HaNJiN Lee
 
Giving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityGiving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS Community
MongoDB
 
Geospatial web services using little-known GDAL features and modern Perl midd...
Geospatial web services using little-known GDAL features and modern Perl midd...Geospatial web services using little-known GDAL features and modern Perl midd...
Geospatial web services using little-known GDAL features and modern Perl midd...
Ari Jolma
 
WMS Performance Shootout 2011
WMS Performance Shootout 2011WMS Performance Shootout 2011
WMS Performance Shootout 2011
Jeff McKenna
 
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
Joachim Van der Auwera
 
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
JAX London
 
Using R to Visualize Spatial Data: R as GIS - Guy Lansley
Using R to Visualize Spatial Data: R as GIS - Guy LansleyUsing R to Visualize Spatial Data: R as GIS - Guy Lansley
Using R to Visualize Spatial Data: R as GIS - Guy Lansley
Guy Lansley
 
Dsm Presentation
Dsm PresentationDsm Presentation
Dsm Presentation
richoe
 
HDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's GuideHDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's Guide
The HDF-EOS Tools and Information Center
 
Mapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaMapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in Java
Joachim Van der Auwera
 
Understanding Hadoop
Understanding HadoopUnderstanding Hadoop
Understanding Hadoop
Ahmed Ossama
 
Report Hadoop Map Reduce
Report Hadoop Map ReduceReport Hadoop Map Reduce
Report Hadoop Map Reduce
Urvashi Kataria
 

Similar to Gdal introduction (20)

Info gdal 20150915
Info gdal 20150915Info gdal 20150915
Info gdal 20150915
 
Python in geoinformatics
Python in geoinformaticsPython in geoinformatics
Python in geoinformatics
 
Large Scale Geo Processing on Hadoop
Large Scale Geo Processing on HadoopLarge Scale Geo Processing on Hadoop
Large Scale Geo Processing on Hadoop
 
Snow cover assessment tool using Python
Snow cover assessment tool using PythonSnow cover assessment tool using Python
Snow cover assessment tool using Python
 
RAPIDS cuGraph – Accelerating all your Graph needs
RAPIDS cuGraph – Accelerating all your Graph needsRAPIDS cuGraph – Accelerating all your Graph needs
RAPIDS cuGraph – Accelerating all your Graph needs
 
Open Source GIS
Open Source GISOpen Source GIS
Open Source GIS
 
QGIS - Free alternative to ArcMap
QGIS - Free alternative to ArcMapQGIS - Free alternative to ArcMap
QGIS - Free alternative to ArcMap
 
Using GDAL In Your GIS Workflow
Using GDAL In Your GIS WorkflowUsing GDAL In Your GIS Workflow
Using GDAL In Your GIS Workflow
 
Open source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystemOpen source based software ‘gxt’ mangosystem
Open source based software ‘gxt’ mangosystem
 
Giving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityGiving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS Community
 
Geospatial web services using little-known GDAL features and modern Perl midd...
Geospatial web services using little-known GDAL features and modern Perl midd...Geospatial web services using little-known GDAL features and modern Perl midd...
Geospatial web services using little-known GDAL features and modern Perl midd...
 
WMS Performance Shootout 2011
WMS Performance Shootout 2011WMS Performance Shootout 2011
WMS Performance Shootout 2011
 
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
 
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
Java Tech & Tools | Mapping, GIS and Geolocating Data in Java | Joachim Van d...
 
Using R to Visualize Spatial Data: R as GIS - Guy Lansley
Using R to Visualize Spatial Data: R as GIS - Guy LansleyUsing R to Visualize Spatial Data: R as GIS - Guy Lansley
Using R to Visualize Spatial Data: R as GIS - Guy Lansley
 
Dsm Presentation
Dsm PresentationDsm Presentation
Dsm Presentation
 
HDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's GuideHDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's Guide
 
Mapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in JavaMapping, GIS and geolocating data in Java
Mapping, GIS and geolocating data in Java
 
Understanding Hadoop
Understanding HadoopUnderstanding Hadoop
Understanding Hadoop
 
Report Hadoop Map Reduce
Report Hadoop Map ReduceReport Hadoop Map Reduce
Report Hadoop Map Reduce
 

Recently uploaded

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 

Recently uploaded (20)

Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 

Gdal introduction

  • 2. Agenda 1. What is GDAL? 2. Software using GDAL 3. Geospatial Data 4. Abstraction 5. Library or maybe framework? 6. Getting started with GDAL and C# 7. More Information
  • 3. What is GDAL? ● Translator library for raster and vector geospatial data formats ● Started in 1998 by Frank Warmerdam as independent professional ● Now the project is under OSGeo’s umberlla ● Free and Open Source Software ● Written in C++
  • 4. Software using GDAL QGIS IDRISI ArcGIS 9.2+ gstat Micromine GRASS GIS libral SpaceEyes3D PostGIS Geoweb3d pktools MapGuide Thuban OpenEV OSSIM ERDAS CartoDB TerrainView GeoServer GMT Bluemapia Google Earth Fiona GenGIS MapServer Procura SAGA GIS vGeo
  • 5. GDAL - Geospatial Data Abstraction Library Data which has a geographical or spatial aspect Raster - A spatial data model that defines space as an array of equally sized cells arranged in rows and columns, and composed of single or multiple bands. Vector - A coordinate-based data model that represents geographic features as points, lines, and polygons.
  • 6. GDAL - Geospatial Data Abstraction Library 3 major classes within the GDAL library: ● GDAL - Raster ● OGR - Vector ● OSR - Spatial Reference What can they do? Coordinate system conversion, statistics, format conversion, geo operations on geometries and layers, image merge, build pyramids, create a tileindex, Convert rgb to indexed color, etc...
  • 7. GDAL - Geospatial Data Abstraction Library Presents a single raster abstract data model and a single vector abstract data model to the calling application for all supported formats. ● Supported raster formats (142 drivers) : GeoTIFF, Erdas Imagine, ECW, JPEG2000, DTED… ● Supported vector formats (84 drivers): ESRI Shapefile, ESRI ArcSDE, ESRI FileGDB, KML, PostGIS, Oracle Spatial, AutoCAD DWG, Elasticsearch...
  • 8. GDAL - Geospatial Data Abstraction Library Example for GDAL abstraction:
  • 9. GDAL - Geospatial Data Abstraction Library Or maybe framework? ● Cross platform - Windows (32, 64 bit), MAC OS X, Linux ● Variety of programming language bindings - Offical: C#, Java. Perl, Python Unofficial: Go, Lua, Node.js, PHP, Tcl. ● Comes with many useful command line utilities for data translation and processing ● Extensibility for more geo formats (with plugins) ● Wide community
  • 10. GDAL - Geospatial Data Abstraction Library Examples for using command line utiltiles: ● ogr2ogr - converts simple features data between file formats ● gdalinfo - lists information about a raster dataset % ogr2ogr -f "ESRI Shapefile" c:output.shp "PG: host=localhost user=postgres dbname=gisdb password=postgres" -sql "SELECT name, geom FROM tableName" % gdalinfo c:input.tiff
  • 11. GDAL - Geospatial Data Abstraction Library A personal experience about how the community helped me: Few months ago, I submitted a new bug in the GDB driver. Two weeks later the bug was fixed and published as part of the next GDAL version.
  • 12. Getting started with GDAL in C# 1. Download the latest version of the precompiled GDAL binaries (32 or 64 bit) 2. Extract the contents from the zip file to a location on your hard disk e.g. C:Program FilesGDAL 3. Include the path to C:Program FilesGDAL in your PATH system variable and add path to C:Program FilesGDALgdal-data in a new system variable named GDAL_DATA 4. Add references to dll-files that can be found at C:Program FilesGDALcsharp 5. Write your code 6. To view the full turorial click here
  • 13. More Information Links: ● http://www.gdal.org - official GDAL website ● http://www.gisinternals.com - website to download sources ● Getting started with GDAL and C# ● http://svn.osgeo.org/gdal/trunk/gdal/swig/csharp/apps/ - gdal examples in C# ● GDAL dev forum ● https://trac.osgeo.org/gdal - website to submit bugs Create by: Tomer .L. and Ori .A.