├── .gitattributes ├── esri-logo.png ├── .github └── workflows │ ├── lint.yml │ └── link-check.yml ├── lychee.toml ├── arcgis-platform-logo.svg ├── package.json ├── CONTRIBUTING.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | readme.md merge=union 3 | -------------------------------------------------------------------------------- /esri-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Esri/awesome-arcgis-developers/HEAD/esri-logo.png -------------------------------------------------------------------------------- /.github/workflows/lint.yml: -------------------------------------------------------------------------------- 1 | name: Awesome Lint 2 | on: 3 | push: 4 | branches: [main] 5 | pull_request: 6 | branches: [main] 7 | jobs: 8 | lint: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v4 12 | with: 13 | fetch-depth: 0 14 | - run: npx awesome-lint 15 | -------------------------------------------------------------------------------- /.github/workflows/link-check.yml: -------------------------------------------------------------------------------- 1 | name: Check links 2 | on: 3 | push: 4 | branches: [main] 5 | pull_request: 6 | branches: [main] 7 | jobs: 8 | link_checker: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v4 12 | 13 | - name: Link Checker 14 | id: lychee 15 | uses: lycheeverse/lychee-action@v2 16 | with: 17 | args: >- 18 | --config lychee.toml 19 | --no-progress 20 | --verbose 21 | README.md 22 | 23 | 24 | -------------------------------------------------------------------------------- /lychee.toml: -------------------------------------------------------------------------------- 1 | # lychee.toml 2 | verbose = "info" 3 | 4 | # Requests 5 | method = "get" # some sites 403 on HEAD 6 | user_agent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120 Safari/537.36" 7 | header = { "accept" = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" } 8 | 9 | # Retries and timeouts (optional hardening) 10 | max_retries = 2 11 | retry_wait_time = 2 12 | timeout = 20 13 | 14 | # Don’t change accepted codes globally; keep 2xx (+ optional 429) 15 | accept = ["200", "204", "206", "429"] 16 | 17 | # If Make.com still blocks CI IPs, exclude just that URL as a last resort: 18 | exclude = ['^https://www\.make\.com/en/integrations/survey123$'] -------------------------------------------------------------------------------- /arcgis-platform-logo.svg: -------------------------------------------------------------------------------- 1 | arcgis-platform-glyph-32 -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "awesome-arcgis-developer", 3 | "version": "1.0.0", 4 | "description": "An awesome set of resources to help you with ArcGIS Platform development, APIs, SDKs, tools, and location services.", 5 | "main": "index.js", 6 | "dependencies": {}, 7 | "devDependencies": { 8 | "awesome-lint": "^2.2.0", 9 | "doctoc": "^2.1.0" 10 | }, 11 | "scripts": { 12 | "lint": "awesome-lint README.md", 13 | "remote-lint": "awesome-lint https://github.com/Esri/awesome-arcgis-developer", 14 | "toc": "doctoc README.md" 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git+https://github.com/Esri/awesome-arcgis-developer.git" 19 | }, 20 | "keywords": [], 21 | "author": "Raul Jimenez ", 22 | "license": "Apache-2.0", 23 | "bugs": { 24 | "url": "https://github.com/Esri/awesome-arcgis-developer/issues" 25 | }, 26 | "homepage": "https://github.com/Esri/awesome-arcgis-developer#readme" 27 | } 28 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing guidelines 2 | 3 | These are the rules that applies to new pull requests: 4 | 5 | - Use the following format: `[Item Name](link) - A short description ends with a period (Keep descriptions concise).`. 6 | - Link additions should be added in alphabetical order of the relevant category. 7 | - Should only have one level of nested lists. 8 | - Don't add more than one link per line. 9 | - Make an individual pull request for each suggestion. 10 | - New categories or naming improvements to the existing categorization are welcome. 11 | - Third-party tools/resources that can be combined or complements the ArcGIS Platform are welcome, they just need to have an open source or freemium version. 12 | 13 | Keep in mind that this repository is mainly targeted to developers new to [ArcGIS Location Platform](https://location.arcgis.com) with no geographic information systems background. Because of this, we are not including advance tools like Desktop applications that requires a GIS background. 14 | 15 | ## Before submitting your PR 16 | 17 | Run: `npm run lint` to verify you the styling rules are met. 18 | 19 | ## Check broken links (optional) 20 | 21 | Run `npx markdown-link-check README.md` to ensure no other link is broken, if it is, please [open an issue](https://github.com/Esri/awesome-arcgis-developers/issues/new). 22 | 23 | ## Update toc 24 | 25 | Run: `npm run toc` to update the table of contents. -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | **/*.xcf 9 | 10 | # Runtime data 11 | pids 12 | *.pid 13 | *.seed 14 | *.pid.lock 15 | 16 | # Directory for instrumented libs generated by jscoverage/JSCover 17 | lib-cov 18 | 19 | # Coverage directory used by tools like istanbul 20 | coverage 21 | 22 | # nyc test coverage 23 | .nyc_output 24 | 25 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 26 | .grunt 27 | 28 | # Bower dependency directory (https://bower.io/) 29 | bower_components 30 | 31 | # node-waf configuration 32 | .lock-wscript 33 | 34 | # Compiled binary addons (http://nodejs.org/api/addons.html) 35 | build/Release 36 | 37 | # Dependency directories 38 | node_modules/ 39 | jspm_packages/ 40 | 41 | # Typescript v1 declaration files 42 | typings/ 43 | 44 | # Optional npm cache directory 45 | .npm 46 | 47 | # Optional eslint cache 48 | .eslintcache 49 | 50 | # Optional REPL history 51 | .node_repl_history 52 | 53 | # Output of 'npm pack' 54 | *.tgz 55 | 56 | # dotenv environment variables file 57 | .env 58 | 59 | # gatsby files 60 | .cache/ 61 | public 62 | 63 | # Mac files 64 | .DS_Store 65 | 66 | # Yarn 67 | yarn-error.log 68 | .pnp/ 69 | .pnp.js 70 | # Yarn Integrity file 71 | .yarn-integrity 72 | 73 | # Ignore the typescript graphql types 74 | graphql-types.ts 75 | 76 | # Ignore PyCharm/IntelliJ project folder(s) 77 | .idea 78 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | v1.0.0, February 2019 4 | 5 | > Adapted from Esri's [Conference and Community Spaces Code of Conduct](https://www.esri.com/en-us/about/events/code-of-conduct) 6 | 7 | ## Purpose 8 | 9 | At Esri, we believe geography can make the world a better place. In adopting this Community Code of Conduct, we as Esri employees are committed to fostering a welcoming environment for collaboration, creativity, and the free exchange of ideas for developing, maintaining, and using open source GIS software. We aim to empower all participants to actively engage and help build a friendly and safe Esri open source developer community. 10 | 11 | Whether publicly or privately, and whether in-person or online, we expect all members of this community to interact both professionally and without harassment toward others, regardless of race, color, creed, gender, gender identity, religion, marital status, domestic partner status, genetic information, age, national origin or ancestry, military or veteran status, sexual orientation, or either physical or mental disability. 12 | 13 | ## Expectations 14 | 15 | Behavior we encourage: 16 | 17 | - Share your ideas, but also listen to others 18 | - Be professional, kind, and considerate in technical discussions and disagreements 19 | - Respect personal boundaries and preferences 20 | - Respect all project contributors and maintainers 21 | 22 | Inappropriate/unacceptable behavior is anything hurtful that interferes with other people’s experience and participation in our community. This includes: 23 | 24 | - Harassment, aggression, and intimidation 25 | - Slurs 26 | - Derogatory jokes and statements 27 | - Foul or obscene language 28 | - Stalking 29 | - Sharing graphic or derogatory pictures, drawings, or cartoons 30 | - _Ad hominem_ or personal attacks and insults 31 | - Unwanted or offensive letters or poems 32 | - Offensive email, voicemail messages, or social media postings 33 | - Personal threats 34 | 35 | ## Reporting 36 | 37 | Repository maintainers reserve the right to remove offensive content. To report inappropriate behavior, you can also contact [events@esri.com](mailto:events@esri.com). 38 | 39 | ## Consequences 40 | 41 | Violations of this Code of Conduct may result in: 42 | * Disqualification from Esri Events and Conferences 43 | * Being blocked from Esri's [GitHub Organization](https://help.github.com/articles/blocking-a-user-from-your-organization/) 44 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | CC0 1.0 Universal 2 | 3 | Statement of Purpose 4 | 5 | The laws of most jurisdictions throughout the world automatically confer exclusive Copyright and Related Rights (defined below) upon the creator and subsequent owner(s) (each and all, an "owner") of an original work of authorship and/or a database (each, a "Work"). 6 | 7 | Certain owners wish to permanently relinquish those rights to a Work for the purpose of contributing to a commons of creative, cultural and scientific works ("Commons") that the public can reliably and without fear of later claims of infringement build upon, modify, incorporate in other works, reuse and redistribute as freely as possible in any form whatsoever and for any purposes, including without limitation commercial purposes. These owners may contribute to the Commons to promote the ideal of a free culture and the further production of creative, cultural and scientific works, or to gain reputation or greater distribution for their Work in part through the use and efforts of others. 8 | 9 | For these and/or other purposes and motivations, and without any expectation of additional consideration or compensation, the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright and Related Rights in the Work, voluntarily elects to apply CC0 to the Work and publicly distribute the Work under its terms, with knowledge of his or her Copyright and Related Rights in the Work and the meaning and intended legal effect of CC0 on those rights. 10 | 11 | Copyright and Related Rights. A Work made available under CC0 may be protected by copyright and related or neighboring rights ("Copyright and Related Rights"). Copyright and Related Rights include, but are not limited to, the following: 12 | i. the right to reproduce, adapt, distribute, perform, display, communicate, and translate a Work; 13 | 14 | ii. moral rights retained by the original author(s) and/or performer(s); 15 | 16 | iii. publicity and privacy rights pertaining to a person's image or likeness depicted in a Work; 17 | 18 | iv. rights protecting against unfair competition in regards to a Work, subject to the limitations in paragraph 4(a), below; 19 | 20 | v. rights protecting the extraction, dissemination, use and reuse of data in a Work; 21 | 22 | vi. database rights (such as those arising under Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, and under any national implementation thereof, including any amended or successor version of such directive); and 23 | 24 | vii. other similar, equivalent or corresponding rights throughout the world based on applicable law or treaty, and any national implementations thereof. 25 | 26 | Waiver. To the greatest extent permitted by, but not in contravention of, applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and unconditionally waives, abandons, and surrenders all of Affirmer's Copyright and Related Rights and associated claims and causes of action, whether now known or unknown (including existing as well as future claims and causes of action), in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each member of the public at large and to the detriment of Affirmer's heirs and successors, fully intending that such Waiver shall not be subject to revocation, rescission, cancellation, termination, or any other legal or equitable action to disrupt the quiet enjoyment of the Work by the public as contemplated by Affirmer's express Statement of Purpose. 27 | 28 | Public License Fallback. Should any part of the Waiver for any reason be judged legally invalid or ineffective under applicable law, then the Waiver shall be preserved to the maximum extent permitted taking into account Affirmer's express Statement of Purpose. In addition, to the extent the Waiver is so judged Affirmer hereby grants to each affected person a royalty-free, non transferable, non sublicensable, non exclusive, irrevocable and unconditional license to exercise Affirmer's Copyright and Related Rights in the Work (i) in all territories worldwide, (ii) for the maximum duration provided by applicable law or treaty (including future time extensions), (iii) in any current or future medium and for any number of copies, and (iv) for any purpose whatsoever, including without limitation commercial, advertising or promotional purposes (the "License"). The License shall be deemed effective as of the date CC0 was applied by Affirmer to the Work. Should any part of the License for any reason be judged legally invalid or ineffective under applicable law, such partial invalidity or ineffectiveness shall not invalidate the remainder of the License, and in such case Affirmer hereby affirms that he or she will not (i) exercise any of his or her remaining Copyright and Related Rights in the Work or (ii) assert any associated claims and causes of action with respect to the Work, in either case contrary to Affirmer's express Statement of Purpose. 29 | 30 | Limitations and Disclaimers. 31 | 32 | a. No trademark or patent rights held by Affirmer are waived, abandoned, surrendered, licensed or otherwise affected by this document. 33 | 34 | b. Affirmer offers the Work as-is and makes no representations or warranties of any kind concerning the Work, express, implied, statutory or otherwise, including without limitation warranties of title, merchantability, fitness for a particular purpose, non infringement, or the absence of latent or other defects, accuracy, or the present or absence of errors, whether or not discoverable, all to the greatest extent permissible under applicable law. 35 | 36 | c. Affirmer disclaims responsibility for clearing rights of other persons that may apply to the Work or any use thereof, including without limitation any person's Copyright and Related Rights in the Work. Further, Affirmer disclaims responsibility for obtaining any necessary consents, permissions or other rights required for any use of the Work. 37 | 38 | d. Affirmer understands and acknowledges that Creative Commons is not a party to this document and has no duty or obligation with respect to this CC0 or use of the Work. 39 | 40 | For more information, please see https://creativecommons.org/publicdomain/zero/1.0 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | # Awesome ArcGIS Developers [![Awesome](https://awesome.re/badge.svg)](https://awesome.re) 3 | 4 | 5 | 6 | 7 | > An awesome set of resources to help you [develop with ArcGIS Products](https://www.esri.com/en-us/arcgis/products/develop-with-arcgis/overview). 8 | 9 | ArcGIS products give you access to APIs, location services, and tools to develop your own mapping and spatial analysis applications. Use mapping products to help developers build web, native, offline, desktop, or integrated solutions for yourself, your organization, or other organizations. Access a full suite of location services to provide basemap layers, geocoding and routing capabilities, and other geospatial functionalities. Securely host and manage your data in the ArcGIS cloud. 10 | 11 | --- 12 | 13 | ## Contents 14 | 15 | 16 | 17 | 18 | - [APIs and SDKs](#apis-and-sdks) 19 | - [Application generators and CLIs](#application-generators-and-clis) 20 | - [ArcGIS location services](#arcgis-location-services) 21 | - [Code samples and snippets](#code-samples-and-snippets) 22 | - [Data conversion tools](#data-conversion-tools) 23 | - [Data integration tools](#data-integration-tools) 24 | - [Debugging tools](#debugging-tools) 25 | - [Design and styling](#design-and-styling) 26 | - [Developer guides](#developer-guides) 27 | - [Helpers](#helpers) 28 | - [Map and data exploration](#map-and-data-exploration) 29 | - [Playgrounds](#playgrounds) 30 | - [Spatial Analysis](#spatial-analysis) 31 | - [Specifications](#specifications) 32 | 33 | 34 | 35 | --- 36 | 37 | ## APIs and SDKs 38 | 39 | - ArcGIS Core APIs & Libraries: 40 | - [ArcGIS API for Python](https://developers.arcgis.com/python/) - Guides, sample notebooks, and API reference to do mapping, spatial analysis, data science, geospatial AI, and automation using Python. 41 | - [ArcGIS REST APIs](https://developers.arcgis.com/rest/) - General documentation about ArcGIS REST APIs: location services, content management, portal administration, and more. 42 | - [ArcGIS REST APIs collections](https://github.com/esri-es/ArcGIS-REST-API) - Postman collections to work with some of the REST APIs: location services, hosted feature layers, ArcGIS Online, ArcGIS Hub, etc. 43 | - [ArcGIS REST JS](https://developers.arcgis.com/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. 44 | - [ArcGIS Urban API](https://developers.arcgis.com/arcgis-urban-api/) - Public GraphQL web service that can be used to interact with ArcGIS Urban data directly. 45 | - [ArcPy](https://pro.arcgis.com/en/pro-app/arcpy/main/arcgis-pro-arcpy-reference.htm) - Documentation about the Python package to perform geographic data analysis, data conversion, data management, and map automation in ArcGIS Desktop or ArcGIS Enterprise environments. 46 | 47 | - Esri Client-side SDKs: 48 | - [ArcGIS Maps SDK for .NET](https://developers.arcgis.com/net/) - Guides, sample codes, and API reference to build desktop and mobile apps using .NET. 49 | - [ArcGIS Maps SDK for Flutter](https://developers.arcgis.com/flutter/) - Guides, sample codes, and API reference to build desktop and mobile apps using Flutter. 50 | - [ArcGIS Maps SDK for JavaScript](https://developers.arcgis.com/javascript/latest/) - Guides, sample code, API references, and showcase to build 2D and 3D interactive web apps unlocking geospatial data. 51 | - [ArcGIS Maps SDK for Kotlin](https://developers.arcgis.com/kotlin/) - Guides, sample codes, and API reference to build mobile apps using Kotlin. 52 | - [ArcGIS Maps SDK for Qt](https://developers.arcgis.com/qt/) - Guides, sample codes, and API reference to build mobile and desktop apps. 53 | - [ArcGIS Maps SDK for Swift](https://developers.arcgis.com/swift/) - Guides, sample codes, and API reference to build mobile apps using Swift. 54 | - [ArcGIS Maps SDK for Unity](https://developers.arcgis.com/unity/) - Guides, API reference, and sample code to use ArcGIS data and services to develop for Unity. 55 | - [ArcGIS Maps SDK for Unreal Engine](https://developers.arcgis.com/unreal-engine/) - Guides, API reference, and sample code to use ArcGIS data and services to develop for Unreal Engine. 56 | 57 | - Integrations & Plugins (third-party libraries): 58 | - [ArcGIS integrations with CesiumJS](https://developers.arcgis.com/cesiumjs/) - Guide and tutorials to help you start build mapping applications with CesiumJS and ArcGIS. 59 | - [ArcGIS integrations with MapLibre GL JS](https://developers.arcgis.com/maplibre-gl-js/maplibre-arcgis-plugin/) - 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. 60 | - [ArcGIS integrations with OpenLayers](https://developers.arcgis.com/openlayers/) - Guide and tutorials to help you start building web apps with OpenLayers and ArcGIS location services. 61 | - [ArcGIS integrations with Leaflet](https://developers.arcgis.com/esri-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. 62 | - [Esri-gl](https://github.com/muimsd/esri-gl) - A community-maintained plugin that enables the use of ArcGIS services in Mapbox GL JS and MapLibre GL JS applications. 63 | 64 | - SDKs for Extending ArcGIS Products: 65 | - [ArcGIS CityEngine SDKs (C++)](https://github.com/esri/cityengine-sdk) - C++ APIs, documentation, and examples for the Procedural Runtime (PRT). 66 | - [ArcGIS CityEngine SDKs (Python)](https://github.com/Esri/pyprt) - Python bindings for the *Procedural Runtime* (PRT) of CityEngine. 67 | - [ArcGIS Earth Automation API](https://doc.arcgis.com/en/arcgis-earth/automation-api/get-started.htm) - Guide, API reference, and samples to communicate with ArcGIS Earth. 68 | - [ArcGIS Enterprise SDK](https://developers.arcgis.com/enterprise-sdk/) - Guides, API reference, and sample code to extend ArcGIS Enterprise. 69 | - [ArcGIS Pro SDK for Microsoft .NET](https://pro.arcgis.com/en/pro-app/latest/sdk/) - Documentation, tutorials, API reference, FAQ, etc. to extend ArcGIS Pro Desktop. 70 | 71 | - Legacy SDKs: 72 | - [ArcGIS Maps SDK for Java](https://developers.arcgis.com/java/) - Guides, sample codes, and API reference to build desktop apps. 73 | - [ArcObjects SDK for .NET](https://desktop.arcgis.com/en/arcobjects/latest/net/webframe.htm#RoadmapToExtendingArcObjects.htm) - Documentation about the .NET SDK for the library of Component Object Model (COM) components that make up the foundation of ArcGIS. 74 | - [ArcObjects SDK for Java](https://desktop.arcgis.com/en/arcobjects/latest/java/#80146cac-6b50-4c82-a9f5-7a5be3406c5b.htm) - Documentation about the Java SDK for the library of Component Object Model (COM) components that make up the foundation of ArcGIS. 75 | 76 | ## Application generators and CLIs 77 | 78 | - [@arcgis/cli](https://github.com/Esri/arcgis-js-cli) - Quickly scaffold various applications for the ArcGIS API for JavaScript. 79 | - [generator-esri-appbuilder-js](https://github.com/Esri/generator-esri-appbuilder-js) - Yeoman generator to help customize Esri's Web AppBuilder. 80 | - [koop-cli](https://github.com/koopjs/koop-cli) - Tool to scaffold Koop applications and plugins. 81 | 82 | ## ArcGIS location services 83 | 84 | - [ArcGIS location services Postman Workspace](https://www.postman.com/esridevs/workspace/arcgis-location-services) - Postman collections to facilitate work with many of the location services. 85 | - [Basemap styles service (v1)](https://developers.arcgis.com/documentation/mapping-apis-and-services/maps/services/basemap-layer-service/) - Access streets, satellite, and other basemap styles for maps and scenes. 86 | - [Basemap styles service (v2)](https://developers.arcgis.com/rest/basemap-styles/) - Access multiple map styles, add places of interest, set label languages, word views, and more. 87 | - [Places service](https://developers.arcgis.com/rest/places/) - Search for businesses and geographic locations around the world with detailed information about each place. 88 | - [Elevation service](https://developers.arcgis.com/documentation/mapping-and-location-services/elevation/) - Get the vertical distance (height) of a location above or below the mean sea level or ground level. 89 | - [Hydrology analysis service](https://developers.arcgis.com/rest/elevation-analysis/hydrology-analysis-service/) - Trace water flow and generate watersheds. 90 | - [Geocoding service](https://developers.arcgis.com/documentation/mapping-apis-and-services/search/services/geocoding-service/) - Search for addresses, businesses, and places around the world. 91 | - [GeoEnrichment service](https://developers.arcgis.com/documentation/mapping-apis-and-services/demographics/services/geoenrichment-service/) - Find facts and demographic information about a location or area. 92 | - [Routing service](https://developers.arcgis.com/documentation/mapping-apis-and-services/routing/services/routing-service/) - Get turn-by-turn directions and solve advanced routing problems. 93 | - [Printing tools service](https://developers.arcgis.com/rest/services-reference/enterprise/export-web-map-task.htm) - Generate static maps (png, jpg, pdf, etc.) from advanced web maps. 94 | 95 | - [Spatial analysis service](https://developers.arcgis.com/rest/analysis/) - Process spatial datasets to discover relationships and patterns. 96 | - [Offline packaging service](https://developers.arcgis.com/rest/packaging/api-reference/create-map-area.htm) - Create and manage preplanned map areas for generating offline maps. 97 | 98 | ## Code samples and snippets 99 | 100 | - [ArcGIS Code Sharing](http://codesharing.arcgis.com/) - Search, browse, and use code, scripts, models, add-ins, widgets, and more. 101 | - [Esri/developer-support](https://github.com/Esri/developer-support) - Community samples to help be successful with all ArcGIS developer products (Python, .NET, JavaScript, Android…). 102 | - [esrinederland/CoolScripts](https://github.com/esrinederland/CoolScripts) - Esri Netherlands scripts and snippets for reuse. 103 | - .NET: 104 | - [ArcGIS Maps SDK for .NET MAUI samples](https://developers.arcgis.com/net/maui/sample-code/) - Esri's official ArcGIS Maps SDK MAUI product team samples. 105 | - [ArcGIS Maps SDK for .NET UWP samples](https://developers.arcgis.com/net/uwp/sample-code/) - Esri's official ArcGIS Maps SDK for .NET product team samples. 106 | - [ArcGIS Maps SDK for .NET WinUI samples](https://developers.arcgis.com/net/winui/sample-code/) - Esri's official ArcGIS Maps SDK for .NET product team samples. 107 | - [ArcGIS Maps SDK for .NET WPF samples](https://developers.arcgis.com/net/wpf/sample-code/) - Esri's official ArcGIS Maps SDK for .NET product team samples. 108 | - Android: 109 | - [ArcGIS Maps SDK for Kotlin samples](https://developers.arcgis.com/kotlin/sample-code/) - Esri's official ArcGIS Maps SDK for Kotlin product team samples for Kotlin. 110 | - Arcade: 111 | - [ArcGIS Arcade Expression Templates](https://github.com/Esri/arcade-expressions) - Collection of reusable Arcade expressions across all supported profiles. 112 | - iOS: 113 | - [ArcGIS Maps SDK for iOS sample code](https://developers.arcgis.com/ios/swift/sample-code/) - Esri's official ArcGIS Maps SDK for iOS product team samples. 114 | - JavaScript: 115 | - [ArcGIS API for JavaScript Sample Code](https://developers.arcgis.com/javascript/latest/sample-code/) - Esri's official JavaScript API product team samples. 116 | - [ArcGIS REST JS demos](https://github.com/Esri/arcgis-rest-js/tree/master/demos) - Demo apps built by Esri's REST JS maintainers. 117 | - [arcgis-js-api-starter-apps](https://github.com/hhkaos/arcgis-js-api-starter-apps) - Collection of boilerplates to get started with the ArcGIS API for JavaScript 4.x. 118 | - [Esri/arcgis-js-vscode-snippets](https://github.com/Esri/arcgis-js-vscode-snippets) - Collection of Visual Studio Code snippets for common code patterns for the ArcGIS API for JavaScript. 119 | - [Esri/jsapi-resources](https://github.com/Esri/jsapi-resources) - A collection of resources for developers using the ArcGIS API for JavaScript. 120 | - [RalucaNicola/code-snippets-arcgis-api-js](https://github.com/RalucaNicola/code-snippets-arcgis-api-js) - A collection of code snippets for ArcGIS API for JavaScript. 121 | - Python: 122 | - [ArcGIS API for Python Sample Notebooks](https://developers.arcgis.com/python/sample-notebooks/) - Esri's official Python API product team samples. 123 | - [esrinederland/CoolMaps](https://github.com/esrinederland/CoolMaps) - Shows cool example maps you can use. 124 | - Qt: 125 | - [ArcGIS Maps SDK for Qt C++ sample code](https://developers.arcgis.com/qt/cpp/sample-code/) - Esri's official ArcGIS Maps SDK for Qt product team samples for C++. 126 | - Unity: 127 | - [ArcGIS Maps SDK for Unity samples](https://developers.arcgis.com/unity/sample-code/) - Esri's official ArcGIS Maps SDK for Unity product team samples. 128 | - Unreal: 129 | - [ArcGIS Maps SDK for Unreal Engine samples](https://developers.arcgis.com/unreal-engine/sample-code/) - Esri's official ArcGIS Maps SDK for Unreal Engine product team samples. 130 | 131 | ## Data conversion tools 132 | 133 | - Core geospatial processing libraries: 134 | - [ArcPy](https://pro.arcgis.com/en/pro-app/arcpy/main/arcgis-pro-arcpy-reference.htm) - Python interface to the ArcGIS geoprocessing framework for automating spatial analysis, data management, and mapping. 135 | - [gdal](https://github.com/OSGeo/gdal) - Translator library for raster and vector geospatial data formats. 136 | - [loam](https://github.com/azavea/loam) - JavaScript wrapper for GDAL in the browser. 137 | - Format conversion: 138 | - [arcgis-json-to-geojson](https://github.com/gavinr/arcgis-json-to-geojson) - Convert layer in ArcGIS JSON spec to GeoJSON spec. 139 | - [csv2geojson](https://viglino.github.io/ol-ext/examples/misc/csv2geojson.html) - Convert points from CSV format to GeoJSON. 140 | - [geojson2svg](https://github.com/w8r/geojson2svg) - Render GeoJSON into SVG using an inline or external stylesheet. 141 | - [geojsonio](https://github.com/ropensci/geojsonio) - Convert many data formats to and from GeoJSON and TopoJSON. 142 | - [gtfs2geojson](https://github.com/node-geojson/gtfs2geojson) - Convert GTFS data into GeoJSON. 143 | - [img2geojson](https://github.com/caseymm/img2geojson/) - Drag an image onto a map, trace the paths you need, and export as GeoJSON. 144 | - [terraformer](https://github.com/terraformer-js/terraformer) - Convert ArcGIS JSON to and from GeoJSON, convert WKT geometries to and from GeoJSON geometries, and other formats. 145 | - [togeojson](https://mapbox.github.io/togeojson/) - Convert KML and GPX to GeoJSON, without the fuss. 146 | - [tokml](https://github.com/mapbox/tokml) - Convert GeoJSON to KML. 147 | - Simplification and generalization: 148 | - [Distillery](http://shancarter.github.io/distillery/) - Web application to simplify and project TopoJSON. 149 | - [Feature Service Layer](https://developers.arcgis.com/rest/services-reference/enterprise/query-feature-service-layer-.htm) - Use the `maxAllowableOffset` parameter to return generalized geometries with the `query` operation. 150 | - [Generalize method](https://esri-es.github.io/arcgis-search/?search=geometryEngine.generalize#gsc.tab=0&gsc.q=%22generalize%22%20site:developers.arcgis.com&gsc.sort=) - GeometryEngine can produce a geometry with fewer vertices programmatically. Several APIs support it: JavaScript, iOS, Android, .NET, Qt, and Java. 151 | - [PostGIS ST_Simplify](https://postgis.net/docs/ST_Simplify.html) - This operation returns a *simplified* version of the given geometry using the Douglas-Peucker algorithm. 152 | - [Mapshaper](https://github.com/mbloch/mapshaper) - Web application to simplify shapes, edit attribute data, clip, erase, dissolve, filter, etc. Supported file formats: Shapefile, GeoJSON, TopoJSON, and CSV files. 153 | 154 | ## Data integration tools 155 | 156 | - [ArcGIS Data Interoperability Extension](https://esri-es.github.io/awesome-arcgis/arcgis/products/extensions/data-interoperability/) - Desktop tool to transform +400 data formats. 157 | - [FME Server](https://www.safe.com/integrate/) - ETL allowing to easily transform almost any dataset into an ArcGIS compatible format and vice-versa. Support for 500+ formats and technologies. 158 | - [Koop](https://koopjs.github.io) - JavaScript toolkit for connecting spatial APIs. Transform geospatial data on the fly and serve as GeoJSON, vector tiles, feature services, and more. 159 | - [Make.com](https://www.make.com/en/integrations/survey123) - iPaaS to automate repetitive tasks involved in using Survey123 and make your work easier. 160 | - [node-red-contrib-arcgis-rest](https://flows.nodered.org/node/node-red-contrib-arcgis-rest) - Query, delete, update, or insert data with low-code programming for event-driven applications of the JS Foundation. 161 | - [Zapier for ArcGIS](https://marketplace.arcgis.com/listing.html?id=5ab7936269f8449b82b0f5c78695ab38) - iPaaS to automate integrations without writing any code. 162 | - [Tray.io](https://tray.io/connectors/arcgis-integrations) - Manual, scheduled, and webhook triggers to apply edits, get features, layers, etc. using Tray Platform's ArcGIS connector. 163 | 164 | ## Debugging tools 165 | 166 | - [cors-test.codehappy.dev](https://cors-test.codehappy.dev/) - App to test CORS requests. 167 | - [Fiddler Classic](https://www.telerik.com/fiddler/fiddler-classic) - Windows tool that logs HTTP(s) network traffic. 168 | - [GeoJSONLint](https://geojsonlint.com/) - Validate and view your GeoJSON. 169 | - [json-schema.org](https://json-schema.org/) - Vocabulary that allows you to annotate and validate JSON documents (including multiple validators). 170 | - [mapbox/geojson-vt/debug](http://mapbox.github.io/geojson-vt/debug/) - Validate GeoJSON or TopoJSON. 171 | - [Postman interceptor](https://www.postman.com/product/postman-interceptor/) - Interceptor enables you to sync cookies from your browser and capture network requests directly from Chrome. 172 | - [netbalancer.com](https://netbalancer.com/) - Windows application for local network traffic control and monitoring. 173 | 174 | ## Design and styling 175 | 176 | - Best practices, books, videos, and training: 177 | - [Cartography and Making Stunning Maps](https://www.youtube.com/watch?v=AGf_DjZZwXc) - Short video showing some examples of what can be achieved using different blend modes effects. 178 | - [How to style using ArcGIS Online](https://www.youtube.com/watch?v=6vy-kVkIcRg&list=PLPjPOZQjCWEn6ezKrwN11L8NWhZ2JdpYd) - Playlist with a collection of short videos showcasing some ArcGIS styling capabilities. 179 | - [Photoshop-style Graphics Effects for Your Layers and Data](https://www.youtube.com/watch?v=crmWm80hwKI) - 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. 180 | - [MapUIPatterns](https://www.mapuipatterns.com/) - Best practices & design principles. UI Patterns describe solutions to observed and recurring design problems. 181 | - Developer tools: 182 | - [Calcite Design System](https://developers.arcgis.com/calcite-design-system/) - Collection of mapping icons, web components, and good practices. 183 | - [Calcite Intellisense Visual Studio Code Extension](https://marketplace.visualstudio.com/items?itemName=K-Dev.calcite-intellisense) - Injects HTML IntelliSense (completion, hover, documentation) for Esri Calcite Design System web components, using Esri's official custom-data JSON. 184 | - [Calcite Snippets Visual Studio Code Extension](https://marketplace.visualstudio.com/items?itemName=K-Dev.calcite-snippets) - A collection of handy code snippets for the Calcite Design System components, designed to boost your productivity when building web applications with Calcite in Visual Studio Code. 185 | 186 | - [geojson2svg](https://github.com/w8r/geojson2svg) - Render GeoJSON into SVG using an inline or external stylesheet. 187 | - GUIs: 188 | - [ArcGIS Vector Tile Style Editor](https://developers.arcgis.com/documentation/mapping-apis-and-services/tools/vector-tile-style-editor/) - Style vector tile basemap layers for applications. 189 | - [arcgis-vectortile-style-editor](https://github.com/Esri/arcgis-vectortile-style-editor) - Minimalistic tool to update the styles of Esri Vector Basemaps through JSON. 190 | - [EsriUK mapstyler](https://github.com/EsriUK/mapstyler) - Quickly style an Esri vector tile layer using an image. 191 | 192 | ## Developer guides 193 | 194 | - [Content management](https://developers.arcgis.com/documentation/mapping-apis-and-services/content-management/) - Store, manage, and access private and public content. 195 | - [Data hosting](https://developers.arcgis.com/documentation/mapping-apis-and-services/data-hosting/) - Store, manage, and access your data as data services. 196 | - [Demographics](https://developers.arcgis.com/documentation/mapping-apis-and-services/demographics/) - Discover local facts and demographic information with the GeoEnrichment service. 197 | - [Geocoding](https://developers.arcgis.com/documentation/mapping-apis-and-services/search/) - Search for addresses, businesses, and places of interest (POIs) with the geocoding service. 198 | - [Maps](https://developers.arcgis.com/documentation/mapping-apis-and-services/maps/) - Display 2D maps and 3D scenes using the basemap layer service and data services. 199 | - [Offline](https://developers.arcgis.com/documentation/mapping-apis-and-services/offline/) - Display, analyze, and edit data while disconnected. 200 | - [Routing](https://developers.arcgis.com/documentation/mapping-apis-and-services/routing/) - Find routes and directions with the routing service. 201 | - [Security and authentication](https://developers.arcgis.com/documentation/mapping-apis-and-services/security/) - Access services and content using API keys and OAuth 2.0. 202 | - [Visualization](https://developers.arcgis.com/documentation/mapping-apis-and-services/visualization/) - Style layers to visualize data in 2D and 3D. 203 | 204 | ## Helpers 205 | 206 | - [arcgis-geometry-calculations](https://github.com/hhkaos/arcgis-geometry-calculations) - Web application to create and grab ArcGIS geometry calculations. 207 | - [arcgis-js-api-camera-helper](https://github.com/pjmclaughlin1979/arcgis-js-api-camera-helper) - Web application to get the camera position JSON object for 3D web apps in the ArcGIS API for JavaScript 4.x. 208 | - [arcgis-js-api-extent-helper](https://arcgis-js-api-extent-helper.gavinr.com/) - Web application to get the map extent JSON object for web apps in the ArcGIS API for JavaScript 4.x. 209 | - [ArcGIS JS API Module Butler](https://marketplace.visualstudio.com/items?itemName=ScottDavis.vscode-arcgis-js-api-module-butler&ssr=false#overview) - VSCode extension for quickly adding ES import statements for the @arcgis/core package without leaving your current code context. 210 | - [epsg.io](https://github.com/maptiler/) - Website to discover and transform coordinate systems from all over the world. 211 | - [esri-loader](https://github.com/Esri/esri-loader) - A tiny library to help you lazy-load the ArcGIS API for JavaScript (i.e., from the CDN) in applications built with popular JavaScript frameworks and bundlers. 212 | - [esri-loader-hooks](https://github.com/tomwayson/esri-loader-hooks) - Custom React hooks for using the ArcGIS API for JavaScript with esri-loader. 213 | - [geojson-random-generator](https://github.com/erick-otenyo/geojson-random-generator) - Generate and download random GeoJSON quickly for testing. 214 | - [reducegeojson](https://github.com/radical-data/reducegeojson) - A tool to reduce the file size of GeoJSON files for web optimization. 215 | - [histogrand](https://github.com/hhkaos/histogrand) - Random value generator according to customized histograms. 216 | - [mercator-geographic-converter](https://github.com/hhkaos/mercator-geographic-converter/) - Simple coordinate converter between Geographic units (latitude, longitude) and Mercator units (x, y). 217 | - [react-sceneview](https://github.com/Esri/react-sceneview) - A simple Esri SceneView React component that builds on the ArcGIS API for JavaScript. 218 | - [bboxfinder](http://bboxfinder.com/) - Simple web application to get the coordinates of a bounding box drawn on the map. 219 | - [snippets client side raster functions](https://ubatsukh.github.io/arcgis-js-api-demos/clientside-rasterfunctions/index.html) - The client-side raster functions are operations that apply processing directly to the source image pixels. 220 | 221 | ## Map and data exploration 222 | 223 | - [ArcGIS Map Viewer](https://www.arcgis.com/apps/mapviewer/index.html) - Web application to create, explore, and share web maps for 2D applications. 224 | - [ArcGIS Map Viewer (classic version)](https://arcgis.com/home/webmap/viewer.html) - Web application to create, explore, and share web maps for 2D applications. 225 | - [ArcGIS Scene Viewer](https://www.arcgis.com/home/webscene/viewer.html) - Web application to create, explore, and share web maps for 3D applications. 226 | - [Geo Data Viewer](https://marketplace.visualstudio.com/items?itemName=RandomFractalsInc.geo-data-viewer) - VSCode extension for Geo Data Analytics. Support to generate and view maps. 227 | - [geojson.io](https://github.com/mapbox/geojson.io) - Web application to visualize, generate, and edit geospatial vector data. Supports GeoJSON, TopoJSON, CSV, KML, WKT, and Shapefile. 228 | - [gpxstudio](https://github.com/gpxstudio/gpxstudio.github.io) - Online and open source GPX file editor. 229 | - [Mapshaper](https://github.com/mbloch/mapshaper) - Web application to simplify shapes, edit attribute data, clip, erase, dissolve, filter, etc. Supported file formats: Shapefile, GeoJSON, TopoJSON, and CSV files. 230 | - [Smart Mapping](https://www.esri.com/en-us/smart-mapping) - It is built into the Map and Scene viewer, but some APIs like JavaScript and Python also provide utilities to help build data exploration tools. 231 | - [VSCode Map Preview](https://marketplace.visualstudio.com/items?itemName=jumpinjackie.vscode-map-preview) - Extension for visually previewing geospatial file content (GeoJSON, KML, etc) on a map. 232 | 233 | ## Playgrounds 234 | 235 | - [arcgis-arcade-playground](https://developers.arcgis.com/arcade/playground/) - Try the portable scripting language for creating ArcGIS custom visualizations and labeling expressions. 236 | - [cim-symbol-builder](https://github.com/Esri/cim-symbol-builder-js) - Generate CIM symbols to work with ArcGIS client APIs and feature services. 237 | - [geometry-inspector](http://brianbunker.github.io/geometry-inspector/) - Quickly show EsriJSON, GeoJSON, or WKT on a map, or draw on a map to get EsriJSON, GeoJSON, or WKT. 238 | - [js-symbol-playground 3.x](https://developers.arcgis.com/javascript/3/samples/playground/index.html) - Generate symbols to work with the ArcGIS API for JavaScript 3.x. 239 | - [js-symbol-playground 4.x](https://developers.arcgis.com/javascript/latest/sample-code/playground/live/) - Generate symbols to work with the ArcGIS API for JavaScript 4.x. 240 | - [Postman workspaces](https://www.postman.com/esridevs) - Postman collections to experiment with location services and authentication. 241 | - [Firefly Symbols Generator](https://vannizhang.github.io/firefly-symbols-generator/dist/) - Firefly symbol generation. 242 | 243 | ## Spatial Analysis 244 | 245 | 246 | - [ArcGIS Analysis services](https://developers.arcgis.com/rest/analysis-services/) - Spatial, raster, elevation, hydrology, and utility network analysis. 247 | - [Esri/gis-tools-for-hadoop](https://github.com/Esri/gis-tools-for-hadoop) - Collection of GIS tools for spatial analysis of big data. 248 | - [Esri/spatial-framework-for-hadoop](https://github.com/Esri/spatial-framework-for-hadoop) - Allows developers and data scientists to use the Hadoop data processing system for spatial data analysis. 249 | - [Client-side Geometry Engine](https://esri-es.github.io/arcgis-search/?search=geometry+engine&utm_source=chrome-extension#gsc.tab=0&gsc.q=geometry%20engine%20site:developers.arcgis.com&gsc.sort=) - Allows you to test spatial relationships, calculate new geometries, and measure lengths, areas, distances, etc. 250 | - [ArcGIS API for JavaScript `geometryEngine`](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngine.html) - Works for browsers and Node.js. 251 | - [ArcGIS API for Python `arcgis.geometry`](https://developers.arcgis.com/python/api-reference/arcgis.geometry.html) 252 | - [ArcGIS Maps SDK for .NET `GeometryEngine`](https://developers.arcgis.com/net/api-reference/api/netwin/Esri.ArcGISRuntime/Esri.ArcGISRuntime.Geometry.GeometryEngine.html) 253 | - [ArcGIS Maps SDK for Android `GeometryEngine`](https://developers.arcgis.com/android/api-reference/reference/com/esri/arcgisruntime/geometry/GeometryEngine.html) 254 | - [ArcGIS Maps SDK for iOS `AGSGeometryEngine`](https://developers.arcgis.com/ios/api-reference/interface_a_g_s_geometry_engine.html) 255 | - [ArcGIS Maps SDK for Qt `GeometryEngine`](https://developers.arcgis.com/qt/cpp/api-reference/esri-arcgisruntime-geometryengine.html) 256 | - [Turf.js](https://github.com/Turfjs/turf) - Geospatial analysis for browsers and Node.js. 257 | 258 | ## Specifications 259 | 260 | - [Cartographic Information Model spec](https://github.com/Esri/cim-spec) - Map content specification used to persist and transfer cartographic descriptions of GIS datasets represented in JSON. 261 | - [Common data types](https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm) - JSON formats of the geometry and spatial reference objects as returned by ArcGIS REST API: Point, Multipoint, Polyline, Polygon and Envelope. 262 | - [GeoServices spec](https://github.com/koopjs/FeatureServer) - Open Web Foundation REST-based API that provides complete access to structured geospatial data used by Esri. 263 | - [Indexed 3D Scene Layers](https://github.com/Esri/i3s-spec) - Service and package standard of containers for arbitrarily large amounts of geographic data. 264 | - [Shapefile Format](https://www.esri.com/content/dam/esrisites/sitecore-archive/Files/Pdfs/library/whitepapers/pdfs/shapefile.pdf) - Spec for the geospatial vector data format for GIS software. 265 | - [Spatial reference specifications](https://developers.arcgis.com/documentation/spatial-references/#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. 266 | - [Tile Package Specification](https://github.com/Esri/tile-package-spec) - Compressed file containing a set of tiles and a tiling scheme, which can be used as a basemap in ArcGIS applications. 267 | - [Web Map spec](https://developers.arcgis.com/web-map-specification/) - Sharable 2D maps. It describes the JSON object that defines a web map. 268 | - [Web Scene spec](https://developers.arcgis.com/web-scene-specification/) - A JSON structure that defines the contents (viewpoint, camera, basemap layer, layers, styles, etc.) for a shareable 3D scene. 269 | 270 | --- 271 | 272 | 273 | **Related awesome lists** 274 | 275 | - [awesome-arcgis](https://github.com/esri-es/awesome-arcgis/) - Awesome list with a wiki flavor with resources about Esri and ArcGIS, organized by: products, industries, file formats, content providers, etc. 276 | - [awesome-earthobservation-code](https://github.com/acgeospatial/awesome-earthobservation-code) - Tools, tutorials, code, helpful projects, and links about Earth Observation and Geospatial stuff. 277 | - [awesome-geojson](https://github.com/tmcw/awesome-geojson) - GeoJSON utilities: operations,editors & viewers, validation, services, conversion, etc. 278 | - [awesome-geospatial](https://github.com/sacridini/Awesome-Geospatial) - Databases, radar, lidar, web map development, etc. 279 | - [awesome-gis](https://github.com/sshuair/awesome-gis) - GIS, remote sensing, 3D apps, Web Map Servers, Geospatial libraries, Open Standards, data, etc. 280 | - [awesome-json-datasets](https://github.com/jdorfman/awesome-json-datasets) - JSON datasets that don't require authentication about: climate, crime, government, NASA, travel, etc. 281 | - [awesome-open-geoscience](https://github.com/softwareunderground/awesome-open-geoscience) - Curated from repositories that make our lives as geoscientists, hackers, and data wranglers easier or just more awesome. 282 | - [awesome-public-datasets](https://github.com/awesomedata/awesome-public-datasets) - A topic-centric list of high-quality open datasets. 283 | - [awesome-remote-sensing-change-detection](https://github.com/wenhwu/awesome-remote-sensing-change-detection) - List of datasets, codes, and contests related to remote sensing change detection. 284 | - [awesome-satellite-imagery-datasets](https://github.com/chrieke/awesome-satellite-imagery-datasets) - List of satellite image training datasets with annotations for computer vision and deep learning. 285 | - [awesome-semantic-segmentation](https://github.com/mrgloom/awesome-semantic-segmentation) - Networks by architecture (semantic segmentation, instance aware segmentation, etc.), RNN, GANS, datasets, and more. 286 | - [awesome-vector-tiles](https://github.com/mapbox/awesome-vector-tiles) - Implementations of the Mapbox Vector Tile specification: parsers & generators, clients, apps, and command line tools, CLI utilities, servers, etc. 287 | 288 | 289 | **Issues** 290 | 291 | Any open issues are fair game. Even just telling us what you want to see would be extremely helpful! 292 | 293 | You can [file an issue](https://github.com/ArcGIS/awesome-arcgis-developer/issues/new) to request or suggest a specific resource. 294 | 295 | 296 | **Contributing** 297 | 298 | Esri welcomes contributions from anyone and everyone. You can [issue a pull request](https://github.com/ArcGIS/awesome-arcgis-developer/pulls) to propose an update, but before doing it, please: 299 | 300 | - Check the [contributing guidelines for this repo](./CONTRIBUTING.md). 301 | - Take a look at [previously logged issues](https://github.com/ArcGIS/awesome-arcgis-developer/issues). 302 | 303 | For more information, please see Esri's [guidelines for contributing](https://github.com/esri/contributing). 304 | 305 | 306 | 307 | **Footnotes** 308 | 309 | Copyright 2025 Esri 310 | --------------------------------------------------------------------------------