Date

May 7-9, 2018

Location

Basel/Muttenz, Switzerland

Follow

About


After hosting a successful GeoPython 2016 and 2017 - with participants from over 25 countries - we are proud to announce the GeoPython 2018 Conference.

GeoPython 2018 – the Python conference for the Geo-Community organized by the Institute of Geomatics Engineering at the University of Applied Sciences and Arts Northwestern Switzerland and PyBasel - the local Python User Group.

GeoPython conference is focused mainly on the following topics, however other Python-centric talks are welcome too.

  • Python in General
  • GIS/Mapping
  • Geography / Geophysics / Geodesy / Geomatics
  • Earth Sciences / Environmental Sciences
  • Geovisualization
  • Smart Cities
  • Spatial Data / Geodata
  • Geospatial Webservices
  • Big Data
  • Data Processing
  • (Spatial) Databases
  • Computer Vision
  • Remote Sensing
  • Image Processing
  • Machine Learning / Deep Learning
  • Robotics
The official conference hashtag is #GeoPythonConf.

About the organisation team
The University of Applied Sciences and Arts Northwestern Switzerland FHNW ranks amongst Switzerland's leading and most innovative universities of applied sciences. It is composed of nine Schools covering Applied Psychology, Architecture, Civil Engineering and Geomatics, Art and Design, Life Sciences, Music, Teacher Education, Social Work, Engineering and Business. The modern campuses are in northwestern Switzerland, near the borders with Germany and France and in the immediate vicinity of the cities of Basel and Zurich, as well as of national and international companies.

PyBasel is the local Python User Group Northwestern Switzerland. The user group offers space and opportunity for all those interested in Python to share knowledge and learn about Python. The participants hold talks, share news, and provide help for both Python newbies and professionals.

About the location
Basel lies in the heart of Europe, on both banks of the Rhine. The city is the centre of the idyllic border triangle of France, Germany and Switzerland – lying between the Swiss Jura, Germany’s Black Forest and the Vosges in Alsace.

Basel is easy to get to. Only a 10-minute drive from the city centre, Basel’s EuroAirport is served by a number of international airlines. Together with neighbouring Zurich Airport, it enjoys connections to all European airports and to more than 200 intercontinental destinations. Located in the centre of Europe, Basel is a major transportation hub. Its three railway stations not only offer excellent connections to far and wide but are also all situated in the very heart of the city.
X

Spatial Data Science with PyData

Levi John Wolf & Sergio Rey
(University of Bristol & University of Chicago) & University of California, Riverside

Abstract

Spatial data science is a burgeoning area of development for computational science and business intelligence alike. Here, we will teach you how to think spatially, detect spatial trends, visualize complex spatial data, and model the geographies of your data in novel and ultimately illuminating ways.

Description

This workshop will enage with current best methods in spatial data science, teaching participants methods to leverage information about location and relation in their analysis of data. We will begin by covering basics of how to work with spatial data, thinking geographically, and how the representation of spatial data can be encoded in to modelling methods. Then, we will examine a few case studies, such as the detection of spatial outliers -- areas where some things do not fit into their geographic landscape -- also known as "hotspots" or spatial clusters. We will examine how to include information about arrangement and proximity into more interesting, relevant, and powerful model components, not just nearest-neighbors regressions. A joint offering from the Center for Geospatial Sciences at the University of Riverside, the Quantitative Spatial Science Lab at the University of Bristol, and the Center for Spatial Data Science at the University of Chicago, this workshop will provide attendees with a strong sense of the current state of the statistical art in the analysis and understanding of spatial data.

About the authors

My name is Levi John Wolf. I am a lecturer in Quantitative Human Geography at the University of Bristol's Spatial Modeling Group. In addition, I'm finishing up my Geography Ph.D. on spatial analysis, electoral geography, and operations research at Arizona State University, and am a fellow at the Center for Spatial Data Science at the University of Chicago . I am a quantitative social scientist, using spatial statistics and geocomputation to help make sense of US politics, economics, and social dynamics. I am a top-5 all-time contributor to and co-maintainer of PySAL, the Python Spatial Analysis Library, and contribute to other scientific computation efforts in python. I've also written my own package, Cenpy, for working with the US Census Bureau's Data API from Python, as well as a toy package to use Wes Anderson palettes in Matplotlib. I'm also active in the JuliaGeo community and have built a package to construct spatial weights matrices in Julia, SpatialWeights.jl. I have consulted for companies doing terabyte-scale spatial data science, such as Nextdoor & CartoDB, working on projects like enabling high-performance spatial analysis in PostgreSQL. I have been programming in Python for ~5 years, starting from a base programming knowledge in Haskell and R. I use UNIX tooling. For GIS, I exclusively use FOSS-GIS tools, and mainly use Python, PostGIS/PostgreSQL, and Julia, in order of frequency. I have been politically devoted to free and open source software ever since I installed Debian as a teen. Social justice is important to me.

Sergio Rey is Professor in the School of Public Policy and Founding Director of the Center for Geospatial Sciences at UCR. Rey's research interests focus on the development, implementation, and application of advanced methods of spatial and space-time data analysis. His substantive foci include regional inequality, convergence and growth dynamics as well as neighborhood change, segregation dynamics, spatial criminology and industrial networks. Recent and current research projects include geodemographic approaches to neighborhoods in space-time contexts (NSF), new methods for spatial distribution dynamics (NSF), an analysis of the relationships between spatial linkages and urban economic dynamics (EDA), flexible geospatial visual analytics and simulation technologies to enhance criminal justice decision support systems (NIJ), spatial analytical framework for examining community sex offender residency issues over space and time (NSF), and cyberGIS software integration for sustained geospatial innovation (NSF). Rey is the creator and lead developer of the open source package STARS: Space-Time Analysis of Regional Systems as well as co-founder and lead developer of PySAL: A Python Library for Spatial Analysis. He is an elected fellow of the Regional Science Association International, a fellow of the Spatial Econometrics Association, and has served as the Editor of the International Regional Science Review from 1999-2014, editor of Geographical Analysis 2014-2017, and the president of the Western Regional Science Association.
X

PyQGIS Layer actions and project macros

Marco Bernasocchi
OPENGIS.ch GmbH

Abstract

Want your project to add a menu item to reverse a line? no problem, using python actions and macros in your QGIS project can do that and much more. Actions can add a whole new dimension to your map interaction while project macros open infinite possibilities of interaction on map events.

Description

Layer actions
An action is something that happens when you click on a feature. It can add a lot of extra functionality to your map, allowing you, for example, to retrieve additional information or modifying an object. Assigning actions can add a whole new dimension to your map! Actions can be written in a simplified QGIS syntax or in Python to allow full interaction with the PyQGIS API.
More informations https://docs.qgis.org/2.18/en/docs/training_manual/create_vector_data/actions.html
Project macros
The python macros for projects allow executing code for a whole project. The three available macros (openProject, saveProject and closeProject) execute your custom functions whenever they are called. Furthermore, thanks to the signal/slot architecture of QGIS, setting up Qt connections in the openProject macro will result in your custom function to be able to react to map events during your whole work session. More informations https://docs.qgis.org/2.18/en/docs/user_manual/introduction/qgis_configuration.html#advanced-settings

About the author

Passionate problem solver, creative software developer, founder of OPENGIS.ch, and terrible inbox cleaner. I like to learn about new technologies, especially related to geospatial opensource software. I hold a MSc degree in Geography with specialization in Geographic Information Systems of the University of Zurich and can fluently speak Italian, English, German, French, Spanish and a bit of Swedish.
X

Task queues with Celery and RabbitMQ

Matt Walsh
thinkWhere

Abstract

Need to run tasks out with the web request cycle or achieve faster batch processing times? Celery is a python based open source asynchronous task queue that opens the door to scalable background task processing. Learn how to get started in this workshop using Celery and RabbitMQ.

Description

Python is a great language for dealing with spatial data and solving geo-related problems, however, it is not uncommon to find that tasks can be long running or numerous and would benefit from asynchronous execution. Celery is a task queuing library which provides a framework for solving this very problem. In our workshop you will write a simple program using Celery and RabbitMQ to process geometries (with Shapely) and write to a database (PostGIS) asynchronously. We will demonstrate some of the cool features of Celery including out of the box monitoring tools, failure handling and (hopefully) scalable distributed processing.

About the author

We are three software developers working at thinkWhere based in Stirling, Scotland. We love solving problems using Python, GeoServer, PostGIS and many other open source technologies.
X

QGIS Processing Framework: Automating Tasks with Python

Stefan Keller
HSR Geometa Lab

Abstract

Ever had to automate a task in geospatial data analysis? In this workshop you learn how to do this using QGIS and Python. We start with an overview then we present the Processing framework and how it comes together to allow pythonic scripting. Finally we're getting real with some hands-on exercises.

Description

Geospatial data analysis and processing often requires us to run series of intermediate tasks repetitively. An example where we need to invoke the same methods on different data sets. A way to automate, as well as potentially to simplify these tasks is through scripting, which can be achieved using Python within QGIS, the popular open source GIS. This workshop we start with an overview of QGIS, then it moves on to introduce Python programming in QGIS (PyQGIS). Then we discuss QGIS' Processing framework and how it allows the use of pythonic scripting, before we're going in-depth to explain how to automate tasks using Python scripts, which would otherwise require repetition of the same process/running of code. Afterwards, we show you how you can use and create custom scripts on QGIS with our own hands-on exercises. We're wrapping the course on how one can use the Processing framework and how one can create pythonic scripts in QGIS or otherwise, to help automating tasks for future use. This course makes use of QGIS 3 and incorporates certain GIS knowledge, but still keeps it friendly enough for beginners or first-timers. So, we welcome both enthusiasts who are eager to learn how to script in Python, as well as those interested in learning more about geospatial data analysis and processing.

