insider

7 Open Source Projects You Should Know About from Esri R&D Center Portland

The Esri R&D Center in Portland, Oregon works on two main projects: developers.arcgis.com and the Esri Geotrigger Service. In our free time we also build and maintain open source tools to help us get our work done more easily.

ArcGIS for Developers

Here’s an overview of what we’ve been working on, just in time for Esri’s DevSummit. Some of these tools allow for modularity, allowing you use just the parts of the ArcGIS platform you need! We’ve been very pleased with people–both internal and external–using these tools and giving us great feedback. Thanks to everyone for your support and help!

Overview

Esri-Leaflet
A lightweight set of tools for working with ArcGIS services with Leaflet.
Esri Leaflet is a Javascript library to help developers build lightweight applications using the Leaflet Javascript mapping library. It works well with Terraformer for converting data between different geo formats If you’re familiar with Leaflet, you’ll feel right at home using this library. All of the Leaflet conventions are followed., so you can use ArcGIS services in a familiar style. One of the major benefits of using Esri Leaflet over accessing the ArcGIS map tiles directly is this library handles displaying the correct attributions depending on the visible map area. Esri Leaflet also has support for displaying retina basemaps!

Terraformer
Terraformer is a geometric toolkit for dealing with geometry, geography, formats, and building geo databases.
Terraformer Esri PDX
The Terraformer project is broken up into a series of smaller modules.

Pushlet
Pushlet provides a simple HTTP wrapper around the Apple Push Notification Service and Google Cloud Messaging Service.
If you’ve ever had the pleasure of working directly with the Apple APNS API, you know how difficult it can be to get it right. To connect to APNS, you have to configure SSL certificates to authenticate, and then it requires maintaining a persistent socket connection to the servers rather than making a new connection for each push notification.
Pushlet is a stateless wrapper around the API designed to make it easier to use, like you’d use a typical HTTP API. Pushlet uses Redis as a temporary data store to store certificates, and maintains the socket connections to the APNS service so you don’t have to worry about it. Using Pushlet to send a notification is as simple as making a POST request to the Pushlet endpoint like the following:

Rainman
Rainman is a simple JSON-based API for tracking usage info and version info of SDKs or other software in the wild. We use this internally to display data about the Esri Geotrigger Service.
Rainmain allows you to aggregate stats in a local cache inside your app for a short intervals. At some interval you decide (5-10 minutes), the batch of counts stored inside your all will be sent to this API, allowing you to display the data however you’d like! The service aggregates counts by date/group_id/client_id/key/value, storing one row for each unique combination of all 5. The stats can later be queried by date, group_id, client_id, key, or combinations of all.

Blacksmith
Blacksmith is an open source tool that provides SSH key management for Amazon Web Services. Need to manage multiple SSH Keys? Blacksmith makes it easy.

Geotrigger Editor
A visual editor for Esri’s Geotrigger Service.
The Geotrigger Editor is a browser tool for creating and editing triggers within the Geotrigger Service.

Geotrigger Editor

Features:

The Geotrigger Editor is available to anyone with an ArcGIS developer or organization account. To use it, go to the Applications page, find your application, and go to the Geotrigger Tools section of the application details page.
This tool is built for the ArcGIS for Developers site, but it can also be integrated into your product’s website and customized to fit your site’s style and the specific needs of your application.
Visit the Geotrigger Editor on GitHub to learn more about integrating it into your site and building functionality on top of it. The README file includes instructions and examples, and since it’s open source, you can open an issue to request a feature or build it yourself and submit a pull request!

Geotrigger Faker
The Geotrigger Faker is a tool for faking and debugging device location updates for applications using the Geotrigger Service. It allows you to simulate device location updates for fake or real devices. When simulating a real device’s location, that device will receive any associated push notifications when triggers fire.
This is a powerful tool for testing the Geotrigger Service as devices don’t need to be moved in the physical world to test location-based functionality.
The Geotrigger Faker is available to anyone with an ArcGIS developer or organization account. While the tool is built for the ArcGIS for Developers site, it is completely open source and can also be integrated into your product’s website and customized to fit your site’s style and the specific needs of your application.
Visit the Geotrigger Faker on GitHub to learn more about integrating it into your site and building functionality on top of it.

Esri is on Github!
Esri is also on Github! Starting in late 2012 over 530 of us at Esri have joined Github, and we now contribute to 185 public projects and even more internally. Check it out!

Esri on Github

More Open Source?

You can see more detail about some of these projects at New Esri Open Source Javascript Projects.

Next Article

The Science of Where for Sustainable Development Webinar Series

Read this article