SlideShare a Scribd company logo
1 of 17
Marianna Zichar
University of Debrecen
Agenda
 Motivation
 The language (with the main pitfalls)
 ArcGIS
 KML
 QGIS
 Projections
 Visualization
 Analysis and management of geospatial data
2
The language
 General-purpose interpreted, interactive, high-level
programming language
 Multiple programming paradigms
 Object-oriented
 Imperative
 Functional programming
 Procedural
 Dynamic language: Scripting  Non scripting
3
The language
 Python code can be packaged into standalone
executable programs
 Popular
 open source
 lots of tutorials and online resources
 very active community
4
Main pitfalls of Python
 Indentation identifies blocks of code
 Case sensitivity
 = is used to assign values
 == is used to test conditions
5
Python in geoinformatics?
YES!
Thousands of different modules and packages are
available to extend the functionality of Python
containing several ones related to geoinformatics.
6
ArcGIS
7
ArcGIS
Arcgisscripting (ArGIS 9.x)
Arcpy (ArcGIS 10.x)
 automate geoprocessing tasks
 manage map documents and layers
 find and fix broken data links
 edit data in feature classes and tables
8
Creating KML files
XML based language to describe features with geospatial
information
Simple text file
Modul: xml.dom.minidom
Assuming that you are already familiar with reading shape
files or geodatabases you can now write your own function to
export data.
9
QGIS
 Python Console
The integrated Python console is ideal for scripting. When
the console is started the modules qgis.core and qgis.utils
will be imported automatically.
 Python Plugins
It is possible to create and use Python plugins to enhance
the functionality of QGIS. The plugin installer allows users
to easily fetch, upgrade and remove Python plugins.
 Python Applications
Custom applications can be developed based on QGIS API.
10
11
12
Projections
 Pyproj
 ”wrapper’” around library called PROJ.4
 Class: Proj
longitude, latitude  native map (x,y) coordinates
 Class: Geod
performs various Great Circle distance and angle
calculations
npts() method: calculates
the coordinates of a number
of points spaced equidistantly
along a geodesic line
13
Projections
Translating UTM location into latitude and longitude
14
Visualizing geospatial data
 Mapnik toolkit: to build mapping applications

 Heavily used by OpenStreetMap, because it produces
images which are ideal to include in webpages.
15
Geospatial data from
PostGIS database,
shapefile, any other
format supported by
GDAL
Clearly rendered
images
Analyzing and manipulating geospatial
data
Shapely
package for manipulation and analysis of two-dimensional
geospatial geometries.
Based on the GEOS library.
16
Conclusion
Do you maybe know additional packages?
There are several packages which support
geoinformatics, and from which I overviewed some,
pointing out how useful is to get to know Python
language.
17

More Related Content

Similar to Python in geoinformatics

Similar to Python in geoinformatics (20)

APPLICATION OF PYTHON IN GEOSCIENCE
APPLICATION OF  PYTHON IN GEOSCIENCEAPPLICATION OF  PYTHON IN GEOSCIENCE
APPLICATION OF PYTHON IN GEOSCIENCE
 
Gdal introduction
Gdal introductionGdal introduction
Gdal introduction
 
Open Source GIS Workshop
Open Source GIS WorkshopOpen Source GIS Workshop
Open Source GIS Workshop
 
Anaconda Python KNIME & Orange Installation
Anaconda Python KNIME & Orange InstallationAnaconda Python KNIME & Orange Installation
Anaconda Python KNIME & Orange Installation
 
Python ppt.pptx
Python ppt.pptxPython ppt.pptx
Python ppt.pptx
 
Python ppt.pptx
Python ppt.pptxPython ppt.pptx
Python ppt.pptx
 
Open Source Databases And Gis
Open Source Databases And GisOpen Source Databases And Gis
Open Source Databases And Gis
 
Glympse API Cross Compiling
Glympse API Cross CompilingGlympse API Cross Compiling
Glympse API Cross Compiling
 
Introduction to GIS
Introduction to GISIntroduction to GIS
Introduction to GIS
 
Python | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python TutorialPython | What is Python | History of Python | Python Tutorial
Python | What is Python | History of Python | Python Tutorial
 
Open Source GIS
Open Source GISOpen Source GIS
Open Source GIS
 
Specialist-ArcGIS-Server-API-3.x-and-4-for-JavaScript.pdf
Specialist-ArcGIS-Server-API-3.x-and-4-for-JavaScript.pdfSpecialist-ArcGIS-Server-API-3.x-and-4-for-JavaScript.pdf
Specialist-ArcGIS-Server-API-3.x-and-4-for-JavaScript.pdf
 
