Workshops Details

#1
Workshop Instructor
: Ian Turton
Entity: Astun Technology
Level: Introductory
Workshop Title: Introduction to GeoTools
Workshop Content:  This is a bring your own laptop event.
It is expected that you have some familiarity with Java development and so have a Java IDE such as eclipse or InteliJ installed.
Workshop Requirements: Introduction to GeoTools
Are you new to GeoSpatial? This GeoTools session is back by popular demand with Java 8 examples. Offering a visual introduction for Java developers we will exploring how you can integrate GIS services into your next project.
For those new to the GeoSpatial scene we provide an introduction to spatial concepts and how to avoid common pitfalls.
Covering both the concepts and the science of map making the workbooks serve as an excellent reference, but the focus is always on you and the code you need to get the job done.

#2
Workshop instructor
: Ian Turton
Entity: Astun Technology
Level: Intermediate
Workshop Title: GeoTools DataStore Workshop
Workshop Content: This is a bring your own laptop workshop. You will need to have a Java IDE like eclipse or inteliJ installed.
It is intended for intermediate java developers who have some experience with GeoTools
Workshop Requirements: GeoTools is a great geospatial library supporting a whole host of data formats. This workshop looks at how to extend GeoTools with your own custom “DataStore” format and the changes that have been made for Java 8.
This course will take a detailed look at how vector data is handled. As an implementer GeoTools provides facilities for automatic handling of advanced functionality: thread safety, transactions with rollback and dynamic reprojection.
This is a Java Development workshop – so not only can you bring your own device – you can bring your own IDE.
You will leave this course with a custom “DataStore” implementation that can be dropped into an application such as GeoServer.

#3
Workshop instructor
: Astrid Emde
Entity: WhereGroup, OSGeo
Level: Introductory
Workshop Title: Create your own Spatial Data infrastructure (SDI) with Open Source Software
Workshop Contents: A Spatial Data Infrastructure (SDI) is a data infrastructure provides geographic data and metadata, it is accessible for several users and uses different tools for different processes.
It helps you to make data accessible, maintainable and findable throughout your organization.
In the workshop we will use OSGeoLive and the Open Source Software and data which is shipped with OSGeoLive to get to know the components of an SDI.
We will start with different types of data and learn about how to store data in the PostgreSQL/PostGIS database.
As second step we will have a look at OGC services and learn how to create services with software like MapServer, QGIS Server and GeoServer.
You need a client for your services and data. You will learn about DesktopGIS and WebGIS and load your data in QGIS and publish your data with OpenLayers and Mapbender.
You will learn about metadata and how you can make your data traceable in a metadata system like GeoNetwork.
And you will learn how you can control the access to your data and setup a user management.
After the journey through all the components you will be familiar with the concept and the advantages of an Spatial Data Infrastructure.
Workshop Requirements: OSGeoLive 11.0

#4
Workshop instructor
: Astrid Emde
Entity: WhereGroup, OSGeo
Level: Introductory
Workshop Title: PostgreSQL/PostGIS for Beginner
Workshop Contents:  PostgreSQL is a powerful, open source object-relational database system. It can be extended with PostGIS which allows you to store and handle geospatial data in the database. This combination is very successfull and allows you many possibilities.
Many processes that you did before with you Desktop GIS (f.e. intersection, union, buffer) can be easily done via SQL using PostGIS functions.
In the workshop you will get to know the database PostgreSQL and the extension PostGIS. There will be an introduction to PostgreSQL and SQL and you will learn SQL basics to create and modify data.
You also will get to know the concept of PostGIS and how geodata is stored in the database. You will get an overview about the enormous possibilities of PostGIS. In the workshops hands-ons we will concentrate on 2-dimensional data and we will use OSGeoLive for demonstration.
You will learn how to store, import and use geospatial data in the database. With QGIS you will discover how easy it is to bring your data to the database and out of it.
You will learn how to analyse and modify your data and learn how to make transformations, intersections, length/distance calculations, buffers, unions and more. Everything is possible with some magic lines of SQL.
Workshop Requirements: OSGeoLive 11.0.
Basic SQL and geodata knowledge is an advantage but not necessary.
Workshop for beginners.

