Open Source Software: What and Why?

Similar documents
Implementing Web GIS Solutions

Providing Interoperability Using the Open GeoServices REST Specification

County of Los Angeles. Chief Information Office Preferred Technologies for Geographic Information Systems (GIS) Version 2 May 2015

Web Map Servers. Mark de Blois. Septembre 2016

OPEN SOURCE SOLUTIONS FOR SURVEYORS

Adopting the Appropriate GIS Web Service Technologies

Achieving Interoperability using the ArcGIS Platform. Satish Sankaran Roberto Lucchi

Achieving Interoperability Using Open Standards

Leveraging OGC Services in ArcGIS Server. Satish Sankaran, Esri Yingqi Tang, Esri

GeoNode Intro & Demo

Interoperability and Standards Supports in ArcGIS

Getting Started with the ArcGIS API for JavaScript. Julie Powell, Paul Hann

ArcGIS Online. The Road Ahead Geoff Mortson

pgrouting extends the postgis/postgresql geospatial database to provide geospatial routing and other network analysis functionality.

Extend GIS. The Reach. Of Your GIS. Chris Cappelli Nathan Bennett

Web GIS Development using Open Source Leaflet and Geoserver Toolkit

EUCOM/AFRICOM DEFENSE USER GROUP MEETING MARCH 2010 STUTTGART WELCOME!

How to become an INSPIRE node and fully exploit the investments made?

Desktop. ArcGIS Server. ArcGIS

Interoperability with ArcGIS

3D webservices - where do we stand? Emmanuel Belo

Getting Started with ArcGIS for Server. Charmel Menzel and Ken Gorton

Introduction to ArcGIS Server 10.1

The Butterfly Effect. A proposal for distribution and management for butterfly data programs. Dave Waetjen SESYNC Butterfly Workshop May 10, 2012

SDI SOLUTIONS FOR INSPIRE: TECHNOLOGIES SUPPORTING A FRAMEWORK OF COOPERATION

Visual System Implementation

Getting Started with the ArcGIS Server JavaScript API

Data Interoperability An Introduction

GIS for the People. Sustainable, Simple and Affordable GIS for Community Based Organizations

An Overview of FMW MapViewer

Using ArcGIS for Server. Javier Abadía, Esri España Peter McDaid, Esri UK

Leveraging OGC Standards on ArcGIS Server

Leveraging OGC Services in ArcGIS Server

ArcGIS Online: Managing Data. Jeremy Bartley Sentha Sivabalan

3D in the Browser with WebGL. Chris Andrews 3D Product Manager Javier Gutierrez 3D Product Engineer

Open source technologies and INSPIRE network services in Slovak environmental agency

GEOweb PROPERTY VIEWER

InCLUDE Data Exchange. Julia Harrell, GISP GIS Coordinator, NC DENR

[ ]..,ru. GeoServer Beginner's Guide. open source^ software server. Share and edit geospatial data with this open source.

SIX REASONS. You Should Use ArcGIS API 4.0 for JavaScript. By Julie Powell, Esri Product Management

What s New in ArcGIS 10.4 for Server

Richland County IT/GIS GIS Technologies

ArcGIS 9.2 Works as a Complete System

Beyond PostGIS. New developments in Open Source Spatial Databases. Karsten Vennemann. Seattle

GeoNode Integration with SDIs and Community Mapping

Interactive Web Mapping: Overview

Working with the ArcGIS Viewer for Flex Application Builder

Who are we? Randal Hale. Nathan Saylor. GIS Coordinator for Hardin Co. Owner of North River Geographic Systems. Consultant. Owner of Saylor Mapping

Leveraging OGC Services in ArcGIS Server. Satish Sankaran Yingqi Tang

An Introduction to GIS for developers

Croatian Motorways Road Database Management System

Regarding the quality attributes, the architecture of the system must be:

Developing a Free and Open Source Software based Spatial Data Infrastructure. Jeroen Ticheler

May 22, 2013 Ronald Reagan Building and International Trade Center Washington, DC USA

Lecture note on the history and principles of geo-webservices

Web Mapping Applications with ArcGIS. Bernie Szukalski Derek Law

ArcGIS for Developers: An Introduction. Moey Min Ken

Esri Developer Summit in Europe Building Applications with ArcGIS Runtime SDK for Java

Session 7.3: Special interest points in the realisation of databases

ArcGIS Hub: Open data best practices. Graham Hudgins, esri product engineer

Carmenta Server Product Description

Agenda. Introduction. Supported Formats. Creating a Custom REST Service. What s Next

Building an OpenLayers 3 map viewer with React

Using Geoprocessing Services with ArcGIS Web Mapping APIs