krishna
krishna krishna
krishna
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Using python to analyze spatial data
Using python to analyze spatial dataUsing python to analyze spatial data
Using python to analyze spatial data
 
The recovery of netherlands geographic information system (nlgis 2)
The recovery of netherlands geographic information system (nlgis 2)The recovery of netherlands geographic information system (nlgis 2)
The recovery of netherlands geographic information system (nlgis 2)
 
Mobile gis
Mobile gisMobile gis
Mobile gis
 
FOSS4G-NA 2012 : ReadyMap - OpenLayers in 3D
FOSS4G-NA 2012 : ReadyMap - OpenLayers in 3DFOSS4G-NA 2012 : ReadyMap - OpenLayers in 3D
FOSS4G-NA 2012 : ReadyMap - OpenLayers in 3D
 
SAPUI5Role
SAPUI5RoleSAPUI5Role
SAPUI5Role
 
Introduction of python programming
Introduction of python programmingIntroduction of python programming
Introduction of python programming
 

More from MapWindow GIS

The multiresolution image format
The multiresolution image formatThe multiresolution image format
The multiresolution image format
MapWindow GIS
 
Data mining in big databases with geo reference and easy web publishing and s...
Data mining in big databases with geo reference and easy web publishing and s...Data mining in big databases with geo reference and easy web publishing and s...
Data mining in big databases with geo reference and easy web publishing and s...
MapWindow GIS
 

More from MapWindow GIS (20)

Decision Support in Uncertain Real Estate Transactions
Decision Support in Uncertain Real Estate TransactionsDecision Support in Uncertain Real Estate Transactions
Decision Support in Uncertain Real Estate Transactions
 
Comparative analysis of Székesfehérvár and Veszprém based on geoinformatic me...
Comparative analysis of Székesfehérvár and Veszprém based on geoinformatic me...Comparative analysis of Székesfehérvár and Veszprém based on geoinformatic me...
Comparative analysis of Székesfehérvár and Veszprém based on geoinformatic me...
 
Recent trends in the world of computers – Thought and facts
Recent trends in the world of computers – Thought and factsRecent trends in the world of computers – Thought and facts
Recent trends in the world of computers – Thought and facts
 
Hydrological investigations in the Rétköz, Hungary
Hydrological investigations in the Rétköz, HungaryHydrological investigations in the Rétköz, Hungary
Hydrological investigations in the Rétköz, Hungary
 
The multiresolution image format
The multiresolution image formatThe multiresolution image format
The multiresolution image format
 
Guidelines for handling large amount of KML data
Guidelines for handling large amount of KML dataGuidelines for handling large amount of KML data
Guidelines for handling large amount of KML data
 
GIS based sewer maintenance using MapWindow Open Source GIS
GIS based sewer maintenance using MapWindow Open Source GISGIS based sewer maintenance using MapWindow Open Source GIS
GIS based sewer maintenance using MapWindow Open Source GIS
 
State of FOSS4G in Hungary
State of FOSS4G in HungaryState of FOSS4G in Hungary
State of FOSS4G in Hungary
 
Gis in Bihor
Gis in BihorGis in Bihor
Gis in Bihor
 
Workshop: Community mapping and empowerment by Nagesh Kolagani
Workshop: Community mapping and empowerment by Nagesh KolaganiWorkshop: Community mapping and empowerment by Nagesh Kolagani
Workshop: Community mapping and empowerment by Nagesh Kolagani
 
Workshop: Community mapping and empowerment by Nagesh Kolagani
Workshop: Community mapping and empowerment by Nagesh KolaganiWorkshop: Community mapping and empowerment by Nagesh Kolagani
Workshop: Community mapping and empowerment by Nagesh Kolagani
 
Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...
Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...
Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...
 
Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...
Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...
Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...
 
What's new in MapWindow v4.8 by Paul Meems
What's new in MapWindow v4.8 by Paul MeemsWhat's new in MapWindow v4.8 by Paul Meems
What's new in MapWindow v4.8 by Paul Meems
 
Collaborative geoprocessing with GGL by Fernando González Cortes
Collaborative geoprocessing with GGL by Fernando González CortesCollaborative geoprocessing with GGL by Fernando González Cortes
Collaborative geoprocessing with GGL by Fernando González Cortes
 
inp.PINS a link between GIS and Storm Water Management Model by Rui Daniel Pina
inp.PINS a link between GIS and Storm Water Management Model by Rui Daniel Pinainp.PINS a link between GIS and Storm Water Management Model by Rui Daniel Pina
inp.PINS a link between GIS and Storm Water Management Model by Rui Daniel Pina
 
Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...
Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...
Ease-of-use and Effectiveness of Participatory GIS in Empowering Rural Commun...
 