#5
Workshop instructor
: Astrid Emde
Entity: WhereGroup, OSGeo
Level: Introductory
Workshop Title: Mapbender to create web application easily
Workshop Contents:  Mapbender helps you to create web applications for your needs. As many as you like.
Mapbender is a content management system for geospatial data services and map applications. With Mapbender you can create applications without writing a single line of code. Based on state-of-the-art technologies Mapbender is a flexible client for OGC services. Mapbender is based on the frameworks Symfony, JQuery and OpenLayers.
Mapbender has an administration web interface to do all the work. Mapbender helps you to set up a repository for your OWS Services and to create individual applications for different user needs. An application can provide search modules, digitizer functionality, print & more.
You have access control and can provide applications for defined users and groups.
In the workshop you will get to know Mapbender and you will set up your own application. You will learn how to set up your own service repository and how to create user and groups to assign access to applications. You will get to know the integrated css-editor which helps you to style you application. You will learn how to configure a search module and how to add digitizer functionality to your application.
Workshop Requirements: OSGeoLive 11.0

#6
Workshop instructor
: Julien Michel
Entity: CNES
Level: Intermediate
Workshop Title: Writing an Orfeo ToolBox processing chain in python
Workshop Contents:  How to configure your environment to use Python  PI for Orfeo ToolBox applications? How to create, set parameters, and run Orfeo ToolBox applications from within Python? How to chain several applications to form an in-memory pipeline? How to connect Orfeo ToolBox applications with NumPy? All those questions (and many more!) will be answered during this workshop. We will develop a processing chain for water surface detection from a Sentinel-2 time series over the area of the Laguna de la Nina in Peru. The concepts that will be learned during the workshop can easily be extended to the full set of Orfeo ToolBox applications, which have a common API. The workshop is therefore a good introduction to start writing similar processing chains.
Workshop Requirements: The workshop is composed of a suite of guided fill-in the blank exercises, and does not require a heavy technical background, but basic knowledge in Python and in remote sensing will help.
We will provide a full installation guide for all systems. The installation process is easy to follow and short. Data for the workshop should be downloaded by participants before the workshop, as explained in installation guide.

#7
Workshop instructor
: Ariel Chang
Entity: Hafencity University Hamburg
Level: Intermediate
Workshop Title:  A Quick guide to build a QGIS Plugin
Workshop Contents:  With Qt Designer and Spider, one can easily setup a QGIS plugin development environment.
This workshop will be focus on build up user interface (UI) of your own plugin.
Last but not least, how to debug your plugin with Python Console and error logging.
During the workshop, a example python script will be combined in QGIS plugin, however user can bring their own python script, shapefile to work with.
Workshop Requirements: QGIS OSGEO installer with QT designer.
Anaconda packages.
python script (optional)
shapefile (optional)

#8
Workshop instructor
:  María Arias de Reyna Domínguez
Entity:  GeoCat bv
Level: Intermediate
Workshop Title:  Data creation in GeoNetwork
Workshop Contents:  This workshop will focus on data and metadata creation using GeoNetwork. We will base the workshop on the latest available stable version of GeoNetwork. We will focus on the editor to publish spatial data, configuring the view on the editor to facilitate different profiles, importing data and integration with other platforms like CKAN. We will also do a brief introduction about how to create your own profile of metadata.
GeoNetwork OpenSource is the chosen Spatial Data Catalog in many countries all over the world. INSPIRE ready, it covers both Linked Open Data and ISO formats that are exposed through OGC and RDF services.
Workshop Requirements: To participate in the workshop, it will be mandatory to have basic knowledge about what GeoNetwork is (for example, by previously going to a “Introduction to GeoNetwork” workshop).

#9
Workshop instructor
: Ariel Chang
Entity: Hafencity University Hamburg
Level: Introductory
Workshop Title:  Supervised Classification of Landuse and Landcover change with Sentinel-2 data
Workshop Contents:  Multi-temporal landuse and landcover change is a popular topic in remote sensing field of land monitoring. In this workshop, I will show participant how to download ESA Sentinel-2 Level 2A product ; and how use Sen2Cor toolbox provided by European Space Agency and some sample R code will be provided to do Supervised Classification with Random Forest Algorithm.
Participant can choose any research area in Europe and any timespan of satellite images to do the classification. During this workshop, some practical vegetation monitoring index such as NDVI (Normalized Difference Vegetation Index) and EVI (Soil Adjust Index) will also be included in order to retreive better classification result.
Workshop Requirements:  QGIS.
Basic knowledge of Python and R programming knowledge will be a plus.