About the author

Stefan Keller is full professor at HSR Hochschule für Technik, computer science department, and he leads the Geometa Lab. He's main teaching and resarch topics are (spatial) data engineering and big (spatial) data anyalytics. Stefan Keller is engaged in innovative open source and open data projects.
X

Introduction to geospatial data analysis with GeoPandas and the PyData stack

Joris Van den Bossche
Université Paris-Saclay Center for Data Science, INRIA

Abstract

This tutorial is an introduction to geospatial data analysis, with a focus on tabular vector data using GeoPandas. It will show how GeoPandas and related libraries can improve your workflow (importing GIS data, visualizing, joining and preparing for analysis, exploring spatial relationships, ...).

Description

This tutorial is an introduction to geospatial data analysis in Python, with a focus on tabular vector data using GeoPandas. The content focuses on introducing the participants to the different libraries to work with geospatial data and will cover munging geo-data and exploring relations over space. This includes importing data in different formats (e.g. shapefile, GeoJSON), visualizing, combining and tidying them up for analysis, and will use libraries such as pandas, geopandas, shapely, pyproj, matplotlib, cartopy, ... The tutorial will cover the following topics, each of them using Jupyter notebooks and hands-on exercises with real-world data:
  • 1. Introduction to vector data and GeoPandas
  • 2. Visualizing geospatial data
  • 3. Spatial relationships and operations
  • 4. Spatial joins and overlays
  • 5. Short showcase of parallel/distributed geospatial analysis with Dask

About the author

I am a core contributor to Pandas and maintainer of GeoPandas. I have given several tutorials at international conferences and a course on python for data analysis for PhD students at Ghent University. I did a PhD at Ghent University and VITO in air quality research, and, currently, I am working at the Paris-Saclay Center for Data Science.
X

Ice Breaker Party

Enjoy local beers and a small aperitif at the traditional GeoPython ice breaker party.
X

Introduction to Spatial Data Processing using FME and Python

Régis Longchamp
INSER SA

Abstract

FME is a great and affordable tool to process data. It has a full list of build-in connectors and tools that make spatial processing easy. This workshop will show how Python can enhance all these functionalities.

Description

FME is a widely used spatial ETL in the geospatial field. It is considered to be the Swiss army knife for your data. It helps you get spatial data into the exact format and structure you need, using a fast, simple and straight-forward process. Python can be used within FME to accomplish tasks either before or after FME runs or to perform tasks within FME which are not possible with standard FME tools and transformers.

In this workshop, I will show where python scripts can be used within a workspace and how it can interact with features. I will illustrate the Python FME API with concrete examples and exercises.

This workshop is designed for people willing to learn how to use Python with FME, no initial knowledge of FME is required.

About the author

Having an experience of many years in a land surveying firm I’m currently working for INSER SA as a GIS Analyst. I hold a MSc in Environmental Sciences and Engineering of the EPFL and I am FME Certified Professional & Trainer.
X

Computing drone-based image footprint with Python

Hans-Jörg stark
SBB

(Talk 20 minutes + 5 minutes questions)

Abstract

In this presentation I am going to introduce how I used Python to compute the footprints of Images taken by drones. The vector-format footprints are helpful to see in a GIS the coverage of the Image taken and can be applied and further used to different Analysis.

Description

In this presentation I am going to introduce how I used Python to compute the footprints of Images taken by drones. The vector-based footprints are helpful to see in a GIS the coverage of the Image taken and can be applied and further used to different Analysis. For instance it might be helpful to see if the Chosen ground control Points (gcps) are equally distributed over the area of interest and if the taken Pictures use These gcps or if there is an over- or under-coverage somewhere. Also the presentation Shows how Python is used to take Advantage of Standard geo-processing modules like GDAL/OGR and others as well as Standard modules like time or numpy etc. The development of the tool has been done in Jupyter Notebook. So in this presentation a lot of practical issues are going to be presented and come together: identifying a (geospatial) Problem, conceptualise a possible solution, define a good Environment how to proceed (Jupyter Notebook), decide on the development Environment (Python), look for and find the appropriate modules to avoid re-inventing the wheel (GDAL/OGR etc.) - and finally writing the code. A Brief Outlook what can be done with the resulting data (vector Polygons) in Terms of GIS-Analysis concludes the presentation. In summary this presentation is just a Report on a very practical question with a very practical solution. So if you expect an academic paper or a very fancy Approach it is not worthwhile attending the talk. But if you want to hear about how to solve an everyday Problem with Python you might want to spend those 20mins listening.

About the author

Grown up and spent nearly my entire life in Basel - greatest City of Northwestern Switzerland. After some 12-ish years in the industry making Money as an engineer I was called on a professorship at University of Applied Sciences Northwestern Switzerland, Geomatics Department to teach and Research on Geographic Information Science / Solutions and Systems. Having felt a strong desire to go back into industry I decided to take a Chance and landed at the Federal Railway Company (SBB) and am now developing the Business in the area of drones as a Senior Project Manager in the Center of Competence for drones at SBB. The GeoPython Conference is one of my favourite and I have attended each one of them since they exist ;o)
X

Reproducible geoscience: Volcanic eruption mass calculations using Python, GRASS7 and Pandas

Dr John A Stevenson
British Geological Survey

(Talk 20 minutes + 5 minutes questions)

Abstract

3 cm thick here, 0.5 cm there, 3 metres thick over there! Volcanic eruptions cover the landscape in pumice and ash. But how much was erupted? Python is the glue that joins open source GIS (GRASS7) and data science (Pandas) tools used to create a reproducible method to calculate erupted mass.

Description

Performing GIS analysis via scripts is the ultimate way to "show your working" as each step is documented in code. Even better, the analysis can be repeated with a single command and can be updated as new data become available. The PyGRASS interface provides a simple way to run spatial analysis in GRASS and to integrate it with pre- and post-processing steps within the same script.

We show how Python and GRASS were used to calculate the mass of material erupted by two large (>10 cubic kilometres volume), pre-historic eruptions of Iceland's Hekla volcano. Firstly, Python is used to read field and lab data from CSV files into an SQLite database. Pyproj re-projects GPS locations to the local coordinate reference system. Within GRASS, Voronoi tessellation is used divide the area where the deposits are found into regions that each contain one sample data point. Maps can be exported to visualise changes in thickness. After calculating the areas of the Voronoi cells, the Python-based Pandas library can connect to the same database and multiply the deposit thickness and density by the calculated area to get the mass in each. These are summed to give the total erupted mass.

Unlike traditional methods, this is an entirely objective and data-driven way to calculate the erupted mass. The advantages and disadvantages of this, and the best ways to incorporate manual steps where required will be discussed.

About the author

Software developer and geologist interested in GIS, open source software, volcanoes and Iceland. I am currently a senior software developer in the Informatics group of the British Geological Survey.
X

Introduction to geospatial data analysis with GeoPandas and the PyData stack

Joris Van den Bossche
Université Paris-Saclay Center for Data Science, INRIA

()

Abstract

This tutorial is an introduction to geospatial data analysis, with a focus on tabular vector data using GeoPandas. It will show how GeoPandas and related libraries can improve your workflow (importing GIS data, visualizing, joining and preparing for analysis, exploring spatial relationships, ...).

Description

This tutorial is an introduction to geospatial data analysis in Python, with a focus on tabular vector data using GeoPandas. The content focuses on introducing the participants to the different libraries to work with geospatial data and will cover munging geo-data and exploring relations over space. This includes importing data in different formats (e.g. shapefile, GeoJSON), visualizing, combining and tidying them up for analysis, and will use libraries such as pandas, geopandas, shapely, pyproj, matplotlib, cartopy, ...

The tutorial will cover the following topics, each of them using Jupyter notebooks and hands-on exercises with real-world data:

  1. Introduction to vector data and GeoPandas
  2. Visualizing geospatial data
  3. Spatial relationships and operations
  4. Spatial joins and overlays
  5. Short showcase of parallel/distributed geospatial analysis with Dask

About the author

I am a core contributor to Pandas and maintainer of GeoPandas. I have given several tutorials at international conferences and a course on python for data analysis for PhD students at Ghent University. I did a PhD at Ghent University and VITO in air quality research, and, currently, I am working at the Paris-Saclay Center for Data Science.
X

GeoPandas: easy, fast and scalable geospatial analysis in Python

Joris Van den Bossche
Université Paris-Saclay Center for Data Science, INRIA

(Talk 20 minutes + 5 minutes questions)

Abstract

The goal of GeoPandas is to make working with geospatial vector data in python easier. GeoPandas extends the pandas data analysis library to work with geographic objects and spatial operations. It combines the power of whole ecosystem of geo tools (geos, shapely, gdal, fiona, pyproj, rtree, ...).

Description