InCLUDE Data Exchange. Julia Harrell, GISP GIS Coordinator, NC DENR

T-rex, a vector tile server for your own data

LearnOSM. PostgreSQL & PostGIS. Installing PostgreSQL and PostGIS. Reviewed

Developing Cross-Platform Native Apps with AppStudio for ArcGIS. Jo Fraley Erwin Soekianto

ADDING GEOSPATIAL FEATURES TO A JAVA WEB APP CODEONE 2018

Advanced Standard Basic Notes

BROWSER. LuciadRIA DATA SHEET

ArcGIS App Strategies Ben

Accessing OGC Services To access OGC WMS and WFS open the service in the directory that you want to consume, and click on either WMS or WFS.

Building Applications with the ArcGIS Runtime SDK for WPF

Caching Tile Cache Creation & Management

Managing Image Data on the ArcGIS Platform Options and Recommended Approaches

RadiantBlue Technologies, Inc. Page 1

Open Source Software Solutions

DATA SHARING AND DISCOVERY WITH ARCGIS SERVER GEOPORTAL EXTENSION. Clive Reece, Ph.D. ESRI Geoportal/SDI Solutions Team

Dynamic Situational Awareness. Through Developer Applications

SEXTANT 1. Purpose of the Application

Understanding and Using Metadata in ArcGIS. Adam Martin Marten Hogeweg Aleta Vienneau

FDO Data Access Technology at a Glance

Cisco Spark Widgets Technical drill down

Experiences with. data for use in apps

GIS Data Preparation and Conversion for the Web

Scientific and Multidimensional Raster Support in ArcGIS

SDI Tecnological Components and Standards

By Robert Slivinsky 1

QGIS Plugins FOSS4G From Must-Haves to insider Sourcepole AG, Switzerland

Integrated Map Tool. Overview, Current Status, and Things to Come

ESRI Software Evolution

TANK INFORMATION SYSTEM (TIS): A CASE STUDY IN MIGRATING WEB MAPPING APPLICATION FROM FLEX TO DOJO FOR ARCGIS SERVER AND THEN TO OPEN SOURCE

Features and Benefits

What is coming in. ArcGIS Server 10. Ismael Chivite ArcGIS Server Product Manager James Cardona Technical Marketing

Web AppBuilder Presented by

What s New in ArcGIS Server 10

Esri and MarkLogic: Location Analytics, Multi-Model Data

Implementing Security for ArcGIS Server Java Solutions

Oracle Spatial Users Conference

Transcription:

ESRI and Open Source A Love Story Presented by Bates Rambow Open Source Software: What and Why? What Software that has its source code published for anyone to inspect the source code. Generally released under a license that allows anyone to inspect, modify, and distribute the software. FOSS: Free Open Source Software. Free as in speech, not as in beer. Why Lower cost Friendly licensing terms Control Crowdsourced development/bug fixes Innovation Sustainability 1

What is Open Source GIS? There are a wide variety of free open source software for GIS (FOSS4G). Some popular ones include: QGIS: Cross Platform (!) Desktop GIS software GDAL & OGR: library with large selection of geospatial algorithms. Command line/programmatic execution. Proj4: projections library PostGIS: geospatial extension for PostgreSQL - an open source relational database management system similar to SQL Server. Geoserver: geospatial data server OpenLayers and Leaflet: web mapping JavaScript libraries Many more! How Did We Get Here? Application Application Application Spatial Middleware Proprietary APIs Map Server Open APIs Filesystem RDBMS Spatial Database Standalone Middleware Internet 2

How Did We Get Here? 1980 1990 2000 2005 2010 2015 Much more to come! Should I Use Open Source GIS? Yes! You probably already are, even if you don t know it. Example 1: GDAL is used for some raster operations in ArcGIS Example 2: Web AppBuilder Widgets are open source Broader Skillset Do you know GIS or do you know ESRI software? Ability to fix bugs yourself or add functionality that you want 3

Can Open Source GIS Replace ESRI? Yes and no. It depends on your goals. CartoLab uses both on a regular basis. If you have a highly specialized workflow that depends on integration with other systems (e.g. AutoCAD, hydrologic models like InfoSWMM, asset management software like CityWorks) then Esri is almost certainly a better choice for Desktop GIS. If you do not have highly specialized workflows that require 3 rd party software, or you are competent at developing and extending software yourself, then you may find that you can do what you need with FOSS4G software. Open Source or ESRI? One area where open source GIS software really shines is web application development. Reasons: Easier APIs (opinion). In my experience, OL, Leaflet, and Mapbox have easier APIs for developers to understand and work with than Google Maps and ArcGIS JS. More mature. OpenLayers, the first open source web mapping JS API, was released 2 years before the first ArcGIS JS API. At the same time, ESRI released two additional web mapping APIs - Flex and Silverlight, meaning development and support of web APIs were fragmented. ESRI ended the lifecycle of the Flex and Silverlight APIs in 2016. Better licensing. Almost all web mapping platforms offer some sort of free tier when creating maps and apps for public use. The catch almost always comes when you want to build an application that has restricted access. At that point, a lot of platforms start charging fees. Esri has one of the most cost-prohibitive fee structures for building commercial applications that restrict access to the maps and data servers. A stack like PostGIS, GeoServer, and OpenLayers is free, even for commercial use. 4

