awesome-arcgis-developers
A curated list of resources to help you with ArcGIS development, APIs, SDKs, tools, and location services
https://github.com/Esri/awesome-arcgis-developers
Last synced: 6 days ago
JSON representation
-
APIs and SDKs
- ArcGIS Maps SDK for Swift - Guides, sample codes, and API reference to build mobile apps using Swift.
- ArcGIS Maps SDK for Unreal Engine - Guides, API reference, and sample code to use ArcGIS data and services to develop for Unreal Engine.
- ArcGIS Pro SDK for Microsoft .NET - Documentation, tutorials, API reference, FAQ, etc. to extend ArcGIS Pro Desktop.
- ArcGIS REST APIs - General documentation about ArcGIS REST APIs: location services, content management, portal administration, and more.
- ArcGIS Urban API - Public GraphQL web service that can be used to interact with ArcGIS Urban data directly.
- ArcObjects SDK for .NET - Documentation about the .NET SDK for the library of Component Object Model (COM) components that make up the foundation of ArcGIS.
- ArcObjects SDK for Java - Documentation about the Java SDK for the library of Component Object Model (COM) components that make up the foundation of ArcGIS.
- ArcPy - Documentation about the python package to perform geographic data analysis, data conversion, data management, and map automation in ArcGIS Desktop or ArcGIS Enterprise environments.
- MapLibre GL JS - Guide and tutorials to help you start building web apps with MapLibre and ArcGIS location services.
- ArcGIS API for Python - Guides, sample notebooks and API reference to do mapping, spatial analysis, data science, geospatial AI and automation using Python.
- ArcGIS Earth Automation API - Guide, API reference, and samples to communicate with ArcGIS Earth.
- ArcGIS Enterprise SDK - Guides, API reference, and sample code to extend ArcGIS Enterprise.
- ArcGIS Maps SDK for Java - Guides, sample codes, and API reference to build desktop apps.
- ArcGIS Maps SDK for JavaScript - Guides, sample code, API references, and showcase to build 2D and 3D interactive web apps unlocking geospatial data.
- ArcGIS Maps SDK for Kotlin - Guides, sample codes, and API reference to build mobile apps using Kotlin.
- ArcGIS integrations with OpenLayers - Guide and tutorials to help you start building web apps with OpenLayers and ArcGIS location services.
- ArcGIS CityEngine SDKs (Python) - Python bindings for the *Procedural Runtime* (PRT) of CityEngine.
- ArcGIS REST APIs collections - Postman collections to work with some of the REST APIs: location services, hosted feature layers, ArcGIS Online, ArcGIS Hub, etc.
- ArcGIS Pro SDK for Microsoft .NET - Documentation, tutorials, API reference, FAQ, etc. to extend ArcGIS Pro Desktop.
- ArcGIS CityEngine SDKs (C++) - C++ APIs, documentation, and examples for the Procedural Runtime (PRT).
- ArcGIS Maps SDK for .NET - Guides, sample codes, and API reference to build desktop and mobile apps using .NET.
- ArcGIS Maps SDK for Qt - Guides, sample codes, and API reference to build mobile and desktop apps.
- ArcGIS Maps SDK for Unity - Guides, API reference, and sample code to use ArcGIS data and services to develop for Unity.
- ArcGIS REST JS - Key concepts, tutorials, and API reference of a collection of JavaScript modules for accessing location services, ArcGIS Online, and ArcGIS Enterprise REST APIs.
- ArcGIS integrations with Leaflet - Learn how to connect Leaflet apps with ArcGIS services using the Esri-maintained Esri Leaflet plugin and ArcGIS REST JS, including tutorials, API references, and sample code.
- Esri-gl - A community-maintained plugin that enables the use of ArcGIS services in Mapbox GL JS and MapLibre GL JS applications.
- ArcGIS Maps SDK for Flutter - Guides, sample codes, and API reference to build desktop and mobile apps using Flutter.
- ArcGIS integrations with CesiumJS - Guide and tutorials to help you start build mapping applications with CesiumJS and ArcGIS.
- ArcGIS integrations with MapLibre GL JS - Learn how to connect MapLibre GL JS apps with ArcGIS services using the Esri-maintained ArcGIS MapLibre plugin and ArcGIS REST JS, including tutorials, API references, and sample code.
-
Code samples and snippets
- ArcGIS Runtime API for Android Java samples - Esri's official ArcGIS Runtime Android product team samples for Java.
- ArcGIS Runtime API for Android Kotlin samples - Esri's official ArcGIS Runtime Android product team samples for Kotlin.
- ArcGIS Runtime API for iOS sample code - Esri's official ArcGIS Runtime iOS product team samples.
- ArcGIS Runtime API for Qt C++ sample code - Esri's official ArcGIS Runtime Qt product team samples for C++.
- ArcGIS Code Sharing - Search, browse, and use code, scripts, models, add-ins, widgets, and more.
- ArcGIS API for JavaScript Sample Code - Esri's official JavaScript API product team samples.
- ArcGIS API for Python Sample Notebooks - Esri's official Python API product team samples.
- ArcGIS Maps SDK for Unity samples - Esri's official ArcGIS Maps SDK for Unity product team samples.
- ArcGIS Maps SDK for Unreal Engine samples - Esri's official ArcGIS Maps SDK for Unreal Engine product team samples.
- ArcGIS REST JS demos - Demo apps built by Esri's REST JS maintainers.
- ArcGIS Runtime API for Java samples - Esri's official ArcGIS Runtime Java product team samples.
- ArcGIS Runtime API for .NET UWP samples - Esri's official ArcGIS Runtime .NET product team samples.
- ArcGIS Runtime API for .NET WPF samples - Esri's official ArcGIS Runtime .NET product team samples.
- arcgis-js-api-starter-apps - Collection of boilerplates to get started with the ArcGIS API for JavaScript 4.x.
- EsriDevEvents - Supplemental source code, example projects, and resources supporting Esri Developer Summits, Developer Day at Esri UC, FedGIS, #GeoDev webinars, meetups, etc.
- application-base-js - Core class for creating a configurable application using JavaScript/TypeScript.
- ArcGIS Arcade Expression Templates - Collection of reusable Arcade expressions across all supported profiles.
- Esri/arcgis-js-vscode-snippets - Collection of Visual Studio Code snippets for common code patterns for the ArcGIS API for JavaScript.
- Esri/developer-support - Community samples to help be successful with all ArcGIS developer products (Python, NET, JavaScript, Android…).
- Esri/jsapi-resources - A collection of resources for developers using the ArcGIS API for JavaScript.
- Esri/pyprt-examples - Example for PyPRT (Python Bindings for the CityEngine SDK).
- esri-loader Examples - Examples of how to use the ArcGIS API for JavaScript via esri-loader in applications built with React, Angular, Vue, and other frameworks.
- esrinederland/CoolMaps - Shows cool example maps you can use.
- esrinederland/CoolScripts - Esri Netherlands scripts and snippets for reuse.
- RalucaNicola/code-snippets-arcgis-api-js - A collection of code snippets for ArcGIS API for JavaScript.
- ArcGIS API for Python Sample Notebooks - Esri's official Python API product team samples.
-
ArcGIS location services
- ArcGIS location services Postman Workspace - Postman collections to facilitate work with many of the location services.
- Basemap styles service (v1) - Access streets, satellite, and other basemap styles for maps and scenes.
- Places service - Search for businesses and geographic locations around the world with detailed information about each place.
- Geocoding service - Search for addresses, businesses, and places around the world.
- GeoEnrichment service - Find facts and demographic information about a location or area.
- Routing service - Get turn-by-turn directions and solve advanced routing problems.
- Offline packaging service - Create and manage preplanned map areas for generating offline maps.
- Spatial analysis service - Process spatial datasets to discover relationships and patterns.
- Basemap styles service (v2) - Access multiple map styles, add places of interest, set label languages, word views, and more.
- Elevation service - Get the vertical distance (height) of a location above or below the mean sea level or ground level.
- Hydrology analysis service - Trace water flow and generate watersheds.
- Printing tools service - Generate static maps (png, jpg, pdf, etc.) from advanced web maps.
- Spatial analysis service - Process spatial datasets to discover relationships and patterns.
-
Data conversion tools
- csv2geojson - Convert points from CSV format to GeoJSON.
- Feature Service Layer - Use the `maxAllowableOffset` parameter to return generalized geometries with the `query` operation.
- Generalize method - GeometryEngine can produce a geometry with fewer vertices programatically. Several APIs supports it: JavaScript, iOS, Android, .NET, Qt and Java.
- Koop - JavaScript toolkit for connecting spatial APIs. Transform geospatial data on the fly and serve as GeoJSON, vector tiles, feature services and more.
- PostGIS ST_Simplify - This operation returns a "simplified" version of the given geometry using the Douglas-Peucker algorithm.
- arcgis-json-to-geojson - Convert layer in ArcGIS JSON spec to GeoJSON spec.
-
Data integration tools
- ArcGIS Data Interoperability Extension - Desktop tool to transform +400 data formats.
- FME Server - ETL allowing to easily transform almost any dataset into an ArcGIS compatible format and vice-versa. Support for 500+ formats and technologies.
- Integromat - iPaaS to automate repetitive tasks involved in using Survey123 and make your work easier.
- node-red-contrib-arcgis-rest - Query, delete, update or insert data with low-code programming for event-driven applications of the JS Foundation.
- Zapier for ArcGIS - iPaaS to automate integrations without writing any code.
- Tray.io - Manual, scheduled and webhook triggers to apply edits, get features, layers, etc. using Tray Platform's ArcGIS connector.
- Integromat - iPaaS to automate repetitive tasks involved in using Survey123 and make your work easier.
-
Debugging tools
- Fiddler Classic - Windows tool that logs HTTP(s) network traffic.
- GeoJSONLint - Validate and view your GeoJSON.
- json-schema.org - Vocabulary that allows you to annotate and validate JSON documents (include multiple validators).
- mapbox/geojson-vt/debug - Validate GeoJSON or TopoJSON.
- test-cors.org - App to test CORS requests. You can either send the CORS request to a remote server (to test if CORS is supported), or send the CORS request to a test server (to explore certain features of CORS).
- netbalancer.com - Windows application for local network traffic control and monitoring.
- test-cors.org - App to test CORS requests. You can either send the CORS request to a remote server (to test if CORS is supported), or send the CORS request to a test server (to explore certain features of CORS).
- Postman interceptor - Interceptor enables you to sync cookies from your browser and capture network requests directly from Chrome.
-
Design and styling
- Cartography and Making Stunning Maps - Short video showing some examples on what can be achieved using different blend modes effects.
- How to style using ArcGIS Online - Playlist with a collection of short videos showcasing some ArcGIS styling capabilities.
- Photoshop-style Graphics Effects for Your Layers and Data - Video explaining how to use blend modes as well as layer and feature effects to create unique and stunning web maps using the ArcGIS API for JavaScript 4.x.
- MapUIPatterns - Best practices & design principles. UI Patterns describe solutions to observed and recurring design problems.
- Calcite Design System - Collection of mapping icons, web components, and good practices.
- ArcGIS Vector Tile Style Editor - Style vector tile basemap layers for applications.
-
Developer guides
- Content management - Store, manage, and access private and public content.
- Data hosting - Store, manage, and access your data as data services.
- Demographics - Discover local facts and demographic information with the GeoEnrichment service.
- Maps - Display 2D maps and 3D scenes using the basemap layer service and data services.
- Offline - Display, analyze, and edit data while disconnected.
- Routing - Find routes and directions with the routing service.
- Search - Search for addresses, businesses, and places of interest (POIs) with the geocoding service.
- Security and authentication - Access services and content using API keys and OAuth 2.0.
- Visualization - Style layers to visualize data in 2D and 3D.
-
Helpers
- ArcGIS JS API Module Butler - VSCode extension for quickly adding ES import statements for the @arcgis/core package without leaving your current code context.
- epsg.io - Website to discover and transform coordinate systems from all over the world.
- bboxfinder - Simple web application to get the coordinates of a bounding box drawn on the map.
- snippets client side raster functions - The client-side raster functions are operations that apply processing directly to the source image pixels.
-
Map and data exploration
- ArcGIS Map Viewer - Web application to create, explore, and share web maps for 2D applications.
- ArcGIS Map Viewer (classic version) - Web application to create, explore, and share web maps for 2D applications.
- ArcGIS Scene Viewer - Web application to create, explore, and share web maps for 3D applications.
- Geo Data Viewer - VSCode extension for Geo Data Analytics. Support to generate and view maps.
- Smart Mapping - It is built-in in the Map and Scene viewer, but some APIs like JavaScript and Python also provide utilities to help building data explorations tools.
- VSCode Map Preview - Extension for visually previewing geospatial file content (GeoJSON, KML, etc) on a map.
-
Playgrounds
- arcgis-arcade-playground - Try the portable scripting language for creating ArcGIS custom visualizations and labeling expressions.
- js-symbol-playground 3.x - Generate symbols to work with the ArcGIS API for JavaScript 3.x.
- js-symbol-playground 4.x - Generate symbols to work with the ArcGIS API for JavaScript 4.x.
- Postman workspaces - Postman collections to experiment with location services and authentication.
-
Spatial Analysis
- ArcGIS API for JavaScript `geometryEngine` - Works for browsers and Node.js.
- ArcGIS API for Python `arcgis.geometry`
- ArcGIS Runtime API for .NET `GeometryEngine`
- ArcGIS Runtime API for Android `GeometryEngine`
- ArcGIS Runtime API for iOS `AGSGeometryEngine`
- ArcGIS Runtime API for Qt `GeometryEngine`
- Turf.js - Geospatial analysis for browsers and Node.js.
-
Specifications
- Common data types - JSON formats of the geometry and spatial reference objects as returned by ArcGIS REST API: Point, Multipoint, Polyline, Polygon and Envelope.
- Shapefile Format - Spec for the geospatial vector data format for GIS software.
- Spatial reference specifications - List of Well-Known ID (WKID) integer value or a text string definition referred to as Well-Known Text (WKT) to define a spatial reference.
- Web Map spec - Sharable 2D maps. It describes the JSON object which defines a web map.
- Web Scene spec - A JSON structure that defines the contents (viewpoint, camera, basemap layer, layers, styles, etc.) for a shareable 3D scene.
-
Starter apps and CLIs
- awesome-geojson - GeoJSON utilities: operations,editors & viewers, validation, services, conversion, etc.
- awesome-json-datasets - JSON datasets that don't require authentication about: climate, crime, goverment, NASA, travel, etc.
- awesome-public-datasets - A topic-centric list of high-quality open datasets.
- file an issue
- issue a pull request
- contributing guidelines for this repo
- previously logged issues
-
Application generators and CLIs
- @arcgis/cli - Quickly scaffold various applications for the ArcGIS API for JavaScript.
- generator-esri-appbuilder-js - Yeoman generator to help customize Esri's Web AppBuilder.
- koop-cli - Tool to scaffold Koop applications and plugins.
Programming Languages
Categories
APIs and SDKs
29
Code samples and snippets
26
ArcGIS location services
13
Developer guides
9
Debugging tools
8
Data integration tools
7
Starter apps and CLIs
7
Spatial Analysis
7
Design and styling
6
Data conversion tools
6
Map and data exploration
6
Specifications
5
Helpers
4
Playgrounds
4
Application generators and CLIs
3
Sub Categories
Keywords
arcgis
7
javascript
7
web-development
5
arcgis-js-api
4
esri
4
cityengine
3
arcgis-api
3
cga
2
geometry
2
gis
2
vuejs
2
procedural
2
python
2
python3
2
native-development
2
typescript
2
awesome
2
awesome-list
2
geojson
2
list
2
cli
2
datasets
2
mapping
2
architecture
2
api
2
3d
2
good-first-issue
1
frontend
1
arcgis-js-sdk
1
arcade
1
javascript-applications
1
data
1
dataset
1
boilerplates
1
boilerplate-application
1
boilerplate
1
geometry-processing
1
opendata
1
rest-api
1
postman-collection
1
postman
1
json
1
json-dataset
1
aaron-swartz
1
awesome-public-datasets
1
arcgis-json
1
converter
1
vue
1
alembic
1
c-plus-plus
1