SlideShare a Scribd company logo
GeoJSON For ArcGIS 
Server 
An ArcGIS Server Object 
Extension (SOE)
GeoJSON?
Why?
Why…
And why…
What
How 
http://localhost/arcgis/rest/services/ 
SampleWorldCities/MapServer/exts/ 
GeoJSONServer/GeoJSON 
?query=CONTINENT%3D%27Asia%27 
&layer=1 
&f=json
Where 
https://github.com/ 
geobabbler/ 
AGSOpenFormats
Who 
Bill Dollins 
GitHub: geobabbler 
Twitter: @billdollins 
e-mail: bill@zekiah.com 
Zekiah Technologies, Inc 
We are hiring developers 
www.zekiah.com/index.php?q=careers

More Related Content

PPT
Innovate with Google Maps API
PDF
HTML5 and CartoDB
PPTX
Azure location based services
KEY
Mapnik and Node.js
PPT
Place note
PPTX
2016 development track: geospatial java script… so many choices, so little t...
PPTX
Elevation API GeoBerlin 2020 Meetup
PDF
2015 GIS Day@UCSB Presentation
Innovate with Google Maps API
HTML5 and CartoDB
Azure location based services
Mapnik and Node.js
Place note
2016 development track: geospatial java script… so many choices, so little t...
Elevation API GeoBerlin 2020 Meetup
2015 GIS Day@UCSB Presentation

Recently uploaded (20)

PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Getting Started with Data Integration: FME Form 101
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
August Patch Tuesday
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
A Presentation on Artificial Intelligence
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
1 - Historical Antecedents, Social Consideration.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Assigned Numbers - 2025 - Bluetooth® Document
Getting Started with Data Integration: FME Form 101
cloud_computing_Infrastucture_as_cloud_p
A comparative analysis of optical character recognition models for extracting...
SOPHOS-XG Firewall Administrator PPT.pptx
August Patch Tuesday
Encapsulation_ Review paper, used for researhc scholars
WOOl fibre morphology and structure.pdf for textiles
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Programs and apps: productivity, graphics, security and other tools
DP Operators-handbook-extract for the Mautical Institute
Enhancing emotion recognition model for a student engagement use case through...
Web App vs Mobile App What Should You Build First.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
A Presentation on Artificial Intelligence
OMC Textile Division Presentation 2021.pptx
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Hindi spoken digit analysis for native and non-native speakers
1 - Historical Antecedents, Social Consideration.pdf
Ad
Ad

GeoJSON for ArcGIS Server

Editor's Notes

  • #2: Hi everyone, I’m here to talk about an ArcGIS Server Object Extension we developed to enable GeoJSON output from ArcGIS Server.
  • #3: Raise your hand if you are familiar with GeoJSON. If your hand isn’t up, please catch up with some whose hand is up. (During Q&A: GeoJSON is a JSON syntax for encoding geographic objects and features. It is a community-developed specification that has gained wide acceptance throughout the geospatial industry and is supported by a large number of tools. I consider it an important interoperability tool and wanted to see it supported in ArcGIS Server.)
  • #4: So why did I want to do this? Because I could. A couple of years ago, I gave a lightning talk at another Esri GeoDev meetup in which I called for Esri to bake support for GeoJSON into ArcGIS Server. Afterward, I figured I could post it to ideas.arcgis.com and wait, or I could build it. So I chose to build it.
  • #5: The truth is that, while we can control how our data is served, we usually have very little control over how it is consumed. Tools like those shown here have taken over the geospatial web and they all understand GeoJSON natively. While Esri has Leaflet extensions, for example, I can’t make a site I don’t own use them so it’s best to provide my data in a format I can be certain is supported.
  • #6: And then there’s this guy…the IT guy. It’s not as if Esri hasn’t paid attention to GeoJSON. They have tools like Koop which provide GeoJSON support to ArcGIS feature services and works pretty well. Koop is a Node application, which implies adding another application server to your IT infrastructure. That’s where this guy, with his reams of accreditation paperwork, gets in the way. It can be a lot of work to add support for a single data format. That’s where this SOE simplifies things mightily.
  • #7: As I mentioned before, this tool is simply an ArcGIS Server Object Extension, written in C# to extend a map service. It has been tested with ArcGIS Server 10.1 and 10.2. Since I originally posted the code, I’ve interacted with several organizations who have implemented it and I’m looking forward to a public-facing instance coming online soon.
  • #8: So how does it work? It extends the REST API so you just interact via HTTP GET. I’ve tried to keep the URL syntax as consistent as possible with the core REST API so you can follow your nose to get results. You can pass in attribute queries to pare down the results. You are streaming JSON-encoded vectors here so it’s best to keep performance in mind.
  • #9: The SOE is open-source under an MIT license and can be found on GitHub here. Currently, you need to download the source and build it. I am working on refactoring the GeoJSON serialization away from using a StringBuilder to serializing anonymous types using NewtonSoft JSON.NET. Once that’s complete, I’ll post a binary build as well. The GitHub page has some sample URLs also.
  • #10: I do answer questions about the SOE, though there can be a bit of a delay. Here some of the various ways to get in touch with me. My company is currently hiring software developers, so feel free to contact me about that as well.