The goal of GeoPandas is to make working with geospatial vector data in python easier. GeoPandas (https://github.com/geopandas/geopandas) extends the pandas data analysis library to work with geographic objects and spatial operations.

Pandas is a package for handling and analysing tabular data, and one of the drivers of the popularity of Python for data science. GeoPandas combines the capabilities of pandas and shapely (python interface to the GEOS librabry), providing geospatial operations in pandas and a high-level and performant interface to multiple geometries to shapely. It combines the power of whole ecosystem of geo tools by building upon the capabilities of many other libraries including fiona (reading/writing data with GDAL), pyproj (projections), rtree (spatial index), ... Further, by working together with Dask, it can also be used to perform geospatial analyses in parallel on multiple cores or distributed across a cluster. GeoPandas enables you to easily do operations in python that would otherwise require a spatial database such as PostGIS.

About the author

I am a core contributor to Pandas and maintainer of GeoPandas. I have given several tutorials at international conferences and a course on python for data analysis for PhD students at Ghent University. I did a PhD at Ghent University and VITO in air quality research, and, currently, I am working at the Paris-Saclay Center for Data Science.
X

Kroměříž, Győr, Łomża, Mâcon – Around Europe on a Single Keyboard

Miroslav Šedivý


(Talk 20 minutes + 5 minutes questions)

Abstract

Most European languages use Latin alphabet but they often add all sorts of diacritics on top of them. How can you type all these characters without getting lost in the keyboard layouts and character maps?

Description

The standard US keyboard is ubiquitous and is reflected in most national keyboard layouts. It is suitable to type Python and other source code, but doesn't offer all the diacritics needed in German, French, Czech, Hungarian and many other European languages.

I'll show you how I am happily typing in several languages on a single standard US keyboard layout. And I'll show you how Python handles these Unicode characters.

About the author

Born in Czechoslovakia, studied in France, living in Germany. Using Python to make the sun shine and the wind blow.
X

Understanding and Implementing Recurrent Neural Network using Python

Anmol Krishan Sachdeva
University of Bristol, United Kingdom

(Talk 45 minutes + 5 minutes questions)

Abstract

Processing sequential data requires memory; RNNs are the best fit for it. Recurrent Neural Nets are a type of Artificial Neural Nets that are capable of pattern recognition in sequences of data, such as time series data, images, handwritten text, spoken words, genome sequences, and much more.

Description

Recurrent Neural Networks (RNNs) have become famous over time due to their property of retaining internal memory. These neural nets are widely used in recognizing patterns in sequences of data, like numerical timer series data, images, handwritten text, spoken words, genome sequences, and much more. Since these nets possess memory, there is a certain analogy that we can make to the human brain in order to learn how RNNs work. RNNs can be thought of as a network of neurons with feedback connections, unlike feedforward connections which exist in other types of Artificial Neural Networks.

The flow of talk will be as follows:

  • Self Introduction
  • Introduction to Deep Learning
  • Artificial Neural Networks (ANNs)
  • Diving DEEP into Recurrent Neural Networks (RNNs)
  • Comparing Feedforward Networks with Feedback Networks
  • Quick walkthrough: Implementing RNNs using Python and Theano
  • Understanding Backpropagation Through Time (BPTT) and Vanishing Gradient Problem
  • Towards more sophisticated RNNs: Gated Recurrent Units (GRUs)/Long Short-Term Memory (LSTMs)
  • End of talk
  • Questions and Answers Session

About the author

  • Former Software Developer Intern at IBM & an ALL STACK DEVELOPER capable of designing and developing solutions for Mobile, Web, Embedded Systems, and Desktop.
  • Represented India at International Hackathons like Hack Junction’16, Finland and Hack the North’16, Canada. Got invited for more than a ‘dozen’ of prestigious International Hackathons (PennApps’17, HackNY’17, Hack Princeton’17 and many more) and Conferences.
  • Professional Certifications
    • Microsoft Certified Professional
    • Microsoft Technology Associate
    • IBM Certified Web Developer
    • Hewlett Packard Certified Developer
    • Adobe Certified UI/UX Design
  • 5+ International Publications.
  • Received 6 Honours and Awards (International and National level).
X

Pumping up Python modules using Rust

Vigneshwer Dhinakaran
Mozilla TechSpeaker

(Talk 20 minutes + 5 minutes questions)

Abstract

Learn to build high performance and memory safe Python extensions using Rust. Discover this and more tips to boost up your Python application.

Description

If you’ve spent much time writing (or debugging) Python performance problems, you’ve probably had a hard time managing memory with its limited language support.

In this talk, we venture deep into the belly of the Rust Language to uncover the secret incantations for building high performance and memory safe Python extensions using Rust.

Rust has a lot to offer in terms of safety and performance for high-level programming languages such Python, Ruby, Js and more with its easy Foreign Function Interface capabilities which enable developers to easily develop bindings for foreign code.

About the author

Vigneshwer is an innovative data scientist with an artistic perception of technology and business, having 3+ years of experience in various domains such as IOT, DevOps, Computer Vision & Deep Learning and is currently engaged as a research analyst crunching real-time data and implementing state of art AI algorithms in the research lab of the world’s largest decision science company in Bengaluru, India. He believes that technology needs to have a human-centric design to cater solutions to a diverse audience. He’s an official Mozilla TechSpeaker and is the author of Rust Cookbook.
X

Classification of geological features on Satellite images

Oos Joho


(Talk 20 minutes + 5 minutes questions)

Abstract

An End-to-End python based classification problem with the goal of finding a specific rock formation. The project includes data collection from googlemaps, data storing in MongoDB, data labelling “by hand” with flask, creation of a classifier with tensorflow and browser based result visualisation.

Description

Project goal: To find a specific rock climbing area in Kenya. This area is mentioned in old descriptions but not currently known of. In order to find it satellite pictures of an area of roughly 400 by 400 km have to be scanned / evaluated. The datasource: GoogleMaps and handlabelling How: By collecting and labelling satellite pictures of similar climbing areas and non climbing areas and training a variety of network architectures to classify those pictures. The classifier is then used to go through the area and mark / store all possible locations. Why Python? The flask micro framework provides a quick-to-use way of collecting and labelling data. The MongoDB Python Driver enables the easy usage of a document database. Finally the user friendliness of machine learning in Python, specifically many available pre-trained deep learning models, different libraries, as well as a big codebase.

About the author

Rough Bio on: https://www.linkedin.com/in/johannesoos/
X

Postgres migrations using Python

Mario Baranzini
OPENGIS.ch GmbH

(Talk 20 minutes + 5 minutes questions)

Abstract

PUM (Postgres Upgrades Manager) is a python program that permits managing upgrades of a PostgreSQL database using delta files. Before upgrading the production database, PUM allows to easily duplicate the database on the fly to test if the application of the delta files generates the desired result

Description

PUMp your DB with PUM (Postgres Upgrades Manager)

Good practices regarding database versioning and migration are not so easy to handle in a CVS code management system. Initial development is easy, using pure git, and sometimes some meta SQL generation scripts. But when it comes to maintaining databases already in production, good practices differ a lot since SQL patches cannot be handled the same way as git diffs.

PUM (https://github.com/opengisch/pum) is a python program that can be used via command line or directly from another python program. Similarly to other database migration management tools like Flyway-db or Liquibase, PUM is based on metadata tables. It permits to manage the upgrade of a PostgreSQL database using delta files. Before upgrading the production database, PUM allows to easily duplicate the database on the fly to test if the application of the delta files generates the desired result. Only for an affirmative answer, the migration is performed on the production database.

PUM has been developed to solve issues encountered in the QWAT and QGEP projects, which are open source Geographic Information System for network management based on QGIS. QWAT already had a dedicated migration tool, allowing to both work on the data model using git and use delta file for migrations. QGEP needed something similar so it was decided to make a more generic, yet simple tool, to handle both.

About the author

I’m a passionate software developer, well-versed in programming, solving complex problems and I always try to improve my software engineering skills. I like to learn new technologies, especially related to Linux and other free software. I hold a BSc in Computer science @ SUPSI (Scuola Universitaria Professionale della Svizzera Italiana) and speak Italian, French, English and a little German. You can find more information about me on my [Linked.in](https://www.linkedin.com/in/mario-baranzini-6bb4375/) profile or contact me at mario@opengis.ch.
X

Developing Automated Geospatial Procedures for Civil Engineering

Joseph Kaelin, Katharina Kaelin, Alan Hodgkinson, Philippe Nater


(Talk 20 minutes + 5 minutes questions)

Abstract

Our goal is the supervised automation of civil engineering design procedures and construction monitoring, using Python for programming computational methods, aimed at a substantial improvement in the productivity of routine tasks and at decision support for project-specific engineering challenges.

Description

There is a compelling need for more productive design and construction engineering procedures for civil engineering projects. Many engineering procedures are still carried out manually, typically using spreadsheets and CAD, are poorly documented and insufficiently checked, and are not suitable for automation or reuse. Much emphasis is being put on Building Information Models (BIM) to digitize design and construction. BIM software is however difficult and time-consuming to apply to discipline-specific engineering procedures. We focus on using the Open Source geospatial ecosystem, using input and output data formats which can be integrated into available BIM models, as we believe that this ecosystem can be advantageous for engineering procedures.

Our previous proof-of-concept work explored "Analyzing Spatial Data Along Tunnels" and "Organizing Geotechnical Spatial Data" for design integration in geotechnical and tunnel engineering. The work included data handling, calculations, a geospatial platform and BIM attribute coding (www.geopython.net/pub/JournalofGeoPython22017.pdf).

We have developed the proof-of-concept work into a decision support system (DSS) for engineering, first focusing on hydropower pressure tunnels. A variety of design and construction monitoring procedures are under development.

The development of engineering procedures is done using Python in Jupyter Notebooks, accessible to design and construction engineers. Jupyter Notebooks provide full documentation of each engineering procedure as design reports and include design criteria, input data and a method statement. Example Notebooks will be presented.

In our experience broad acceptance of digital procedures by engineers requires an App front-end to the developed engineering procedures. We are developing a Javascript browser-based App using the Polymer Web Component library to provide a dashboard for DSS, including a project map view and profiles along tunnels alignments. Progressive Web App technologies enable offline use, for design studies, site reconnaissance, meeting presentations and for construction supervision.

The App will access the engineering procedures developed in Python through an API exposed by a Python microserver (Flask) using a defined data structure. The API will be developed incrementally following initial development in Jupyter Notebooks.

Our overall goal is the supervised automation of design, project management, construction monitoring and operations processes for civil engineering, using programmed computational methods, aimed at a substantial improvement of productivity for routine tasks and at decision support for project-specific engineering challenges.

About the author

Joseph J Kaelin graduated with an ScM degree in Civil Engineering from the Massachusetts Institute of Technology. He is chief tunnel engineer and senior project manager at Pöyry, and has worked on hydroelectric and tunnelling projects for over four decades. Katharina Kälin graduated from the University of Zürich with a Master’s degree in geography and is interested in various interdisciplinary applications of geospatial analysis.She works as a scientific associate at the statistical office of canton Basel-Stadt and participates in open source projects during her spare time. Alan Hodgkinson graduated with ScB degrees in Electrical Engineering and Computer Science from the Massachusetts Institute of Technology. He has extensive experience developing software for document and data management for large construction projects. Philippe Nater received his doctorate from the ETH Zürich in Civil Engineering and works as a senior geotechnical engineer at Pöyry.
X

MesoHABSIM move to the Cloud

Erik Tiengo
GisUp

(Talk 45 minutes + 5 minutes questions)

Abstract

An important project needs an important tool. Thanks to Python, the Instream Habitat SImulation Model MesoHABSIM is undergoing a metamorphosis in its architecture. From plugins developed for QGIS to Cloud application with concepts as db storage, authentication, data validation and remote tasks.

Description

The MesoHABSIM model was created to offer the tool for the study of the spatio-temporal variability of fluvial habitats available for fauna according to the flow rate and the morphology of the watercourse. Operators initially had three plugins developed ad-hoc for the QGIS suite (with an exception for the field module that was also developed with ESRI ArcPad libraries). The MesoHABSIM milestone has expected two major releases. The first, which is described in this event, is based on two QGIS plugins instead of the three original ones. To characterize this release, the presence of a service layer accessible through REST API that hide a database. The APIs have been developed thanks to the Django REST Framework and are made available for loading and validating data and subsequent processing. Modules such as Pandas and GeoPandas have been introduced in order to make the whole process consistent with the Python framework. The second step, for the back-end part, involves the replacement of R with scipy and scikit-learn and the simultaneous migration to PostgreSQL/PostGIS from sqlite in addition to the adoption of Django REST Framework GIS. Operators are thus equipped with a mobile application to be used off-line to replace the current module developed for QGIS and ESRI ArcPad. Saas or not Saas? The ambition of MesoHABSIM is to be able to offer its users a simple, reliable tool that allows to effectively apply the processing without having to bear any hardware and software charges other than pure field equipment and a browser.

About the author

I am an environmental engineer that the experience of two years in **Denmark** in 1999 was problem-solving oriented. Information technology has become an instrument for me to solve any problem I encounter in my industry. And in the latter case, information technology is called **GIS** (Geographic Information System). Since 2003 (once back in Italy) I have become a freelancer specialized more and more in the management of spatial data contained in relational databases (Oracle all) through a catalog offered by ESRI (ArcSDE). From 2003 to 2011 I worked with all the commercial partners of **ESRI** in northern Italy and with the main systems integrators as national support for issues related to the management of GIS. From 2014 to 2016, I assumed the role of Technical Director (CTO) and subsequently CEO (CEO) of GisItalia, where I was lucky enough to meet and train my current team. From 2016 until today I have undertaken as instructors with different types of courses: the internal company GisItalia, concerning the learning of GIS software in **Open Source** and the use of **Agile** methodology for the implementation of projects and for different types of clients in the Northern Italy and Switzerland. Each course aimed not only at teaching the client to use the required software, but also to convey the importance of being a problem solver for oneself. From 2017 all my efforts are directed to the **GisUp** project that I hope will contribute to make GIS even easier to integrate and manage: for me the approach to the "**3 P**" **Python** - **PostgreSQL** - **PostGIS** is essential.
X

The Mosquito Alert map implementation: a use case in citizen science.

Marc Compte
GIS Service - University of Girona

(Talk 20 minutes + 5 minutes questions)

Abstract

Mosquito Alert is a citizen science observatory whose main objective is to fight against the tiger mosquito and the yellow fever mosquito expansions. The talk shows a technical description of the project and the map API in Django. As our first Python project, it will show our learning process.

Description

Project description

Mosquito Alert is a cooperative citizen science observatory coordinated by different public research institutions. Its main objective is to fight against the tiger mosquito and the yellow fever mosquito expansions, two invasive species vectors of global diseases like Zika, Dengue and Chikungunya.

With the Mosquito Alert app anyone can report a possible finding of tiger mosquito or yellow fever mosquito and their breeding places on the public road by sending a photo. This information complements the scientific work and allows public health managers to use it to monitor and control the spread of mosquitoes in neighborhoods and cities.

Talk contents

The talk will include an introductory description of the project and the key software involved: citizen app, experts app and public map. The main part of the talk will be around the public map, with a special focus on the API used to feed it with data. The map API has been developed with Python and Django framework. GeoDjango and Django REST framework have not been used to ensure minimal requirements. As our first experience with Python we will share our learning experience: going from raw SQLs to Model querysets, from long complex (and WET) views to Class structured (and DRY) libraries, ...

About the author

With a degree in Environmental Sciences I have been programing for about 15 years. Focused on GIS web mapping since I learned this was possible. Working at the GIS Service of the University of Girona on and off for the last 20 years, worked at Salzburg ZGIS (Paris-Lodron University) for almost 5 years and freelance programer for the last 5 years helping companies develop their customer-oriented mapping solutions in the fields of Smart Cities, Indoor Positioning and Local Business Databases.
X

PLR (ÖREB) Cadastre Kanton Wallis

Régis Longchamp
Inser SA

(Talk 20 minutes + 5 minutes questions)

Abstract

On demand official PDF reports, dynamic web mapping application API Rest service and geospatial processes – these are the main components and challenges of the PLR Cadastre Kanton Wallis project. Guess what, python helps me a lot in accomplishing these tasks.

Description

“It must be cloud based and feel free to choose whatever technologies you want”. This was more or less how the cantonal project leader ask me to start this project. The Cadastre of public-law restrictions on landownership (PLR Cadastre) is Swiss official project aiming to provide information about the most important public law restrictions on landownership. Since this project requires complex and massive geoprocessing, FME has been intensively used. This ETL solftware is considered to be the Swiss army knife for data and is widely used in the geospatial field. Despite being really complete, FME alone would not have been able to achieve all the initial prerequisites. The PLR Cadastre relies on various technologies such as FME server, ArcGIS online, Amazon RDS - API gateway and lambda, flask. Python plays and an essential role in almost all of this elements. My presentation will show how python helped to enhance FME capabilities and how it has been integrated in every stages of this project components.

About the author

Please, have a look : https://www.linkedin.com/in/longchampregis/
X

USING PYWPS FOR WATER RESOURCES QUANTIFICATION IN MOUNTAIN BASINS

Susanna Grasso
Polytechnic of Torino, Department of Environment, Land and Infrastructure Engineering

(Talk 20 minutes + 5 minutes questions)

Abstract

This work presents a WPS using GRASS as backend for geoprocessing operations to estimate Flow Duration Curves (FDCs) in ungauged basins in NW Italy. This procedure, set up through PyWPS scripting, prevents the user to download any client or plugin application and allows remote computation of FDC.

Description

In a river reach, The Flow Duration Curve (FDC) provides an estimation of water resources availability and is usually the representation adopted to quantify the availability and variability of water for hydropower potential production. In the absence of local discharge measurements, the FDC can only be estimated with regional statistical models.

A regional model is used here for prediction of FDCs at ungauged basins in the North-Western Italy by means of a procedure proposed in 2014 (Masoero et al., IAHS) in which the analytical FDC can be represented by a Burr distribution curve, whose parameters can be related to a set of topographic, climatic, land use and vegetation descriptors representative of the basin scale. This regional procedure requires extensive GIS calculations to evaluate the geomorphological and climatic characteristics of a basin, using pre-determined raster maps and a digital terrain model. In a first step, in order to obtain the above-mentioned parameters, we developed two python scripts for the QGis Processing Toolbox, using GRASS algorithms for the automation of spatial analyses. Afterwards, with the aim to provide access to GIS data and functionality over the internet through standard internet protocols, two WPS (Web Processing Service) procedures have been implemented, accessible both by web browser and through the use of software desktop GIS such as QGIS. The use of scripts through WPS allows users to access calculations independently of the underlying software and data does not need to be housed locally (client side) but are and maintained by the hosting entity. Moreover, loading times are faster than client-side scripting. For sharing these procedures, a web platform was developed, with free and open-source software, using: PyWPS to set up the WPS processes using GRASS GIS as a backend to access all the geoprocessing functionalities; GisClient3 to build the WebGis (accessible through client browsers); Apache as web server. GisClient3 is an interesting web authoring tool configurator for PostGIS and MapServer that enables both to build Mapfiles and to provide OpenLayers maps.

About the author

Environmental engineer specialized in developing custom desktop and web GIS applications
X

Automated Drain Area Creation for Municipal Hydraulic Simulations

MrRobinini
Hunziker-Betatech AG

(Talk 20 minutes + 5 minutes questions)

Abstract

Creating a hydraulic simulation of urban wastewater networks is horrendously complex, repetitive and takes significant time. To allow engineers to focus on engineering, a Python based software has been developed. This automates the creation of thousands of drain areas using open government geodata.

Description

By creating hydraulic simulations of urban wastewater networks, engineers can prevent flooding, reduce pollution and prepare for the future. This talk describes development of Python software to automate the generation of drain areas for modelling, from the initial idea to solution - distilling years of engineering experience. Work that would have taken weeks is now completed in less than half an hour. This has required the development of innovative techniques to solve complex problems and also to take into account interplay between multiple datasets. Thousands of drain areas are created with this software. Each area is fully characterised according to many factors including building geometry, network topology and geology. Automatic suggestions are also made for future optimisation of the network. It is currently being used for projects ranging in size from small villages to major cities.

About the author

Initially making things from concrete in the UK, Robin was dragged over to Switzerland by a young lady and the promise of a lifetime supply of chocolate. An interest in web design blossomed into a love affair with programming, a geomatics degree and he is now married to the lady (and Python).
X

Selinon - dynamic distributed task flows

Fridolín Pokorný
Red Hat

(Talk 45 minutes + 5 minutes questions)

Abstract

Have you ever tried to define and process complex workflows for data processing? You’ve probably came across Celery - distributed task queue. Let's enhance Celery and add flexibility and dynamic features needed badly in complex flows with all the benefits for scalable distributed computing.

Description

Have you ever tried to define and process complex workflows for data processing? If the answer is yes, you might have struggled to find the right framework for that. You’ve probably came across Celery - popular task flow management for Python. Celery is great, but it does not provide enough flexibility and dynamic features needed badly in complex flows. As we discovered all the limitations, we decided to implement Selinon.

Selinon is a task flow manager that is built on top of popular Celery distributed task queue. Selinon enhances Celery task flow management and allows you to create and model task flows in your distributed environment that can dynamically change behavior based on computed results in your cluster that can be orchestrated using orchestration tools such as Kubernetes or OpenShift. Task flow configuration is done in simple YAML configuration files. Selinon also offers some advanced features such as automatically resolving tasks that need to be executed in case of selective task runs, automatic tracing mechanism, integration with Sentry monitoring or support of changes in your task flows on redeployment and many others.

About the author

Fridolín Pokorný is a software engineer at Red Hat with focus on big data processing, machine learning and AI. His previous interest was on reverse engineering and security. Besides other projects he worked on Linux kernel TLS implementation that was lately introduced in the Linux kernel. Fridolín likes meeting new people, open source, sport and good Czech beer.
X

Using Python for regionalized sustainability assessment

Chris Mutel
PSI

(Talk 20 minutes + 5 minutes questions)

Abstract

Calculating sustainability scores is data- and time-intensive. We have built an open-source Python toolchain for these calculations, including data management, analysis, matrix calculations, and matching spatial scales. These advanced tools support businesses, governments, and eco-labelling.

Description

Calculating the environmental impacts of goods and services is difficult, because their supply chains span the industrial world. Life cycle assessment (LCA) is the most popular methodology for such calculations, but closed-source commercial LCA software is rigid and slow. Over the last ten years, I have developed Brightway, an Python-base open source framework for LCA; as Brightway has developed a community following, it has been extended to included site-dependent assessments, which matches maps of where emissions happen to the impact of different kinds of emissions in space; a library for consistent topological base data and calculations; system models, which describe how to turn raw data into a linked supply chain network; data manipulation and model integration; and the storage and use of uncertainty distributions and real-world statistical data. In this talk, I describe the development of these tools, including the advantages of using Python, and then briefly describe how such tools can be applied in an example of future cars and airplanes.

About the author

I am a reformed American, now a scientist at the Paul Scherrer Institut in Villigen, CH; I use Python to develop tools and models every day to do better sustainability and technology assessment to support the Swiss Energy Transition and the UN Sustainable Development Goals.
X

Who Needs Geography in Today's Digital World?

Corryn L Smith
Northern Arizona University

(Talk 20 minutes + 5 minutes questions)

Abstract

Geography. Why is it important to me, my work, or my clients? Geography answers the "where" that people are always asking. This talk will explain why we need geography, especially geospatial technologies, in our lives. This talk will also explain the power of maps in the digital age.

Description

Geography is defined as "the study of the physical features of the earth and its atmosphere, and of human activity as it affects and is affected by these, including the distribution of populations and resources, land use, and industries" (Oxford Dictionary). What is the importance of geography in today's digital age? What are geospatial technologies and how to they bridge the connection between traditional geography and modern technology? In this talk, we will explain the importance of "where", how technology is rapidly improving the geospatial world, and how we can use maps to communicate with our peers, students, and clients. Come and discover your inner geographer!

About the author

Corryn was always interested in maps and computers at a young age. She received her Bachelor of Science in Environmental Spatial Analysis with an Information Technology emphasis from University of North Georgia. She decided to move out West to receive her Master of Science in Applied Geospatial Sciences with a Planning and Recreation emphasis. Currently, Corryn in an Instructor at Northern Arizona University where she teaches Geospatial Technologies. She is also Co-Chair of PyLadies Remote. Corryn likes to hike, go geocaching, try new beer, and play roller derby.
X

Everything you've been told about geoprocessing performance is wrong

Aaron Styles
Geoplex

(Talk 20 minutes + 5 minutes questions)

Abstract

Want to speed up your geoprocessing up to five fold, while spending much less on hardware? The common thinking in regards to the hardware required for geoprocessing is out of date and detrimental to your time and money. I've tested the hardware and have some surprising results!

Description

The common thinking for getting more performance out of your geoprocessing is to use expensive hardware designed for use in servers. After being given one of these big, expensive machines to use, I noticed that workflows I ran on an old laptop were running slower on this machine. To discover why this was, I tested a Python geoprocessing script on as much different hardware as I could. My results are in, and they're here to save you time and money!

About the author

Aaron is a big nerd. He's been coding since his stepfather show him how to create sprites on their Commodore 64. After spending some time working in game development and a range of more "normal" jobs, he is now bringing his weird ideas to GIS.
X

Approaching geovisualization and remote sensing with GeoViews

Giacomo Debidda


(Talk 20 minutes + 5 minutes questions)

Abstract

In this talk I'd like to give my beginner's perspective about: - which data to use for a geovisualization and where to get it - how to clean the data - how to create interactive geovisualizations really fast with bokeh and GeoViews.

Description

I have never worked in the geographical analysis field, but I am a Python/JavaScript developer interested in data visualizations. A few months ago I made a visualization with Datashader, and thanks to that I came across GeoViews and Cartopy (and also learned about this conference). In this talk I'd like to share the main difficulties I encountered as a beginner, and what I learned by reading the code and playing around with these libraries.

About the author

Former biomedical/clinical engineer turned software developer. I love Python for data science and JavaScript for data visualizations. I always try to pick the right tool for the job.
X

Deep Learning on Spatial Imagery to improve GeoSpatial DataSet Quality, an OSM use case.

Olivier Courtin
DataPink

(Talk 20 minutes + 5 minutes questions)

Abstract

Fully automatic aerial imagery segmentation, is an open topic since decades. Nowaday, Computer Vision abilities been revivified by Deep Learning approachs. This talk 'll focus on spatial imagery Semantic Segmentation with DL, and how it can help to detect quality issues in an existing OSM dataset.

Description

How DeepLearning, and semantic segmentation, can be an efficient way to detect and spot inconsistency in an existing dataset ? OpenStreetMap dataset took as an use case. DataQuality is a must, but a gageure. And any technique on any help to improve DataQuality is then more than welcome.

Machine and DeepLearning can succeed to tackle some old issues, in a far more convenient and efficient way than ever before... For instance DeepLearning, with aerial imagery semantic segmentation can improve features detection ability and allow us to spot dataset inconsistencies.

In this presentation we will focus on how an OpenStreetMap subset dataset (for instance roads and buildings on an area), can be evaluated to produce quality metric.

We wanna focus on:

Deep Learning vision, and specific Satellite imagery considerations (high and lower resolutions, multispectral dimensions, dataset aggregation...)

How to qualify a good enough labelled DataSet (to allow supervised learning)

FOSS4G (PostGIS and Grass) integration with Python ML/DL framework
(with NumPy as an interoperability format)

Concrete solution for efficient treatments for wide coverages

About the author

Involved in GeoSpatial Open Source Softwares, and GeoData, since years, i'm currently working on finding best ways to bridge Python DataScience ecosystem (i.e from SciPy to DeepLearning frameworks) to GeoSpatial data stuff. Aerial imagery analysis throught DeepLearning is one of theses topics...
X

Boost your app with Machine Learning APIs

Laurent Picard
Google

(Talk 45 minutes + 5 minutes questions)

Abstract

What about making your app smarter without any knowledge in AI? Thanks to pre-trained models, Machine Learning APIs can automatically analyze your data. In this session, you’ll see how to transform or extract information from text, image, audio & video, and you’ll be an active player of a live demo.

Description

My goal is to inspire developers by showing how an app can be feature boosted with simple machine learning API calls. It is a lot of fun to have attendees take their smartphones and participate altogether in a live demo.

About the author

Laurent Picard is passionate about software, hardware, science and anything shaping the future. Over 20+ years, he has delivered educational solutions, pioneered the ebook industry, co-founded Bookeen, developed generations of e-reading devices and launched a highly-available ebook ecosystem. Laurent is now developer advocate at Google and enjoys inspiring developers with cloud technologies.
X

Why Kubernetes: Finding the Best Solution for Your Needs

Rizchel Dayao
IBM

(Talk 45 minutes + 5 minutes questions)

Abstract

We, as developers, are often overwhelmed with all of the options to choose from for managing and deploying an application. By the end of this talk, you will have the resources and tools to determine if Kubernetes is the right solution for you and how you can get your application deployed!

Description

There are many choices when looking for the right solution to manage and deploy our applications. We, as developers, are often overwhelmed with all of the options to choose from. One of our many options is Kubernetes. I’ve recently dived into deploying and managing an application on Kubernetes. In this talk, I will take you through my journey and explain the advantages and disadvantages of Kubernetes. - What is Docker - What is Kubernetes - Dockering an application - Using Kubernetes to deploy a containerized application - Pros and cons of Kubernetes - Common pitfalls

By the end of this talk, you will have the resources and tools to determine if this is the right solution for you and how you can get your application deployed!

About the author

Rizchel Dayao is a Developer Advocate at IBM in Denver, Colorado. Previously, she was a Developer Lead for the IBM Cloud and her team won the Eminence and Excellence Award in 2017, as well as the Manager’s Choice Award. She has helped facilitate IBM Design Thinking sessions and was part of the team to win the Tech Innovation Challenge Hackathon as an intern in 2014 at American Express. She graduated from Arizona State University with a degree in Computer Science. When she’s not coding away, she enjoys playing with her two adorable pups and anything Harry Potter related!
X

PyQGIS Layer actions and project macros

Marco Bernasocchi
OPENGIS.ch GmbH

()

Abstract

Want your project to add a menu item to reverse a line? no problem, using python actions and macros in your QGIS project can do that and much more. Actions can add a whole new dimension to your map interaction while project macros open infinite possibilities of interaction on map events.

Description

Layer actions

An action is something that happens when you click on a feature. It can add a lot of extra functionality to your map, allowing you, for example, to retrieve additional information or modifying an object. Assigning actions can add a whole new dimension to your map! Actions can be written in a simplified QGIS syntax or in Python to allow full interaction with the PyQGIS API.

More informations

https://docs.qgis.org/2.18/en/docs/trainingmanual/createvector_data/actions.html

Project macros

The python macros for projects allow executing code for a whole project. The three available macros (openProject, saveProject and closeProject) execute your custom functions whenever they are called. Furthermore, thanks to the signal/slot architecture of QGIS, setting up Qt connections in the openProject macro will result in your custom function to be able to react to map events during your whole work session.

More informations

https://docs.qgis.org/2.18/en/docs/usermanual/introduction/qgisconfiguration.html#advanced-settings

About the author

Passionate problem solver, creative software developer, founder of OPENGIS.ch, and terrible inbox cleaner. I like to learn about new technologies, especially related to geospatial opensource software. I hold a MSc degree in Geography with specialization in Geographic Information Systems of the University of Zurich and can fluently speak Italian, English, German, French, Spanish and a bit of Swedish. Feel free to check out my [software engineer CV](http://opengis.ch/download/CV_Marco_Bernasocchi_SW.pdf) or my [generic CV](http://opengis.ch/download/CV_Marco_Bernasocchi.pdf). You can also get more information on my [LinkedIn](http://ch.linkedin.com/in/mbernasocchi) and [XING](https://www.xing.com/profile/Marco_Bernasocchi) profiles or by good old email at marco@opengis.ch
X

Task queues with Celery and RabbitMQ

Matt Walsh
thinkWhere

()

Abstract

Need to run tasks out with the web request cycle or achieve faster batch processing times? Celery is a python based open source asynchronous task queue that opens the door to scalable background task processing. Learn how to get started in this workshop using Celery and RabbitMQ.

Description

Python is a great language for dealing with spatial data and solving geo-related problems, however, it is not uncommon to find that tasks can be long running or numerous and would benefit from asynchronous execution. Celery is a task queuing library which provides a framework for solving this very problem.

In our workshop you will write a simple program using Celery and RabbitMQ to process geometries (with Shapely) and write to a database (PostGIS) asynchronously. We will demonstrate some of the cool features of Celery including out of the box monitoring tools, failure handling and (hopefully) scalable distributed processing.

About the author

We are three software developers working at thinkWhere based in Stirling, Scotland. We love solving problems using Python, GeoServer, PostGIS and many other open source technologies.
X

Spatial Data Science with PyData

Levi John Wolf & Sergio Rey
(University of Bristol & University of Chicago) & University of California, Riverside

()

Abstract

Spatial data science is a burgeoning area of development for computational science and business intelligence alike. Here, we will teach you how to think spatially, detect spatial trends, visualize complex spatial data, and model the geographies of your data in novel and ultimately illuminating ways.

Description

This workshop will enage with current best methods in spatial data science, teaching participants methods to leverage information about location and relation in their analysis of data. We will begin by covering basics of how to work with spatial data, thinking geographically, and how the representation of spatial data can be encoded in to modelling methods. Then, we will examine a few case studies, such as the detection of spatial outliers -- areas where some things do not fit into their geographic landscape -- also known as "hotspots" or spatial clusters. We will examine how to include information about arrangement and proximity into more interesting, relevant, and powerful model components, not just nearest-neighbors regressions. A joint offering from the Center for Geospatial Sciences at the University of Riverside, the Quantitative Spatial Science Lab at the University of Bristol, and the Center for Spatial Data Science at the University of Chicago, this workshop will provide attendees with a strong sense of the current state of the statistical art in the analysis and understanding of spatial data.

About the author

My name is Levi John Wolf. I am a lecturer in Quantitative Human Geography at the University of Bristol’s Spatial Modeling Group. In addition, I’m finishing up my Geography Ph.D. on spatial analysis, electoral geography, and operations research at Arizona State University, and am a fellow at the Center for Spatial Data Science at the University of Chicago . I am a quantitative social scientist, using spatial statistics and geocomputation to help make sense of US politics, economics, and social dynamics. I am a top-5 all-time contributor to and co-maintainer of PySAL, the Python Spatial Analysis Library, and contribute to other scientific computation efforts in python. I’ve also written my own package, Cenpy, for working with the US Census Bureau’s Data API from Python, as well as a toy package to use Wes Anderson palettes in Matplotlib. I’m also active in the JuliaGeo community and have built a package to construct spatial weights matrices in Julia, SpatialWeights.jl. I have consulted for companies doing terabyte-scale spatial data science, such as Nextdoor & CartoDB, working on projects like enabling high-performance spatial analysis in PostgreSQL. I have been programming in Python for ~5 years, starting from a base programming knowledge in Haskell and R. I use UNIX tooling. For GIS, I exclusively use FOSS-GIS tools, and mainly use Python, PostGIS/PostgreSQL, and Julia, in order of frequency. I have been politically devoted to free and open source software ever since I installed Debian as a teen. Social justice is important to me. Sergio Rey is Professor in the School of Public Policy and Founding Director of the Center for Geospatial Sciences at UCR. Rey’s research interests focus on the development, implementation, and application of advanced methods of spatial and space-time data analysis. His substantive foci include regional inequality, convergence and growth dynamics as well as neighborhood change, segregation dynamics, spatial criminology and industrial networks. Recent and current research projects include geodemographic approaches to neighborhoods in space-time contexts (NSF), new methods for spatial distribution dynamics (NSF), an analysis of the relationships between spatial linkages and urban economic dynamics (EDA), flexible geospatial visual analytics and simulation technologies to enhance criminal justice decision support systems (NIJ), spatial analytical framework for examining community sex offender residency issues over space and time (NSF), and cyberGIS software integration for sustained geospatial innovation (NSF). Rey is the creator and lead developer of the open source package STARS: Space-Time Analysis of Regional Systems as well as co-founder and lead developer of PySAL: A Python Library for Spatial Analysis. He is an elected fellow of the Regional Science Association International, a fellow of the Spatial Econometrics Association, and has served as the Editor of the International Regional Science Review from 1999-2014, editor of Geographical Analysis 2014-2017, and the president of the Western Regional Science Association.
X

QGIS Processing Framework: Automating Tasks with Python

Stefan Keller
HSR Geometa Lab

()

Abstract

Ever had to automate a task in geospatial data analysis? In this workshop you learn how to do this using QGIS and Python. We start with an overview then we present the Processing framework and how it comes together to allow pythonic scripting. Finally we're getting real with some hands-on exercises.

Description

Geospatial data analysis and processing often requires us to run series of intermediate tasks repetitively. An example where we need to invoke the same methods on different data sets. A way to automate, as well as potentially to simplify these tasks is through scripting, which can be achieved using Python within QGIS, the popular open source GIS.

This workshop we start with an overview of QGIS, then it moves on to introduce Python programming in QGIS (PyQGIS). Then we discuss QGIS' Processing framework and how it allows the use of pythonic scripting, before we’re going in-depth to explain how to automate tasks using Python scripts, which would otherwise require repetition of the same process/running of code. Afterwards, we show you how you can use and create custom scripts on QGIS with our own hands-on exercises. We’re wrapping the course on how one can use the Processing framework and how one can create pythonic scripts in QGIS or otherwise, to help automating tasks for future use.

This course makes use of QGIS 3 and incorporates certain GIS knowledge, but still keeps it friendly enough for beginners or first-timers. So, we welcome both enthusiasts who are eager to learn how to script in Python, as well as those interested in learning more about geospatial data analysis and processing.

About the author

Stefan Keller is full professor at HSR Hochschule für Technik, computer science department, and he leads the Geometa Lab. He's main teaching and resarch topics are (spatial) data engineering and big (spatial) data anyalytics. Stefan Keller is engaged in innovative open source and open data projects.
X

Mapping Mesothelioma

Carl Reynolds
Imperial College London

(Talk 20 minutes + 5 minutes questions)

Abstract

Pleural mesothelioma is a rapidly fatal cancer of the covering of the lungs (the pleura) . In men it's almost entirely attributable to historic occupational asbestos exposure. Despite asbestos controls the number of cases is still rising in the UK. Can mapping help us to understand why?

Description

I will present on-going work (my attempts) to analyze and visualize geospatial and temporal variation in pleural mesothelioma data in the UK.

About the author

Hello I'm Carl. I’m a doctor and a geek. People should listen to me because I believe strongly in reciprocity. It might also be fun to listen to me because I'm working on a real problem with python. My favorite member on 1D is Harry Styles because I like long hair.
X

Introducing GeoPySpark, a Big Data GeoSpatial Library

Jacob Bouffard
Azavea

(Talk 20 minutes + 5 minutes questions)

Abstract

GeoPySpark is a new Python library that allows users to analyze large amounts of geospatial data in a distributed environment. Backed by GeoTrellis, a Scala library, GeoPySpark is able to perform and scale well by taking taking advantage of its Scala backend while maintaining a Python interface.

Description

Introducing GeoPySpark, a Big Data GeoSpatial Library

About GeoPySpark

GeoPySpark is a Python library for processing large amounts of geospatial data in a distributed environment. A binding of GeoTrellis, a Scala geospatial library, GeoPySpark allows users to take advantage of the speed and scalability of Apache Spark while working with a Python interface.

About This Talk

This talk will discuss GeoPySpark itself as well as its features via an example use case. The first part of the presentation will be a general overview of how GeoPySpark works and its features. In the second part of the talk we will develop an example use case for GeoPySpark in Jupyter notebook that will utilize a cluster on Amazon’s EMR.

This notebook will generate a friction surface that will enable a cost distance surface calculation between two travel waypoints. In order to visualize the intermediate steps and final result, this example’s Jupyter Notebook will be a fork of Kitware's Geonotebook. This application allows for the layers to be displayed on a map that accompanies the notebook.

Note: Due to length of the of the talk and how much data will worked with, all of the following operations will be carried out before hand.

When producing the friction layer certain variables will need to be considered. These are the following elements that will be taken into account when producing the friction layer: elevation, land cover, hydrology, roads, and trails. All of these datasets will cover the lower 48 states of the United States of America. See here for more information on the source and format of the datasets.

Once the data has been read in and formatted, the next phase will be to calculate the friction layer. The following steps will be performed in order to produce this layer:

  1. Calculate slope of the NED layer
  2. From the new slope layer, derive walking speeds using Tobler's hiking function. This will become the base friction layer.
  3. The NLCD and NHD layers will have their values reclassified to corresponding values that represent how much friction there is when passing through a given cell.
  4. Roads and trails will be taken from an OSM orc file and will be rasterized into a single layer.
  5. Local map algebra operations will performed between the base friction layer and the reclassified NLCD and NHD layers. The resulting layer will contain adjusted tobler values where elevation, land cover, and hydrology are considered.
  6. The last step will be to take the adjusted friction layer and perform a local max operation on the roads/trails layer. This will produce the final friction layer.

Each step will have its data displayed on a map to better visualize the changes to the friction surface as these factors are taken into account.

The cost distance layer will be calculated using the final friction layer and the two points of interest. Once we have visualized the cost distance layer, the final step of this demo is to save the friction layer to a remote backend for future use. In this case, the layer will be saved to Amazon's S3 service.

The Data

Sources and formats of the data:

About the author

# About Jacob Bouffard Jacob Bouffard has been a software developer on the GeoTrellis team at Azavea for the past 1.5 years. Before working at Azavea, Jacob was a research assistant to Dr. Keven Henry at Temple University where he studied the spread of information on the *human papillomavirus* on social media. Outside of work, Jacob enjoys reading, fitness, and playing tabletop role-playing games.
X

Geoprocessing with Python

Martin Christen
FHNW - University of Applied Sciences and Arts Northwestern Switzerland

(Talk 20 minutes + 5 minutes questions)

Abstract

Geoprocessing means manipulation of spatial data, for example, raster or vector data. In this talk, different types of geodata processing will be introduced by using various modules for handling geodata.

Description

After previous studies had shown that 80% of all decisions in business and private life are based on geodata. Python is the one commonly used programming language for the processing of geographical data. Today, however, a huge challenge is the explosion of data volumes. This talk shows the possibilities of using Python for geodata processing, dealing with big data, data handling and analysis, and cloud computing.

About the author

Martin Christen is a professor of Geoinformatics and 3D Computer graphics at the Institute of Geomatics at the University of Applied Sciences Northwestern Switzerland (FHNW). He leads a research group on the following topics: GPU-Programming, Augmented Reality, Virtual Reality, Parallel Computing, and Terrain-Rendering, Machine Learning Martin Christen is very active in the Python community. He teaches various Python-related courses and uses Python in most research projects. He is the organizer of PyBasel - the local Python User Group Northwestern Switzerland. He also organizes the yearly GeoPython conference. He is a board member of the Python Software Verband e.V.
X

Case Study - how to use big-data machine learning to predict future delays and bottlenecks in public transport

Ture Friese
Computas AS

(Talk 20 minutes + 5 minutes questions)

Abstract

The current incarnation of cloud platforms come with a whole new promise for building large-scaling, no-ops machine learning and Big Data applications, easily! In this talk, we present the experience from our first major attempt to use this. The use case is to predict delays in a public bus transportation system. The technologies involved are Google Could Platform, TensorFlow and Python.

Description

Kolumbus oversees local public transportation in the south-western region of Norway, responsible for ~85.000 daily commutes spread over 60+ bus routes and 10 boat routes. They had heard of the promises of modern day cloud computing and wanted to test out what is possible. They needed a better planning tool for future traffic situations. In fall 2017 they commissioned Computas to build a cloud-based prototype. The system allows to predict position and delays for all bus routes – from 1 minute up to 1 year into the future. Predictions are produced continuously such that future traffic developments can be played in an animated map. They called it the time machine.... The system should learn from a large set of historic bus position in seconds resolution, and from historic weather and holiday data which are strongly correlated with passenger numbers and traffic congestion. Google Cloud Platform (GCP) emerged as a serious contender in early 2017. The new platform promises easy-to-use tools for data ingestion and good support for large-scale machine learning. We build the prototype on GCP's capabilities and found the platforms affinity to Python and to data science very useful, especially for data exploration and scripting of cloud-hosted engines. We used
  • TensorFlow, Keras and Google Cloud ML for large-scale machine learning
  • Cloud Dataflow for massive parallel data ingestion
  • Pandas for data preparation
  • BigQuery for Big Data preparation
This sounds very diverse but everything is implemented in Python! Python plays an important role in gluing all the necessary components together. We would like to share our experience with these technologies and from a project where constant alternation between data analysis and software development created a high level of dynamics. What did work well, where did we take wrong turns, how mature are the products we used? How might big-data machine learning progress from here?

About the author

Ture Friese, is a senior developer at Computas AS, based in Stavanger/Norway. He has a Dip.Wi-ing. title from University of Karlsruhe (TH) and 18 years of work experience from various development projects. Currently involved in building a simulator for a bus rapid transport (BRT) system, based om SimPy and GeoPandas. He is a "new tech" spiel-kind and innovation impresario. Recently his focus is on cloud computing, machine learning, data science and Python. He speaks Norwegian, German, English.
X

Lightning Talks

Lightning talks are registered directly at the conference on a first come first serve basis. More info will be provided at the opening session

A lightning talk is a very short talk where you share an idea, concept, or a bit of information you find interesting. They’re quick, easy, and a great way to practice.

A lightning talk should be about five minutes long, just long enough to give an overview and make people curious about your topic. You can talk about anything that’s related to the event’s general theme (in the case of Write the Docs, anything even remotely related to documentation).

First, you need a topic. Your topic might be:
  • A concept, process, or tool that you learned recently or are still learning
  • An idea for a website or product that would solve a problem you have
  • A retrospective, or what went right/wrong during a project you did or are doing
  • Anything relevant that the audience might be interested in knowing more about
  • Next, you need an outline for the content. Think about the audience, and the goal of your talk. Choose points to make that will be understandable by the audience and achieve your presentation goal. Remember how quickly five minutes goes by when choosing what to include!
Potential points of interest might be:
  • What could you use this for or when could you use it? Have you already used it? How?
  • When wouldn’t it not be as useful? What are some contraindications to using it?
  • Resources related to the subject, including books, documentation, and URLs.
  • Are there any projects or companies that are using what you’re sharing?
  • Is this something you’d like to collaborate with others on? Feel free to ASK!
  • What are some of the challenges related to using, building, or configuring what you’re showing?
You absolutely don’t need slides. However, if you’d like to make slides, use anything that you are comfortable with. Don’t worry if it doesn’t look polished, lightning talks don’t need to be! You might use Microsoft Word, Keynote, a PDF, or a web site. Even a simple terminal or console window where you enter commands can work well for presenting your ideas.

Keep in mind that the projector will be lower resolution, typically 1024x768, and that low-contrast slides don’t present well. You’ll also need to make your terminal or console font very large so that everyone can see what you’re typing. If you’re running code examples, have them written, debugged, and ready to go. Watching someone write code as they go can be great in a longer deep-dive type of talk, but it’s not very well-suited to a lightning talk.

You may have the urge to do a live demonstration of the thing you’re talking about. It seems like an easy way to help the audience see your vision, and it is… if it works! Following Murphy’s Law, however, we can deduce that your live demo will go horribly wrong. A failed demo can derail all but the most skilled presenters, but if you choose to do a demo and it goes wrong don’t worry! Have a backup story to tell that explains what the demo would have shown and revert to it if necessary.

Take a deep breath and go for it. You are among friends, and nobody will mind if you make mistakes. Almost everyone starts out their public speaking career in the tech industry by giving lightning talks, so you can assume your audience has been in your shoes before. Throw caution to the wind and embrace your five minutes! :)

Be sure to bring everything you need to do your presentation. It’s wise to assume that the internet access will fail precisely when you need it. Load web pages you need into your browser beforehand. Bring the adapters you’d normally need to connect your laptop to a monitor or projector, and keep a backup copy of your presentation on a USB memory stick – laptops can and do fail, and this will allow you to use someone else’s laptop if the need arises.

If you have your slide presentation or example code available online you can let the group know where to find it if you want to share it. Curious people may follow up with you if they’d like to collaborate or have feedback about your presentation.

Thanks to the lovely Portland Python Users Group for use of this content.

Lightning Talks: A Guide for Beginners by Michelle Rowley of PDX Python is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Conference Schedule

Day 1: May 7, 2018

Auditorium Room 232 (2nd floor)
08:30 Registration opens
09:00 - 09:20 Opening GeoPython 2018
Martin Christen, FHNW
09:30 - 12:30 Workshop 3h
Introduction to geospatial data analysis with GeoPandas and the PyData stack
Joris Van den Bossche, Université Paris-Saclay Center for Data Science, INRIA
(Coffee Break: 10:30-11:00)
Workshop 3h
PyQGIS Layer actions and project macros
Marco Bernasocchi, OPENGIS.ch GmbH
(Coffee Break: 10:30-11:00)
12:30 - 13:30 Lunch Break
13:30 - 15:30 Workshop 2h
Spatial Data Science with PyData
Levi John Wolf & Sergio Rey, (University of Bristol & University of Chicago) & University of California, Riverside
Workshop 2h
QGIS Processing Framework: Automating Tasks with Python
Stefan Keller, HSR Geometa Lab
15:30 - 16:00 Coffee Break
16:00 - 18:00 Workshop 2h
Task queues with Celery and RabbitMQ
Matt Walsh, thinkWhere
Workshop 2h
Introduction to Spatial Data Processing using FME and Python
Régis Longchamp, INSER SA
18:00 - 21:00 Ice Breaker Party

Day 2: May 8, 2018

Auditorium Room 104 (1st floor)
09:00 - 9:15 Opening Day 2

09:15 - 10:30 Session: Web Services I

Why Kubernetes: Finding the Best Solution for Your Needs, Rizchel Dayao, IBM

Using PyWPS for Water Resources Quantification in Mountain Basins, Susanna Grasso, Polytechnic of Torino, Department of Environment, Land and Infrastructure Engineering
10:30 - 11:00 Coffee Break & Lightning Talk Registration
11:00 - 12:40 Session: GIS & Mapping I

Who Needs Geography in Today's Digital World?, Corryn L Smith, Northern Arizona University

Kroměříž, Győr, Łomża, Mâcon - Around Europe on a Single Keyboard, Miroslav Šedivý

Automated Drain Area Creation for Municipal Hydraulic Simulations, Robin Dainton, Hunziker-Betatech AG

Using Python for regionalized sustainability assessment, Chris Mutel, PSI

Session: Machine Learning I

Case Study - how to use big-data machine learning to predict future delays and bottlenecks in public transport, Ture Friese, Computas AS

Classification of geological features on Satellite images, Johannes Oos

Understanding and Implementing Recurrent Neural Network using Python, Anmol Krishan Sachdeva, University of Bristol, United Kingdom

12:40 - 13:40 Lunch Break
13:40 - 14:55 Session: Spatial Databases

Postgres migrations using Python, Mario Baranzini, OPENGIS.ch GmbH

PLR (ÖREB) Cadastre Kanton Wallis, Régis Longchamp, Inser SA

Reproducible geoscience: Volcanic eruption mass calculations using Python, GRASS7 and Pandas, John A Stevenson, British Geological Survey

Session: Machine Learning II

Boost your app with Machine Learning API, Laurent Picard, Google

Deep Learning on Spatial Imagery to improve GeoSpatial DataSet Quality, an OSM use case, Olivier Courtin, DataPink

14:55 - 15:30 Coffee Break
15:30 - 16:45 Session: GIS & Mapping II

Computing drone-based image footprint with Python, Hans-Jörg Stark, SBB

MesoHABSIM move to the Cloud, Erik Tiengo, GisUp

16:45 - 17:45 Lightning Talks

What are lightning talks?
5 minutes talks, registered at the conference
19:00 - 22:00 Conference Dinner (Restaurant Alessia)

Day 3: May 9, 2018

Auditorium
09:00 Opening Day 3
09:00 - 10:25 Session: Web Services II / GIS & Mapping III

Selinon - dynamic distributed task flows, Fridolín Pokorný, Red Hat

Developing Automated Geospatial Procedures for Civil Engineering, Joseph Kaelin, Katharina Kaelin, Alan Hodgkinson, Philippe Nater

10:25 - 11:00 Coffee Break
11:00 - 12:15 Session: Geovisualization

The Mosquito Alert map implementation: a use case in citizen science, Marc Compte, GIS Service - University of Girona

Approaching geovisualization and remote sensing with GeoViews, Giacomo Debidda

Mapping Mesothelioma, Carl Reynolds, Imperial College London

12:15 - 13:15 Lunch Break
13:15 - 14:15 Lightning Talks

What are lightning talks?
5 minutes talks, registered at the conference
14:15 - 15:30 Session: Data Processing

GeoPandas: easy, fast and scalable geospatial analysis in Python, Joris Van den Bossche, Université Paris-Saclay Center for Data Science, INRIA

Everything you've been told about geoprocessing performance is wrong, Aaron Styles, Geoplex

Introducing GeoPySpark, a Big Data GeoSpatial Library, Jacob Bouffard, Azavea

15:30 - 15:50 Closing Session & Raffle

Call for Speakers

The call for presentations is closed

Important Dates

  • Submission Deadline: January 31, 2018 Extended to February 18, 2018
  • Notication Due: February 15, 2018 Extended to February 18, 2018
  • Optional Paper Due: May 1, 2018 Extended to June 1, 2018

Register

Sponsors

GeoPython sincerely thanks our sponsors for supporting our mission and making the conference possible!
Contact us about sponsorship opportunities: info@geopython.net

Python Software Foundation
The mission of the Python Software Foundation is to promote, protect, and advance the Python programming language, and to support and facilitate the growth of a diverse and international community of Python programmers. The majority of the PSF's work is focused on empowering and supporting people within the Python community. The PSF has active grant programs that support sprints, conferences, meetups, user groups, and Python development efforts all over the world. In addition, the PSF underwrites and runs PyCon US, the primary Python community conference. Being part of the PSF means being part of the Python community. Recently we changed the PSF to an open membership organization, so that everyone who uses and supports Python can join. To learn more, visit https://www.python.org/psf/membership

The Python Software Association represents the interests of users of the open-source programming language Python in Germany, Austria and Switzerland. More information can be found on the website: https://python-verband.org/
Docraptor
DocRaptor is an HTML-to-PDF and HTML-to-Excel document conversion API. We have hundreds of European customers and generate millions of documents every month. Every account includes an uptime guarantee and access to our professional support team who can help debug any HTML styling issues you encounter. Libraries and documentation are available for all major languages, including Python.
packt
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways through the delivery of effective learning and information services to IT professionals.
Working towards that vision, the company has published more than 5,500 expert-authored books and videos, providing IT professionals with the actionable knowledge they need to get the job done — whether it’s learning an emerging technology or optimizing key skills in more established tools


Accomodation

Welcome to Basel! To make your stay as pleasant as possible, the city of Basel has a special “upgrade” for you: Every hotel guest in Basel receives a BASELCARD when checking in. You can use it to travel free of charge on public transport, to access the free guest WiFi and to benefit from attractive cultural and leisure activities. We wish you an unforgettable stay in Switzerland’s cultural capital.

Hotels in Basel

Location

FHNW‎
Gründenstrasse 40
4132 Muttenz
Switzerland

Python Community Code of Conduct

All attendees of the conference must agree and respect the "Python Community Code of Conduct":

The Python community is made up of members from around the globe with a diverse set of skills, personalities, and experiences. It is through these differences that our community experiences great successes and continued growth. When you're working with members of the community, we encourage you to follow these guidelines which help steer our interactions and strive to keep Python a positive, successful, and growing community.

A member of the Python community is:

Open
Members of the community are open to collaboration, whether it's on PEPs, patches, problems, or otherwise. We're receptive to constructive comment and criticism, as the experiences and skill sets of other members contribute to the whole of our efforts. We're accepting of all who wish to take part in our activities, fostering an environment where anyone can participate and everyone can make a difference.

Considerate
Members of the community are considerate of their peers -- other Python users. We're thoughtful when addressing the efforts of others, keeping in mind that often times the labor was completed simply for the good of the community. We're attentive in our communications, whether in person or online, and we're tactful when approaching differing views.

Respectful
Members of the community are respectful. We're respectful of others, their positions, their skills, their commitments, and their efforts. We're respectful of the volunteer efforts that permeate the Python community. We're respectful of the processes set forth in the community, and we work within them. When we disagree, we are courteous in raising our issues.
Overall, we're good to each other. We contribute to this community not because we have to, but because we want to. If we remember that, these guidelines will come naturally.

Contact Us

If you have any questions contact us:


FHNW - University of Applied Sciences and Arts Northwestern Switzerland
Institute of Geomatics Engineering
Martin Christen
Gründenstrasse 40
4132 Muttenz
Switzerland

martin.christen@fhnw.ch
info@geopython.net

The GeoPython Organisation Team:

  • GeoPython Chair: Prof. Martin Christen
  • Event Coordinator: Kathrin Crollet
  • Diversity Outreach: Natalie Lack
  • Program Committee: Prof. Martin Christen, Prof. Hans-Jörg Stark
  • Workshop Chair: Markus Fehr