#10
Workshop instructor
: Andrea Aime, Nuno Oliveira
Entity:  GeoSolutions SAS
Level: Intermediate
Workshop Title:  OGC services with GeoServer: from journeyman to master
Workshop Contents:   This workshop will provide an introduction to OGC services implementation with GeoServer and GeoWebCache, covering the basics and moving forward to more advanced topics.
The workshop will cover:
* Setting up vector data, such as shapefile and postgis, in GeoServer
* Setting up raster data, such as geotiff, in GeoServer
* Introduction to the Web Map Service protocol and usage of configured data from external clients
* Integrating with Google Earth generating KML maps
* Introduction to the Web Feature Service protocol and usage of configured data from external clients
* Styling maps with Styled Layer Descriptor, creating styles with desktop tools and optimizing the styling to leverage GeoServer own custom extensions
* Introduction to the Web Map Tile Service, with examples using the GeoServer embedded GeoWebCache
* Introduction to the Web Coverage Service protocol, with examples on how to extract raster subsets.
Workshop Requirements:   In order to participate basic knowledge of GeoServer and OGC services is required. Basic knowledge of GIS concepts and most common data formats (shapefiles, geotiff) is recommended.
GeoSolutions will make available an all-in-one package to run the workshop as a VM for VirtualBox or a self-contained Zip file for Windows. This should be pre-installed on attendees laptops before the workshop.

#11
Workshop instructor
: Alessio Fabiani
Entity:  GeoSolutions SAS
Level: Introductory
Workshop Title:  GeoNode, the Open Source geospatial CMS
Workshop Contents:  GeoNode is a web platform for the development of interoperable spatial data infrastructure. The software is designed to be easily extended, customized and integrated into existing systems. The workshop aims to present the GeoNode project to those wishing to develop their own customizations or add new features. We will introduce concepts on how to create a development environment, how to generate their own projects and custom interfaces and methods of installation in production. We will also illustrate some advanced features such as the new authentication system, the management of data access rights, and of users.
Workshop Requirements:  In order to participate no previous knowledge of GeoNode is required, but a basic knowledge of GIS concepts and most common data formats (shapefiles, geotiff) is recommended.
Participants should provide their own laptop with VirtualBox and Vagrant installed and configured.

#12
Workshop instructor
: Mauro Bartolomeoli
Entity: GeoSolutions SAS
Level: Intermediate
Workshop Title:  Introduction to MapStore, mashups made simple
Workshop Contents:  This workshop will provide an introduction to creating geospatial mashups using the MapStore Open Source framework.
MapStore is the Open Source product for creating, saving and sharing in a simple and intuitive way maps and mashups created selecting contents from public services like Google Maps and OpenStreetMap or other servers implementing OGC and ISO protocols. Thanks to MapStore the user can mix her own data with data available on the web to create comprehensive maps and share them with anyone (also via social networks). MapStore is cross-browser, and mobile ready.
MapStore allows the user to:
– Manage maps (share, delete, search, create) and users through a front-end Manager.
– Create and navigate maps using a powerful and intuitive front end as map Viewer.
– Manage the embed-link, marker’s injection, routes injection, time series Google Earth like, spatial queries and more.
– Interact with one or more Catalog Service for the Web (CSW).
MapStore is also a complete framework that you can use to customize the standard app, or build your own GeoPortal from scratch, leveraging the ReactJS / Redux / RxJS based pluggable technology.
Topics Covered during the workshop
– Introduction to the MapStore product and its main functionalities
– Introduction to the MapStore framework, with description of the various building blocks
– Installation and configuration of the MapStore framework
– Creation of a new plugin for the MapStore framework
Workshop Requirements:   In order to participate to the workshop a working knowledge of JavaScript and OGC services is recommended.
GeoSolutions will make available an all-in-one package to run the workshop. This should be pre-installed on attendees laptops before the workshop.