Ktunaxa RMS, open source GIS for a first nation by Joachim Van der Auwera
Ktunaxa RMS, open source GIS for a first nation by Joachim Van der AuweraKtunaxa RMS, open source GIS for a first nation by Joachim Van der Auwera
Ktunaxa RMS, open source GIS for a first nation by Joachim Van der Auwera
 
Introducing the Geomajas Open Source framework for building spatial web appli...
Introducing the Geomajas Open Source framework for building spatial web appli...Introducing the Geomajas Open Source framework for building spatial web appli...
Introducing the Geomajas Open Source framework for building spatial web appli...
 
Data mining in big databases with geo reference and easy web publishing and s...
Data mining in big databases with geo reference and easy web publishing and s...Data mining in big databases with geo reference and easy web publishing and s...
Data mining in big databases with geo reference and easy web publishing and s...
 

Recently uploaded

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 

Python in geoinformatics

  • 2. Agenda  Motivation  The language (with the main pitfalls)  ArcGIS  KML  QGIS  Projections  Visualization  Analysis and management of geospatial data 2
  • 3. The language  General-purpose interpreted, interactive, high-level programming language  Multiple programming paradigms  Object-oriented  Imperative  Functional programming  Procedural  Dynamic language: Scripting  Non scripting 3
  • 4. The language  Python code can be packaged into standalone executable programs  Popular  open source  lots of tutorials and online resources  very active community 4
  • 5. Main pitfalls of Python  Indentation identifies blocks of code  Case sensitivity  = is used to assign values  == is used to test conditions 5
  • 6. Python in geoinformatics? YES! Thousands of different modules and packages are available to extend the functionality of Python containing several ones related to geoinformatics. 6
  • 8. ArcGIS Arcgisscripting (ArGIS 9.x) Arcpy (ArcGIS 10.x)  automate geoprocessing tasks  manage map documents and layers  find and fix broken data links  edit data in feature classes and tables 8
  • 9. Creating KML files XML based language to describe features with geospatial information Simple text file Modul: xml.dom.minidom Assuming that you are already familiar with reading shape files or geodatabases you can now write your own function to export data. 9
  • 10. QGIS  Python Console The integrated Python console is ideal for scripting. When the console is started the modules qgis.core and qgis.utils will be imported automatically.  Python Plugins It is possible to create and use Python plugins to enhance the functionality of QGIS. The plugin installer allows users to easily fetch, upgrade and remove Python plugins.  Python Applications Custom applications can be developed based on QGIS API. 10
  • 11. 11
  • 12. 12
  • 13. Projections  Pyproj  ”wrapper’” around library called PROJ.4  Class: Proj longitude, latitude  native map (x,y) coordinates  Class: Geod performs various Great Circle distance and angle calculations npts() method: calculates the coordinates of a number of points spaced equidistantly along a geodesic line 13
  • 14. Projections Translating UTM location into latitude and longitude 14
  • 15. Visualizing geospatial data  Mapnik toolkit: to build mapping applications   Heavily used by OpenStreetMap, because it produces images which are ideal to include in webpages. 15 Geospatial data from PostGIS database, shapefile, any other format supported by GDAL Clearly rendered images
  • 16. Analyzing and manipulating geospatial data Shapely package for manipulation and analysis of two-dimensional geospatial geometries. Based on the GEOS library. 16
  • 17. Conclusion Do you maybe know additional packages? There are several packages which support geoinformatics, and from which I overviewed some, pointing out how useful is to get to know Python language. 17

Editor's Notes

  1. Motivation: VBA ->
  2. It was created in the late eighties and early nineties Python supports multiple programming paradigms, including
  3. compact; there is no begin/end (or similar) statements to identify blocks of code colon
  4. demonstrates a number of ways how to use Python in ArcGIS.
  5. site package . In ArcGIS 9.x Python was just an option to perform geoprocessing tasks, although it was installed automatically with ArcGIS. Since the support of VBA will end totally after the version 10, every developer has to select a new platform.
  6. Every piece of information is enclosed by tags
  7. http://www.qgistutorials.com/en/docs/find_neighbor_polygons.html It is probably not surprising that the open source Python is ready to support an open source GIS software product too. Python can be used in several ways in QGIS:
  8. Two Proj objects
  9. works with geospatial data from PostGIS database, shapefile, or any other format supported by GDAL, and produces clearly-rendered, good-looking images
  10. https://pypi.python.org/pypi/Shapely Manipulation and analysis of geometric objects in the Cartesian plane. Shapely uses the GEOS library for all operations. GEOS is written in C++ and used in many applications and you can expect that all operations are highly optimized. The creation of new geometries with many coordinates, however, involves some overhead that might slow down your code.