It s Not a Fight! ESRI and FOSS4G offerings all have their own strengths and weaknesses. It s not about which is better It s about what tools are right for the job More important: can you move data and content between systems. INTEROPERABILITY Things that ESRI offers: Many of the ESRI APIs and SDKs are open source Liberal licensing that allows use of ESRI service with open source mapping libraries like Openlayers and Leaflet ESRI s Open Vision Open Standards member of OGC Esri software supports open formats and protocols like WMS, WFS Data Interoperability Maps for AutoCAD Maps for MS Office Open Data ArcGIS Hub ArcGIS Data Editor for OSM Open APIs and Specs ArcGIS REST API File Geodatabase API Shapefile Open Source over 300 open source projects on Github https://esri.github.io/ https://www.esri.com/en-us/arcgis/open-vision/overview 5

ArcGIS Online Assistant https://ago-assistant.esri.com/ ESRI Loader A tiny library to help load modules from either the 4.x or 3.x versions of the ArcGIS API for JavaScript in non-dojo applications. Build UI with modern frameworks like React, Vue, Angular, etc. Improve initial load performance, especially on mobile Use the ArcGIS API in isomorphic/universal (server-rendered) applications https://github.com/esri/esri-loader 6

ESRI Leaflet Lightweight set of tools for using ArcGIS Services with LeafletJS LeafletJS very popular among web developers for simple, easy to use API Not as full featured as ArcGIS JS API https://esri.github.io/esri-leaflet/ KoopJS Open Source Geospatial ETL (Extract Transform Load) Built with Javascript Converts variety of sources to GeoJSON, CSV, KML, Shapefile, & ArcGIS Feature Services Existing provider plugins for sources like Google Sheets, Github, ACS, Zillow, etc. http://koop.dc.esri.com/ https://koopjs.github.io/ 7

KoopJS An experiment with Koop: An ArcGIS Feature Server backed by PostGIS, without ArcGIS Enterprise https://github.com/brambow/koopprovider-postgis Terraformer Set of tools for working with geodata on the web Core: Geojson geometry tools GeoStores: create indexed, queryable GeoJSON data stores for browser or Node.js backend ArcGIS Parser WKT Parser 8

ESRI REST API ESRI s licensing allows developers with a paid plans to use ESRI REST Services in applications built with tools like OpenLayers and Leaflet. Can take advantage of ESRI tools without building apps using the ESRI frameworks. Open source JS wrapper library available for ease of integration into JS projects https://developers.arcgis.com/rest/ Terraformer + REST API Example Use Case: Web mapping application built with OpenLayers, needs ability to generate service areas dynamically. //proxy api for ESRI Drive Time service app.get('/drive-times', (req, res) => { var facilities = req.query.location; var defaultbreaks = req.query.time; //get the client token request.post( { url: 'https://www.arcgis.com/sharing/rest/oauth2/token/', json: true, form: { f: 'json', client_id: Your id goes here', client_secret: Your ArcGIS Developer account secret goes here', grant_type: 'client_credentials' } }, function(error, response, body) { if (error) { console.log(error); } else { var token = body.access_token; var url = `http://route.arcgis.com/arcgis/rest/services/world/serviceareas/naserver/servicearea_world/solveservicearea?token=${token}&facilities=${faciliti es}&defaultbreaks=${defaultbreaks}&traveldirection=esrinatraveldirectiontofacility&f=json`; Uses the ArcGIS REST API endpoint for Service Areas, which returns geometries in the EsriJSON (aka ArcGIS JSON) format. axios.get(url).then(function(response) { var responsefeatures = response.data.sapolygons.features; if (responsefeatures.length > 0) { var esrijson = responsefeatures[0]; var geojson = terraformerarcgis.parse(esrijson); //Terraformer used right here res.json(geojson); } else { console.log('no data returned!'); Example of using Terraformer in a NodeJS API to convert EsriJSON to GeoJSON, which is readable by OpenLayers. ); } } }); } console.log(response.data.sapolygons.features[0]); 9

Thank You! Bates Rambow bates@cartolab.com www.cartolab.com 10