#13
Workshop instructor
: Jáchym Čepický
Entity: OpenGeoLabs s.r.o.
Level: Intermediate
Workshop Title: GeoPython
Workshop Contents:  In this workshop, we will show, how to process geospatial data using pure Python-based tools.
We are going to look at basic raster data processing using rasterio/numpy libraries, basic vector data sources processing using fiona and geometry operation using shapely.
We will also touch GDAL-Python interface and compare it to rasterio/numpy and shapely/fiona.
Another topic, we would like to touch, is the OWSLib – Python-based OGC OWS client library. We will communicate with OGC CSW server, find some services, download images from WMS service as well as data from OGC WFS.
The workshop will use Jupyter notebook environment.
Workshop Requirements: Basic Python and knowledge and orientation in the GIS domain specific terms (such as raster, vector, vector feature, attribute, geometry, etc.)

#14
Workshop instructor: Jáchym Čepický
Entity: OpenGeoLabs s.r.o.
Level: Intermediate
Workshop Title:  PyWPS Workshop
Workshop Contents:   In this workshop, we are going to give a introduction to PyWPS (http://pywps.org) project, and install it on the server. As next step, we will start to create our own process, deploy it and test it in the running instance of PyWPS. We will also have a look into server logs and server database for more information about running processes.
During the workshop, we will discuss and demonstrate various features of PyWPS, such as link to external software packages (GRASS GIS, GDAL, …), advanced usage of the containers (using Docker) etc.
Workshop Requirements:  Python 3, basic Python knowledge and being familiar with OGC OWS concept (knowing about GetCapabilities request, etc..).

#15
Workshop instructor
: Steven Feldman
Entity:  KnowWhere Consulting
Level: Intermediate
Workshop Title:  Sales & Marketing 101 for FOSS4G Entrepreneurs
Workshop-content:   Most FOSS4G businesses start from a strong technical foundation with experienced developers, consultants and contributors to OSGeo projects. Often the founders have less experience in sales and marketing and have to “pick this stuff up along the way”.
This workshop aims to provide entrepreneurs and senior managers of small FOSS4G businesses with a grounding in basic sales and marketing techniques that should help to grow your business profitably.
The workshop is targeted at “one man bands” through to SME businesses with 10 to 15 employees (we expect that larger businesses will already have an understanding of these basic concepts). Some preparation prior to the workshop is essential, an exercise will be sent to all delegates who subscribed to the workshop at least 2 weeks prior to the workshop.
If you have more than one person involved in commercial activities you may benefit from sending a team of two delegates to the workshop.
Steven Feldman has almost 40 years of sales and marketing experience within the open spatial industry and beyond. This workshop is based on some best practices and proven concepts, which have worked for me in the past and will help you to talk your customers’ language, grow your business and increase your profitability.
Workshop Requirements:  Some commercial experience would be beneficial but even those thinking of starting their first business (even a one man business) will benefit from the workshop.

#16
Workshop instructor
: Silvia Franceschi
Entity: HydroloGIS
Level: Intermediate
Workshop Title:  Modelling natural hazards in gvSIG with the HortonMachine plugins
Workshop Contents:   The climate change and the recent extreme events occured all over the world draw again the attention to the natural hazards both for prevention and for management aspects. In this context, environmental modelling can help in mapping hazards and risks zones and to support decision makers in building functional infrastructures with low environment impact and for a safe urban planning.
In the context of modelling natural hazards hydro-geomorphology analysis is a key aspect. In the last decades many researchers tried to extract useful information from digital data and in particular from Digital Terrain Models (DTM) with the development of ad-hoc algorithms and tools. In the meanwhile the data availability increased and high precision DTM are available almost all over the world.
There are many possibilities to analise natural hazards and to define hazard and risks zones as required by the national and international directives. The algorithms contained in the HortonMachine library are the result of more than 10 years of research, develoment and real application of people from different research institutes and professionals working in the field of natural hazards. The HortonMachine library contains tools for data management (raster, vector and point cloud), data collection in the field, and environmental modelling in particular related to hillslope stability, floods and debris flow.
The workshop will cover the main aspects of the hydro-geomorphological analysis of a river basin starting from a DTM. The aim is to evaluate the maximum discharge that can occur in a section for given precipitation or using statistical information derived from the Intensity Duration Curves. Some generic geomorphological analysis on the DTM will be performed that will be used to delineate the stream network and the watershed closed at the desired section.
The last step will be the evaluation of the hillslope stability and of the maximum discharges using the shallow stability model Shalstab and the semi distributed model Peakflow integrated in the HortonMachine library.
Workshop Requirements: The expected participant is the average GIS user that wants to approach new tools for environmental modelling related in particular to natural hazards. The user can be a professional, a person of the public administration or even a decision maker who has average knowledge of GIS and GIS data and wants to approach this topic.

#17
Workshop instructor
: Andrea Antonello
Entity: HydroloGIS + Free University of Bolzano (Italy)
Level: Intermediate
Workshop Title:  Geopaparazzi: never out of data in the field
Workshop Contents:  The workshop is dedicated to professionals, researchers and students that needs to collect data from the field and use this information to update or create GIS data, but also to OpenStreetMappers as well as tourists that want to keep a geo-diary.
Geopaparazzi is an easy to use and intuitive mobile application for digital field mapping for Android devices developed to support the work of the technicians in the field, offering a mapping environment with real time GPS position and the possibility to take georeferenced notes, georeferenced and oriented pictures and georeferenced sketches. Furthermore, Geopaparazzi provides a powerful support for structured data collection based on customized forms. Forms may contain combo and check boxes, text fields, pictures and sketches organized over multiple tabs.
Background data on the map view can be personalized using available local data or on-line services with the possibility to use vector offline Mapsforge basemaps, Mbtiles offline databases, TMS and WMS services.
Vector layers in Spatialite DB can be visualized in the map view with a style prepared on the device or directly imported in the DB from SLD style files and edited with simplified tools developed to be used on a device in the filed.
The workshop starts with an introduction of the application, installation and main features. Then a short section will be dedicated to the preparation of the input data: background maps and vector layers. Following these sections there is a practical testing of Geopaparazzi outdoor in the field. The last section, back in the room, is dedicated to the export of the collected data to be visualized or used in a GIS format using gvSIG.
Workshop Requirements:  The expected participants have to have basic knowledge of both Android and Windows environment as well as of the most important GIS data formats (raster and vector).
It is required that the participants have an Android device with Android 4.1 or later.
Software used:
– Geopaparazzi
– gvSIG

#18
Workshop instructor
: Ladislav Horký, Tomáš Kavan
Entity: Melown Technologies SE
Level: Intermediate
Workshop Title:  VTS: an Integrated Platform for 3D Geospatial Application Development
Workshop Contents: VTS is a modern, integrated open-source platform for 3D geospatial application development on the Web, on the desktop or on mobile. VTS consists of 3D streaming servers, JavaScript and C++ client libraries, and data-fusion tools. In this workshop you will learn how to set up the VTS stack and what are its capabilities. In the first step, you will install VTS backend components using our Debian packages, and import a sample DEM. You will learn how to import and use geospatial data of various types – vectors, rasters, WMS/WMTS and 3D meshes from photogrammetric engines.
Workshop Requirements:  Participants should bring a laptop with wifi capability. VTS backend and 3D browsing require some computational power, so at least a mid-range laptop is recommended. VTS backend is linux-based so participants will be provided with OSGeo-Live bootable flash for the time of the workshop.

#19
Workshop instructor
: Giovanni Manghi

Entity: NaturalGIS LDA
Level: Intermediate
Workshop Title:  Data field collection with ODK (Open Data Kit) and its integration with QGIS Desktop/Server and PostGIS
Workshop Contents: Workshop aim is to introduce attendees to ODK (“collect” the Android application and “aggregate” the server component) as a tool for field data collection.
The tour would include show how to create forms with QGIS and with Excel and how to install the server component using PostgreSQL/PostGIS as a database backend and subsequently have the field data be analyzed/queried/published as OGC service or on the web.
Workshop Requirements: Be at will with the Client/Server architecture general concepts plus basic (Q)GIS and database knowledge.
All the software needed and the installations will be done within the frame time available for the workshop.

#20
Workshop instructor: Ioanna Kolovou, Thanos Bantis
Entity:  Space Syntax Ltd, Future Cities Catapult
Level: Intermediate
Workshop Title:  Introducing the Digital Connector
Workshop Contents: The Digital Connector (https://github.com/FutureCitiesCatapult/TomboloDigitalConnector) is an open source piece of software, which allows data specialists to efficiently connect data sets to answer city challenges. The Digital Connector can connect data sets from demographics, environmental indicators, and social services to provide a holistic picture of complex urban issues. This makes it easier for data specialists to produce models and visualisations to demonstrate correlations and trends. The software was developed within Tombolo project (http://www.tombolo.org.uk/ ), a 3 year innovation project between Future Cities Catapult and Space Syntax.
The workshop will show:
– What can the Digital Connector do?
– How to run the Digital Connector from the command line?
– How to use the Digital Connector QGIS plugin?
– How to extend the Digital Connector functionality?
The ultimate goal of the workshop will be to use the tools to create an urban model to understand how geospatial factors affect socio-economic outcomes in cities.
Workshop Requirements:  https://github.com/FutureCitiesCatapult/TomboloDigitalConnector#requirements
Experience:
– GIS
– python (optional)
– javascript (optional)

#21
Workshop instructor:  Mario Carrera
Entity:
Level: Introductory
Workshop Title: GIS applied to municipality management
Workshop Contents:  This workshop introduces participants to GIS applied to municipality management. Most of the municipalities have their geographic information in CAD format, where it’s not easy to have and manage alphanumeric information, and where technicians usually have a lot of different information in a same file, being difficult to manage it because of the file size. At this workshow we will show how to convert this type of layers to a Geographic Information System, adding more information to the new layers.
Participants will learn about how to use the main functionalities of a GIS to manage the information of a municipality, for example editing, geoprocessing, or how to connect to the information offered by many of the public administrations through web servers, among other things, using the free and open source software gvSIG Desktop.
One of the tasks of the technicians of a municipality is related to field work, and to solve this issue we will show the main functionalities of gvSIG Mobile, where the participants will learn how to take field data, creating customized forms, and exporting the information to gvSIG Desktop for a subsequent analysis.
We will also show how to connect with gvSIG Online, an integral platform for Spatial Data Infrastructures implementation.
Workshop Requirements:  It’s not necessary a high knowledge in GIS issues. The course is for user level.
Software and Cartography:
– gvSIG Desktop 2.4 Portable version: http://www.gvsig.com/en/products/gvsig-desktop/downloads
– gvSIG Mobile for Android: From Google Play Store or https://play.google.com/store/apps/details?id=org.gvsig.gvsigmobile
– Cartography: http://downloads.gvsig.org/download/events/other-conferences/Cartography_gvSIG_Workshop-FOSS4G_EU_2018.zip

#22
Workshop instructor: Oscar Martinez Olmos
Entity:  gvSIG Association
Level: Introductory
Workshop Title:  Developing new tools with gvSIG Scripting
Workshop Contents: In this workshop, we will introduce the participants into the basics to develop new plugins for gvSIG Desktop. We will explain all the parts involved, from coding to publishing. We will mainly use the Scripting Composer tool that it’s installed with any instalation of gvSIG.
At the beggining, the gvSIG Scripting module and its options will be explained. Also all the integrated tools that can help in the developing part, making the Scripting Module similar to a small IDE. Therefore, other more advanced tools will be explained like Git integration or the creator of packages.
As a example project for the workshop, a new script will be developed. Starting from cero, the general API of gvSIG will be explained and the basics to develop over it with Jython. This project will be created in a way that later could be added to the icons or geoprocess toolbox in gvSIG. It will contain two parts, the code part with the process and the interface part developed with Abeille.
At the end, we will explain how to upload this plugin to the Repository of gvSIG.
Workshop Requirements:  A Python knowlogede will be helpfull but not needed.
The only software needed will be a portable version of gvSIG 2.4. Just check in the Plugins Administrator if you had installed the package: Scripting Composer Tools.
No extra data will be needed.

#23
Workshop instructor: Joana Simoes
Entity:  GeoCat
Level: Introductory
Workshop Title:  Introduction to GeoNetwork
Workshop Contents: The workshop will focus on the first steps for the implementation of a GeoNetwork opensource based catalog to serve and access geospatial data in a Spatial Data Infrastructure.
More specifically, attendees will learn how-to create metadata using standards based templates (e.g.: ISO19115/19119), how to implement a basic workflow for metadata publication using roles, and how to configure the harvesting of spatial data resources from remote servers.
Workshop Requirements: There are no specific requirements, as users will access Geonetwork from a cloud instance, using a browser.
No specific skills are required, although some basic knowledge of metadata and OGC web services is recommended.

#24
Workshop instructor:  Jorge Sanz
Entity:  CARTO
Level: Intermediate
Workshop Title: CARTO.js loves React
Workshop Contents: This workshop will introduce attendants on developing geospatial web applications using CARTO ENGINE platform using JavaScript language and the libraries CARTO.js and Airship.
CARTO.js is our leading web mapping component that integrates with Leaflet.js and Google Maps. During the first part of this workshop we will review how to add and style layers, how to add interactivity to them as popups and other forms, and finally, we will see how to generate widgets that expose additional information.
Once understood how to create CARTO.js applications from scratch, we will take advantage of Airship, a React based components library that allows generating easily rich interfaces, perfectly integrated with CARTO.js to produce beautiful dashboards.
Workshop Requirements:  This workshop aims for professionals with some knowledge of JavaScript, HTML, and CSS. Minimal SQL knowledge is preferred but not necessary. Finally, even those with some understanding of React will take the most of this workshop; the primary objective is to understand the basics, so attendants can apply Airship approach to any other JS framework to create User Interfaces or Widgets that cooperate with CARTO.js.

#25
Workshop instructor:  Jorge Samuel Mendes de Jesus
Entity: Geocat B.V.
Level: Introductory
Workshop Title: Part I – Developing Spatial Microservices using Python
Workshop Contents: Microservices have been a game changer in the IT industry by changing system development from a pure monolithic approach into a small, task oriented development, running on the web using REST web services and enabling fast deployment and scalability using docker technologies (AGILE). This workshop will start with a brief introduction to microservices architecture, which will put into context all the work developed through the workshop.
The rest of the workshop will go through the lifecycle of application development, by using Python as development language, Flask as webframe, Swagger/openAPI for documentation and finally deployment, first using heroku platform and then docker. The workshop will be divided into 4 parts.
In the first part we will provide a brief introduction to geopython, describing how python is becoming one of the most popular languages for development and what can be done with it. This section will focus on how to program a small buffer around a point using shapely python library, and a single raster pixel query using GDAL library.
In the second part, we will learn how to integrate our development on the Flask framework. Flask is the most popular webframe (after Django?) in the Python ecosystem with extensive resources, plugins and functionalities. We will focus on explaining/implementing service routing and argument query on Flask.
In the third part we will focus on automated documentation; documentation is as important (or even more important ) than code and currently the openAPI standard (swagger) is the best choice for documentation and API testing. In this section the microservice openAPI documentation will be automatically generated using content added in the Python code (yaml descriptors)
Finally, we will show how to deploy the produced microservice into a Platform as Service like Heroku, as this is one of many possible deployment solutions. More advanced deployment with docker and docker-machine will be shown during the workshop.
Each stage of the workshop will be compose of a theoretical introduction to the topic, hands-on programming and a review of current tools/methodologies in practice. In order to take the maximum benefit out of this workshop, it is recommended to have at least some notions of programming with Python and some basic knowledge of docker. It is recommended, although not essential to have some basic knowledge of RESTful web services. Before the workshop, we will provide some reading materials/tutorials for people who would like to develop these competences.
Workshop Requirements: OsGEO CD

#26
Workshop instructor:  Jorge Samuel Mendes de Jesus
Entity: Geocat B.V.
Level: Intermediate
Workshop Title:  Workshop: Part II – REST with GeoNetwork using (micro) services
Workshop Contents:  The Geonetwork REST API exposes the catalog’s functions to clients, allowing for them to interface with it using any modern programming language. This includes querying the records in the catalog, as well as interacting with harvesters or managing users and permissions.
In this workshop, we will leverage the knowledge acquired on the first part of this workshop, by developing a Python microservice, that interacts with Geonetwork to perform one simple operation. This microservice can be used to wrap one (or more) functionality that we wish to automate, as a component of a more complex system.
We will start the workshop by introducing the Geonetwork REST API, showing how to explore the comprehensive and interactive documentation, generated by Swagger. Then we will present a simple use case, which will be solved with a microservice which takes advantage of a Geonetwork REST request.
This is an advanced workshop which requires some knowledge of microservices architecture, REST Web Services, Docker and Python Programming, provided in the first part of this workshop. It also requires some basic knowledge of Geonetwork.
Workshop Requirements:  – Attendance to the previous workshop or know in REST/Python
– OsGEO CD