Skip navigation
All Places > Geo Developers > Blog
1 2 3 Previous Next

Geo Developers

69 posts

Is your GIS starting to look like your office junk drawer? Stray databases and shapefiles everywhere but not quite sure how to get things organized? Centralized databases might be just the thing to get you back on track.

Single User

Looking at data that only you use, a centralized database allows you to decrease clutter and keep things in one location. Multiple databases, or even shapefiles, can be difficult to navigate when trying to accomplish tasks efficiently. If someone else has to use your system, they may have trouble orienting themselves.

Try using one database (or a handful) to centralize your data. Put all your data or similar data in one place. Utilize datasets to help keep things organized within the database instead of multiple databases.

Multiple Users

For multiple users, you can use an enterprise geodatabase to utilize the capabilities of a centralized database. Enterprise geodatabases allow for multiple users to concurrently connect and work with the stored data in a Relational Database Management System (RDBMS) such as: SQL Server, Oracle, or Postgres

You can also set up replication and deploy services to allow for editing in multiple places. Have replicas syncing to the central database or connect to a service from ArcGIS Online or Enterprise. This allows you to get your data into the hands of those that need to work with it without needing to constantly reconcile changes.

Keep reading as Michelle Brake from GEO Jobe shares her tips & benefits of a centralized database

In the month of September, Rene Rubalcava and Noah Sager hosted a GeoDev Webinar on "Using TypeScript with the ArcGIS API for JavaScript". This webinar was focused on helping developers to get started with using TypeScript when building web applications.


At the end of the webinar, we had a lot of great questions come in, which you can check out in the GeoDev Webinar video that was recorded. But there were also quite a few questions that came in that did not get addressed during hte recording, so we'd like to address them here:


Q: So this is with ArcGIS JavaScript + typescript + React?

A: We only showed one sample with React


Q: So can we do this with Angular CLI ArcGIS JavaScript + typescript and maybe React?

A: Angular CLI 6 does not have eject, this might be possible in a future Angular-CLI release. This does work with React.


Q: Can we use Angular CLI + ArcGIS JavaScript Cli

A: Angular CLI 6 does not have eject, this might be possible in a future Angular-CLI release.


Q: Which framework should be used? Vue, React, Angular or Knockout?

A: The JSAPI has no preference. You can see various guides here -


Q: Can you intermingle the use of the Angular CLI and the Esri CLI?

A: Angular CLI 6 does not have eject, this might be possible in a future Angular-CLI release.


Q: Did you discuss 4.9 features?

A: Yes


Q: Is there support for multiple ArcGIS Portal use? Ie Webmap from one portal item, Featurelayer from different portal, portal item?

A: Yes, you can instantiate multiple Portals in a single application.


Q: Using the ArcGIS/CLI, is there a cache to clear or some way to ensure that an updated version works correctly?

A: You can run npm update to see if there are newer modules you can use.


Q: When will 3.x features (like SnappingManager, etc.) be migrated from 3.x to 4.x? Is there any performance difference between 3.x and 4.x?

A: These features are planned in iterative releases over the next few releases in the JSAPI. Performance with larger amounts of data will scale better in 4x.


Q: Is it necessary to use esriloader to import modules of the API?

A: No, it is not.


Q: Do you know if the angular esriloader is also importable vs. require? 

A: You should be able to import it for use in applications as well.


Q: Sometimes I struggle with getting access to the current map via child components, so I am always looking for advice on best practices or patterns for sharing map instances across components in angular (I know this isn't really an angular webinar, but I thought I'd throw this out there anyways).

A: This can be handled via some form of state management, possibly with injectable services in your components.


Q: I'm using const[EsriMapViw] = await loadModules([esri/views/MapView] to load modules. Is this now obsolete?

A: You can continue using esriLoader if you want to in certain instances, but is not required in most applications.


Q: Is ArcGIS API compatible with Angular ?

A: Yes.


Q: What is  CLI?

A: Command Line Interface


Q: Can my JQuery functions run in a Type Script project?

A: Yes


Q: In Tsconfig.json >> module: "AMD".  What are the options besides AMD?

A: None, "CommonJS", "AMD", "System", "UMD", "ES6", "ES2015" or "ESNext"


Q: Using promis is the most difficult part of ArcGIS Api for JavaScript. Do you mean using Typescript makes it easier?

A: You can use async/await. I don't think it's much easier. It is a good idea to get more familiar with Async and Promises in JavaScript. It is not unique the JSAPI.


Q: Will you have any big change on ArcGIS API for Javascript 5.0 like 3.x to 4.x?

A: We currently have not made plans for a 5.0.


Q: Is Typescript more relevant than JavaScript?

A: TypeScript is a superset of JavaScript. I wouldn't call it more relevant. In our experience, it scales well and helps us write safer code.


Q: How can we load base maps using TypeScript?

A: It works the same as loading them in JavaScript.


Q: What is the different between JavaScript and TypeScript?

A: TypeScript provides type safety.


Q: I've noticed that you use export = foo and at other times export someFunction. I know export = allows you to workaround the ClassName.default issue in vanilla JS. Do you have an internal rule for when and how to use the type of export functions?

A: In writing applications we do either export const foo = something or export default Foo. No need to do export = foo. Usually I export default classes and export other helper functions. No hard and fast rules.


Q: Is there a link to the cli documentation?

AGitHub - Esri/arcgis-js-cli: CLI to build a template application and widgets using the ArcGIS API for JavaScript 


Q: How easy it is to use the JavaScript API with bootstrap and jQuery? Because I have encountered some issue while using it with Dojo.

A: I've used them before and they work fine. Be aware that any CSS framework may overwrite CSS for native DOM, such as table, header, span, that could impact the widgets of the JSAPI.


Q: Did we install a node package for ArcGIS?

A: Yes.


Q: Why do we want to watch viewmodel with an assessor?

A: Accessor allows the ability to watch for property changes.


Q: Can you use ES6 and ArcGIS for JavaScript without TypeScript?

A: Yes.


Q: Could you please explain decorators? Are they part of ES6 or Typescript? And when do you apply them?

A: Decorators are a stage 2 proposal in JavaScript TypeScript provides them and so do other JavaScript tools like Babel.


Q: Is TypeScript working with ArcGIS JavaScript 3.x?

A: Yes.


Q: What version of ArcGIS API for JavaScript support TypeScript?

A: 3x ( and 4x (


If you have additional questions from this webinar, please leave your question in the comments section. We'd love to hear from you!


Where's the Performance?

Posted by MCederholm Sep 24, 2018

Just for grins, I thought I would compare performance across the newer SDKs (Pro, Enterprise, and Runtime) to see how they compare to ArcObjects and arcpy.  As a benchmark, I chose a purely computational task: generate 100,000 random convex hulls (initialization times are excluded).  For Desktop environments, the results are as follows:


SDKExecution Time (seconds)
Pro SDK529
arcpy (Desktop 32-bit)*516
arcpy (Pro 64-bit)164
Runtime .NET16

*Running as a tool in a Python toolbox; running at the Python prompt takes 635 seconds!


Reworking the results into a performance index is telling:



As you can see, Runtime .NET is the grand champion performer.  ArcObjects/C++ is roughly a third as fast.  And even though it's somewhat faster than ArcObjects/.NET, Pro SDK still drags its feet at 9% the speed of ArcObjects/C++, and 3% the speed of Runtime .NET.


On the server side, the results are as follows:


SDKExecution Time (seconds)
arcpy (as a GP service)419
ArcObjects/.NET SOE160
Enterprise SDK SOE147
ArcObjects/C++ SOE10


And as a performance index:



Enterprise SDK is again slightly faster than ArcObjects/.NET, but only has 7% the speed of ArcObjects/C++.  So why do the Pro and Enterprise SDKs perform so poorly?  Looking under the hood reveals some clues.  On the Pro side, the giveaway is the [STAThread] attribute:



This indicates that the Pro SDK uses COM interop, just like ArcObjects .NET.  Debugging the Enterprise SDK benchmark also reveals the presence of COM:



In other words, the Pro and Enterprise SDKs are nothing more than lipstick on the same old COM interop pig as ArcObjects/.NET.  Runtime aside, you're far better off sticking to ArcObjects/C++ if you really want the best overall performance. [COM interop performance is even worse in Java!]

Last week Rohit Singh and Alberto Nieto hosted a GeoDev Webinar on "Integrating Deep Learning with ArcGIS Using Python". We had a lot of great questions come out of the webinar and will be updating this post to add the Q&A that were not addressed during the webinar. 


Many viewers requested to have access to the PowerPoint presentation, and the presenters were more than happy to share. In their presentation, they offered access to their demos and resources that may be helpful for those developing in Python. 


Webinar - DL Python Integration (FINAL).pptx - Box 


Did you miss the webinar? No worries! We've got you covered, as you can view the video here:


Integrating Deep Learning with ArcGIS using Python 


We look forward to the next GeoDev Webinar in September, "Using TypeScript with the ArcGIS API for JavaScript" with hosts Rene Rubalcava and Noah Sager.

Stay tuned!

"Government works best, when it's government by the People.Code for America really  gets right to the heart of the matter when it comes to the National Day of Civic Hacking, coming up this weekend, August 11th, 2018. For several years now, Esri has been a strong active supporter of this annual event which combines technology, people, and innovative ideas for improving the lives of citizens, solving problems, and helping government work better.


Given that many of our most complex civic problems involve spatial relationships of people, things, and resources moving over space and time, ArcGIS continues to be a powerful toolset for bringing technology to bear as innovative ideas are envisioned and projects are built.


If you plan to be part of the Code for America Brigades this weekend and would like to use ArcGIS in your solution, here are some free resources for your use:


  1. Developer subscriptions to ArcGIS Online are free and you can sign up for your account here: This free subscription gives you access to developer APIs, along with app templates, app builders, sample code, example apps, and online community discussion forums. You also get 50 cloud credits a month you can use for storing data and maps, and using analytical tools.


  1. For those participating in National Day of Civic Hacking events, Esri is providing voucher codes which give you up to 1,000 additional ArcGIS Online cloud credits. If you would like a voucher code, please let us know by emailing us at:


  1. ArcGIS DevLabs are a series of short (10-15 min) self-paced tutorials for getting started with ArcGIS. With these, you will find it very easy to learn how to import and build datasets, create web maps, and also embed mapping tools into apps you are building.


Our top picks for developers this weekend are:

Import and Manage Data

Get Demographic Data

Spatial Analysis

Style and Visualize Maps

Query and Edit Data

        *Features can output as GeoJSON for interoperability


Our top picks for the non-developer this weekend are:

ArcGIS Online Quick Lessons

Publishing Data to the Cloud

Data Analysis and Analysis Tools

Mapping and Visualization

Create an Application


As you start using the tools, online help from Esri staff is easy to find:


a. Use hashtag #NationalDayOfCivicHacking on social media, like Twitter, Facebook, and Instagram

b. Join and use the #arcgis and #arcgis-web channels

c. Engage with the global community of ArcGIS users on Esri's Online Community:


Good luck and have fun! We can't wait to hear about all the innovative and impactful civic tech being built at events all over the US.


Resilient City Recovery Map



On Monday, August 27th, the Developer Outreach Team will be hosting a GeoDev Meetup in Houston, TX. Nicholas Popovich will be emceeing the event, and we're looking forward to another successful developer event. For the first time, we will be heading to Grace's on Kirby, which is a local, hometown venue in the Houston area. From 5:30 p.m. - 8:30 p.m., we are welcoming all who identify as being part of the developer community to join us as we invite all of you to participate in the lightning talks interspersed with trivia, snacking on some appetizers, and also some networking. 


If you are interested in attending, please RSVP to the link below: 


We hope to see you there!

The Developer Outreach Team

In the month of June, we hosted a GeoDev Webinar on our DevLabs Model: Data, Design, and Develop. Allan Laframboise and Jim Barry gave a 50 minute presentation with 10 minutes of Q&A. We had a number of questions that we were unable to get to during the webinar, but we wanted to share the answers with the developer community as we find them to be ones that are important and useful.


Q: What is the difference between creating web maps and services through the regular ArcGIS online and the DevLabs method? Can I modify the web applications that we create like edit the application itself without having to download it and host it in another server? 

A: When it comes to creating web maps and hosted feature services, there is no difference. DevLabs modules provide a developer-oriented way to learn how to use ArcGIS Online. As for modifying web applications. If you build these web apps using Web AppBuilder or the configurable web application templates, you can modify them all you want using the tools provided, and continue hosting those on the Esri cloud through ArcGIS Online. If however you want to download the web app you created and code additional customizations, you will then need to host the web app yourself on your own web server. It is not possible to download a web app and re-upload it.


Q: If I edit a basemap and create a new basemap and save it, can I use it through the ArcGIS Desktop client version if I log in with my ArcGIS online account?

A: Based on the content in this webinar, I believe you are referring to vector tile basemaps. If so, then the answer is yes. When you style a vector tile basemap, and store that as an item in your ArcGIS Online account, you can log into your account using ArcGIS Pro and display that basemap exactly as you styled it to look.


Q: A concern for hosting data on the ArcGIS cloud is consuming credits. What are the credit and data hosting limits for a developer account?

A: There are no credit limits, per se. A free "Essentials" level developer subscription allows you to use up to 50 credits per month. If you need more credits you can purchase them. See this page for more information:


Q: Would you have suggestions to get directories of data portals?

A: Many organizations around the world host open data portals, or produce and maintain data for commercial sale. We are not aware of one single database of data providers. The best solution is to find what you're looking for using a search engine.


Q: Tokens expire. What guides their lifetime? 

A: Please refer to this document here:


Q: Pertaining to demographics maps, etc.- is data available from the entire world or only just USA territories?

A: It depends on what kind of demographic data you're looking for. While comprehensive demographic data covering all countries in the world does not exist, there are many countries who manage and provide data better than others.


Q: What is the GeoNet link that we can ask more questions?

A: Please feel free to comment here on this blog post for any additional questions about this webinar.


Q: When you create a new app (e.g., getting a new token), and it saves (to your dashboard), does it remain private while still online or do others who have access to your organization (ArcGIS Online account) have the ability to see it?

A: All items you create on ArcGIS Online begin as private and can only be seen and used by you. You then have full control to open up the sharing level so that the item can be seen and used by others in your organization, in groups your belong to, or even to the world using the "Everyone" level, provided your organization's Administrator has given you permissions to do so.


Q: Any custom apps for working with 3D data?

A: Using Web AppBuilder, AppStudio, or any of the ArcGIS web and native SDKs, it is possible to build 3D mapping applications using Web Scenes.


Q: What is the benefit of using DevLabs over Web AppBuilder?

A: Web AppBuilder is a web-based app for interactively building customized web applications. DevLabs are a series of tutorial modules for learning how developers can use ArcGIS Online to create and prepare data, design web maps, and build applications. At the moment there are no DevLab learning modules that cover the Web AppBuilder product, but we are working on them. If you want, here is a DevLab-style tutorial for building your first app using Web AppBuilder:


Q: What type of file is a 'JSON file'?

A: JSON stands for "JavaScript Object Notation". It is a way of formatting JavaScript objects in a simple standard human-readable way, for transmission and storage of this kind of data. Structurally however, it is simply a plain ASCII text file.


Q: Is there a dev lab on how to use the Google maps basemap and display data from Esri layers? 

A: At the moment, there is not a DevLab for this. However, in the ArcGIS API for JavaScript, there is a class called WebTileLayer which can be used to load and view non-ArcGIS tiled basemaps, and the help provides sample code for how to use it. It is important however to keep in mind that non-ArcGIS datasets have their own licensing requirements and usage restrictions. Please refer to the latest version of Google's Terms of Service to determine whether your desired use is allowed.


Q: How can I upload a map for you all to see?

A: The Map Viewer available on gives you the ability to create web maps, and then use the Share button to control who can see and use that map.


Q: Instead of copying the script from examples, what programming skills do you suggest to have before attempting these labs?

A: The DevLabs cover developer techniques across many different app development platforms, such as JavaScript, Android, iOS, .NET, and others. In order to get the most from these labs it is expected that you have at least a novice to intermediate level of skill and experience with the underlying developer technology and related programming language.


Q: How will I be able to share the JS Bin output to an external client and share it to public?

A: When you're in JSBin, use the "File > Save Snapshot" menu item, which creates a unique URL for your bin. You can copy that URL out of your browser's address bar, and paste that URL into, say, a text message or email, and the person you send it to can use that URL to see your bin. It's best if your register and log into JSBin. That gives you the ability to save these bins in your account. Now, if what you mean is, that you created a web app with JSBin, and how can you publish that as a standalone web app, you can do that too. But to do so you will need a web server. You can take the code you wrote in JSBin, save it out to HTML, CSS, JS files, and upload those to your web server, and host that application there.


Q: Using the existing developer account tools, is it possible to develop Interactive 3D urban planning, or landscape?

A: Yes. An ArcGIS developer license allows you to create interactive mapping applications that contain maps that display in 2D and 3D.


Q: Is it possible to populate a popup window with data fetched from a SQL DB instead of a feature layer's attribute table? If so, is there a DevLab that can guide you?

A: There is not a DevLab module for this, but you can find more information on that on the ArcGIS for Developers website, depending on which specific SDK you are using.


Q: Is it free, or do I need a license?

A: The ArcGIS Developer Program is free at the lowest level, called "Essentials". More information about what is included at all levels of the ArcGIS Developer Program, please refer to this page:


Q: Is there any workshop for DevLabs?

A: ArcGIS DevLabs are designed so that you can do them yourself, at your own time and pace. We do not have in-person instructor-led training that use the DevLabs, but we have dozens of other instructor-led courses that cover a variety of ArcGIS developer topics. For more information please see:


Q: Is there a full training for how to create a custom map?

A: There are a few dozen DevLabs that cover topics related to creating custom maps. For more information, use this URL:


Q: I am from state transmission utility (Gujarat India) and we have lat long data of each tower location in Oracle dB.  Can I use this tool to develop web-based and mobile applications?

A: Yes. ArcGIS Server and its Enterprise Geodatabase tools provide an excellent way for connecting to spatial data in an Oracle DBMS, then serving that data up as web services accessible to web and native applications you build using the various ArcGIS SDKs. 


Q: Do you know of any custom tool that would allow me to GROUP layers in the legend in an ArcGIS Online 2D map like I can with a SCENE?

A: The answer to this varies a bit. It depends on which ArcGIS SDK you are using. For that, I'd like to refer you to the ArcGIS for Developers website, then click into the part of the site that covers the SDK you are using.


Q: Once you develop something in DevLabs, how does licensing work for using the content in production?

A: To deploy web applications into commercial production, you must be at a subscription level above the free "Essentials", or you must purchase credits at a level above the free 50. For more information see this page:  As for native applications built with one of the ArcGIS Runtime SDKs, here is information on how to deploy apps into commercial production:


Q: Can we develop an app for survey purposes using this?

A: Yes. It is possible to use ArcGIS to build applications that can be used for surveying.


Q: Is it possible to publish map services from ArcGIS Pro to ArcGIS Server on prem?

A: Yes. You can use ArcGIS Pro to create a wide variety of web services, and host them on prem using ArcGIS Server.


For other questions and answers that were addressed in the webinar itself, or just to view the webinar because you missed it, please head over to We have many other webinars you can check out, so keep checking back for more!

We decided to propose some changes to this year's GeoDev Meetup at UC and see how they went for developers who are used to hanging out on Wednesday evenings on the Coronado Terrace at the Marriott Marquis and Marina. The change was not only in location (over to the Grand Terrace Ballroom at the Marriott), but we also decided to change it over to Tuesday evening. Read on to see how it went!



Developers came over from the convention center to the Marriott, and as most went up the escalator, passing the temptation of Starbucks, they were able to follow the strategically placed signs and arrows, making it surprisingly easy for anyone to find the meetup. While it was a bit of a walk, we're happy to report that most people met their FitBit step requirements for the day. 




Upon arrival, attendees were to check in. There were so many developers in attendance from all over the world. We saw a lot of new faces, but also recognized quite a few as well! The meetup gave the developer community an opportunity to join other developers as they networked and enjoyed some beverages and appetizers outside on the terrace facing the westward San Diego sunset. This was a great opportunity for developers to meet wither others who are also working with some of the same SDKs and APIs that others have come to learn more about. With music from DJ Carey playing in the background, attendees were able to relax and unwind from the second day's worth of Esri UC goodness.



Towards the end of the meetup, attendees thanked us for having the event and were able to leave with a nice goodie bag of popcorn or chips as they ventured over to meet with their teams/friends/own selves for dinner. Everyone had a really nice time, and we look forward to hosting this again next year!


For any suggestions or recommendations on improvement to this event, please utilize the comments section below.

What a great lightning talk event this year! With over 40 submissions, it was really tough to choose the top 20 that would be invited to present on Monday 7/9 from 4:30 - 6:00pm in Ballroom 20D. With topics ranging from smart communities to weather as a service, the attendees filled the room to hear our user community from around the globe share their work with Esri tools. 



Here is a list of the speakers and their topics:


Elizabeth Irvin-Barnwell and Chris Maniglier-PouletOperational ArcGIS Online: Survey123 Use During a Disaster Response
Chris BlinnAt a Glance: Dashboards Done Right
Tilmann SteinmetzWeather as a Service
Dadan DaihaniElectoral Monitoring System : Indonesian Case
Amir-IT ZivAdvanced GIS Applications: Herzliya Smart City Project
Omer Ben AsherMaking the Israeli Ministry of Agriculture GIS Oriented
Jhon Brayan ValenciaRisk Modeling to Evaluate the Impacts of Climate Change on the Colombian Páramo
Abdo AbdelrasoulGIS for resurfacing roads and pavement management, and maintenance
Jamie ChristensenOutdoor Access
Tareefa Saad AlsumaitiSoil Characterization of Avicennia Marina In Eastern Mangrove Lagoon National Park, Abu Dhabi
Jaydeep MistryAzure App Water Level Rises
Natalie CamposUsing GIS To Monitor The Homeless Problem in San Bernardino County
Diana Borda-BeltranGIS Applied to Decision Making
Moses KamauThe Power Behind a Map
Darren ConlySACOG Project Performance Assessment Tool
Noam RaffelEsri Tools Bridge the Gap of Environmental Subject Matter Experts and Offer Unique Solutions to Impact Assessment Studies
Steve MulberryInnovations for Smart Communities - GeoIoT: Working Smarter with IoT
Andrew WalkerSupporting Biodiversity with GIS
Gregor PatschUtilizing GIS to Address the Impacts of Urban Stormwater
Weibo LiuGraph-based Identification, Representation, and Analysis of Storm Events


We thank the user community for submitting such great lightning talk presentations, and we look forward to another awesome year of lightning talk amazement.

On Wednesday, June 6th, the Developer Outreach team headed up to PDX to support the Esri Portland R&D team to host a HackerLab during the day and their first theme-based GeoDev Meetup in the evening! The theme was Web GIS, and they had Rene Rubalcava host the HackerLab as well as keynote the Meetup. Here's how the events shook out:



This free, hands-on self-guided training was focused on our Data > Design > Develop model, and this was led by both Rene and Mara Stoica. They started out focused on introducing the ArcGIS Platform and the role of web maps and web scenes. They moved into covering the basics of the ArcGIS API for JavaScript which included how to get it and how to use it. The team then worked with the class on web maps, pop-ups, searching/geocoding, directions, and styles and Smart Mapping. They moved into Arcade First Aid, which seemed to be useful to the class. To finalize the training, Rene and Mara covered authentication and the cream on top, building apps.  


Overall, the training was successful, as we had 18 attendees - with many of them having never even heard of Esri's capabilities! Can you believe it? Well, they came to the right spot to learn about building apps using our ArcGIS Platform!


After the HackerLab, most people decided to stay to join the rest of the PDX developer community that came out for the GeoDev Meetup! We saw some familiar faces and some brand new ones. The new attendees had never been to our office and enjoyed seeing our setup and meeting some of our key developers in the office.


Eli Gregory welcomed everyone to the meetup and provided a great deal of information on what the Portland, OR team has been working on and what the Developer Outreach has accomplished in their efforts. Click here to see Eli's slide deck. 


Rene came back to give his "Web GIS and JavaScript" keynote talk and demo. The audience loved seeing new features and ways to use some of Esri's tools. He was kind enough to share his slides. They can be found here.


Allison Davis and Nate Bedortha demo'd some really cool base maps as part of the Vector Tile styling tool we recently introduced. They were kind enough to provide a way for you to see it here


Aside from enjoying the developer networking atmosphere over pizza and beverages, they were also given the opportunity to share a project of theirs with the PDX community. This meetup was unique in that we made it based on a Web GIS and JavaScript theme. Here are those who decided to share their work with others based on this theme:

We had a great time listening and learning from our speakers, and we appreciated how they came through with some awesome content for a theme-based meetup!


After stumping a lot of our attendees with some really cool Portland, OR trivia, we randomly selected our DevSummit winner, Kevin Hill, who will be attending the DevSummit in Palm Springs in 2019.


Thank you to everyone for making this event a fun and fruitful event. We have made some new connections and rekindled previous ones. Please keep your eye out for our next meetups in September and November. We welcome any suggestions you may have for themes. Leave some in the comments below!

On Wednesday, May 16th, Ken Gorton and Morakot Pilouk took the hour to cover a fast-paced introduction to GeoEvent Server, which is the server role that brings real-time capability to developers' ArcGIS Enterprise.


During the webinar, questions were asked that we ran out of time addressing during the recording, so we are featuring them here. Be sure to comment at the bottom of this blog post should you have additional questions or just want to compliment the presenters for their awesome webinar!


Q: Other than GeoEvent Server, can we use Stream Layer?

A: A stream layer can be used to connect directly to a web socket so no stream service is necessary. The only thing necessary is that the JSON messages sent out must be the same format as the JSON that returns from a query to a feature service. It’s documented at  


Q: Is there a connector to store data to a traditional data warehouse such as MSSQL Server?

A: There are out-of-the-box connectors to write features to feature services. A non-spatial data repository, such MSSQL Server, can be the datasource for a feature service if you publish a map with a query layer that references data in that data repository. GeoEvent Server could then send features to that feature service.


Q: Can feature services use a big data store as its source or is it required to be a a traditional EGDB?

A: The data in a spatiotemporal big data store are exposed as feature services and map services and can be used as layers in ArcGIS applications, web maps, etc.


Q: Is GeoEvent Server a component of ArcGIS Enterprise?

A: ArcGIS Server is part of ArcGIS Enterprise. GeoEvent Server is an optional server role of ArcGIS Server. More info here:


Q: Is GeoEvent Server part of Server for ArcGIS?

A: GeoEvent Server is an ArcGIS server role. Perhaps one way to look at it is that GeoEvent Server IS ArcGIS Server, but specifically configured to handle real-time data and processing exclusive of other types of ArcGIS Server capabilities (e.g. Geoprocessing services, Locator services, etc).


Q: Can this be used with Operational Dashboard?

A: GeoEvent Server can send data to feature and map services in ArcGIS Enterprise Data Stores, Spatiotemporal Big Data Stores, ArcGIS Online feature services, stream services, etc, all of which can be added as layers to web maps and visualized in Operations Dashboard, Web AppBuilder apps and other clients.


Q: How do you suggest handling data streams that have duplication of data or data that comes in out of order?

A: Some input connectors have the ability to only ingest data that is newer than previous data but apart from that GeoEvent Server does not provide any tools for validating data order or for de-duplication of data. 


Q: Can you update labels at a static position on the map?

A: The values of feature labels in web maps are determined by the values in the attribute field that backs them. GeoEvent Server can update attribute values of records in a feature service. Thus when the value of an attribute changes, any labels that reference that attribute field should reflect the latest updates.


Q: What is the cost of deploying GeoEvent Server?

A: The cost of deployment will vary widely depending on your system architecture, licensing requirements, and many other factors. I suggest you reach out to your Esri account representative for an answer specific to your use case.


Q: Does the 3DFx widget in ArcGIS Web AppBuilder support stream service?

A: Stream Services are not yet supported in web scenes and therefore not available as a source layer in a 3D Web AppBuilder app. The 3DFx widget is not available in a 2D Web AppBuilder app.


Q: Can I export data from Spatiotemperal data store as a feature class or CSV table?

A: One way to do this is to add the feature service from the big data store as a layer in ArcGIS Pro, then right-click the layer and select Data > Export Features. The resulting output is subject to the maxRecordCount setting of the big data store source, by default 10,000 records.


Q: Is there a processor that can enrich a EGDB feature class of events with values from other feature classes or rasters? For example, elevation from a DEM at an event's location.

A: The Field Enricher Processors essentially do a 1:1 JOIN operation between the geoevent and a record in an external feature service or file based on a common ID. In order to enrich a geoevent with a value that comes from a spatial query of an external data source at the geoevent's location you would need to develop a custom processor.


Q: Is the GeoEvent Server available in ArcGIS Online or only on ArcGIS Server?

A: GeoEvent Server is not available in ArcGIS Online. Here are the system requirements for installing it in your on-premises or cloud environment: 


Q: Can I run an input with a specific time of day?

A: You can set certain connectors to run at specific intervals, but there is no way to set the exact time of day.


Q: You showed a GeoTab input connector in your partner list, but we can't find it. Can you send a URL?



Q: Using a stream service, are the point objects selectable such that a user can view attribute values (in Operations Dashboard or web app)?

A: Web maps support pop ups on stream layers which allow you to view the attributes of a selected feature. While Web AppBuilder and Ops Dashboard maps can display stream layers, other Web AppBuilder and Operations Dashboard widgets cannot yet leverage the attribute data from stream layers.


Q: Does GeoEvent Server come with connector?

A: GeoEvent Server includes several connectors out-of-the-box:, output connectors:, and processors:, Additional components are available for download from the following ArcGIS Online Groups: ArcGIS GeoEvent Server Gallery:, ArcGIS GeoEvent Partner Gallery:, ArcGIS GeoEvent User Community Gallery:


Q: What happens if you're polling or subscribing to an external service, and an extra field gets added that you aren't expecting (i.e., it isn't present in the definition)?

A: Input connectors—Real-time Data Feeds and Sensors (10.6) | ArcGIS Enterprise 


Q: My organization has AVL data on a fleet of school buses. The GPS data is on a non-Esri SQL DB. What connector would be the best for connecting to this data? Both the DB and the portal are on our servers behind a firewall. 

A: One approach is to create a map document with a query layer that queries data from the database. Then you can publish that map document to ArcGIS Server as a feature service which will expose the query layer a feature layer. GeoEvent Server can then poll the data via that feature layer.


Q: Is stream service preferred compared to Feature service? Is that an extra cost or just another option?

A: Sending data to Stream Services is generally faster than sending to Feature Services and typically generates less network traffic. However Stream Services do not persist data in any sort of permanent storage. Thus each has its advantages and best use relative to the other. They are a core capability and do not require additional expenditures to enable. 


Q: Can I export the stream service data from Spatiotemporal data store as a feature class or CSV table?

A: One way to do this is to add the feature service from the big data store as a layer in ArcGIS Pro, then right-click the layer and select Data > Export Features. The resulting output is subject to the maxRecordCount setting of the big data store source, by default 10,000 records.


Still have questions, or did this Q&A get you thinking about more? Leave us a comment, and we'll get back to you!


Interested in questions asked during the webinar? Check out the webinar here: Real-time GIS: Mapping and Analytics - YouTube 


Don't miss our next GeoDev Webinar on Data > Design > Develop on June 13th! Follow us on Twitter @EsriGeoDev to keep your fingers on our pulse!


If you missed out on DevSummit this year, or are just looking to re-live it, the following are the top 20 technical sessions you want to check out.


1 - ArcGIS Indoors: An Introduction


Bring the Science of Where indoors. Learn about indoor position, and how to collect and assemble indoor datasets, then how to make them available to your users to solve a wide variety of tasks.


2 - ArcGIS Enterprise and SSL Considerations


This video simply has to be near the top of the Top 20 this year, if only because the rooms in which we held these workshops were far too small. Way too many DevSummit attendees who wanted to be there simply could not get in. Securing your Web GIS from server to client is a big topic, and this is a great session to learn what you need to know.


3 - Optimizing your JavaScript app for Performance


Have a need for speed? This one is yet another perennial favorite at DevSummit. End users of web apps have a notoriously low tolerance for apps that respond and perform slowly. Learn techniques for gaining the speed you need.


4 - Virtual Reality (VR) and Augmented Reality (AR) with ArcGIS


Sure, they look cool, but VR and AR provide ways to interact with your maps, spatial data, and tools in a very natural way. Watch real-world examples of how VR and AR are making users more productive.


5 - ArcGIS Enterprise: Architecting Your Deployment


This was the most heavily attended session at DevSummit this year. The title says it all. Optimizing your resources, storage, and performance starts with a solid architecture that fits the needs of your organization, apps, databases, and users.


6 - Leveraging 3D Across the ArcGIS Platform


Web Scenes bring a consistent 3D visualization experience across all desktop, web, and native apps. Learn how to use the latest capabilities and design your 3D maps for high effectiveness and natural usability.


7 - ArcGIS Runtime: An Introduction to the API and Architecture


This was the most heavily attended Runtime SDK session. Whether you want to build native apps from scratch, or include ArcGIS in apps you're already building, here is where to get started.


8 - ArcGIS API for JavaScript: Tips and Tricks for Developing and Debugging Apps


Development environments and browser-based developer tools are more useful than ever. Code fast, find fast, fix fast. This is a session that is more and more popular every year. You know what you want to build, so use the best tools to get it built, debugged, tested, and into production more effectively.


9 - ArcGIS API for Python: Introduction to Scripting your Web GIS


Automate and administer your Web GIS, and its content, tools, groups, and users using a Jupyter Notebook.


10 - Introduction to GeoAnalytics Server


Learn how parallelizing your analytical processes across an array of commodity hardware can help you make better more timely decisions faster than ever before, so that you can keep up with and react to data that changes often.


11 - ArcGIS Pro SDK for .NET: Beginning Pro Customization and Extensibility


Make your desktop GIS end-users more productive and standardize UI/UX and workflows by building, then quickly and easily deploying custom add-ins and solution configurations.


12 - Real-Time GIS: Best Practices


When it comes to getting the most use from streaming data, there can be lots of "gotchas" along the way. Prepare for and prevent them, so that your end-users can visualize and analyze your streaming data for the most timely, actionable information possible.


13 - Using TypeScript with ArcGIS API for JavaScript


You've heard of it, you might already be developing web apps with it, so in this session learn how to get the most of your ArcGIS development by learning the basics, and techniques for setting up your development environment using the ArcGIS definition files for TypeScript.


14 - ArcGIS API for JavaScript: Using Arcade with your Apps


Arcade is a relatively new expression-based scripting language for getting a lot more from the data stored in your layers, whether it be for thematic rendering symbology rules, flexible and formattable labels, or custom popup design, use Arcade to improve your data layers in a very simple way that's portable and reusable across the ArcGIS platform: desktop, web, and native.


15 - ArcGIS API for JavaScript: What's New


This API for web developers is not only the most popular in the ArcGIS platform, but its capabilities grow very fast. This "What's New" session is the best way to learn how to use the latest and sneak peek at what is next.


16 - ArcGIS API for Python: Advanced Scripting


Are you already using the new Python API for ArcGIS and thinking that there's a lot more you could be learning and doing? Good chance you are right. Learn about the rich ecosystem of Python packages out there and ideas for how to use them with ArcGIS for improved visualization, statistical analysis, and data science.


17 - Building Your own Widget with ArcGIS API for JavaScript


Well-designed widgets make you a more efficient developer - plain and simple. Common tasks, even complicated ones, designed and built into reusable widgets, allow you to spend the bulk of your productive coding time solving new or one-off problems, and creative time innovating new ways to make your users more productive.


18 - Customizing Hub and Open Data


Learn what developers need to know about Hub, Open Data, and how apps and workflows can be designed to maximize collaboration and standardization, throughout your organization, and through citizen engagement.


19 - Improving Your Web App Through UI/UX Best Practices


It can take a lot of work to make things easy for your users. They're demanding, and want your apps to work for them, powerfully, intuitively, correctly, and right now. Learn some UI/UX design principles you can put to use right away to meet their expectations.


20 - ArcGIS Monitor: An Introduction


Learn how to use this system administration tool, designed so that you can watch the health of ArcGIS throughout the lifecycle, with alerts, notifications, metrics, reports, and more. 


We hope you enjoy viewing the top 20 tech sessions. More videos are rolling out soon. Stay tuned! Should you have any questions or comments, please leave them in the thread below.

While being the largest Developer Summit ever, it was hard not to let the excitement of all of the developer community activities go to our heads. With Lightning Talks, SpeedGeeking, and User Presentations, our developer community was given opportunities to share, network, and learn from each other.


Lightning Talks

Taking place on Monday afternoon, the Lightning Talks opened up multiple ideas and projects to the developer community as the presenters shared their unique ways of incorporating Esri tools into their every day tasks. Check out our presenters below:


First name

Last name


Lightning Talk Title




Why it All Matters




Thinking Outside the Map: Combining Technologies for Deeper Understanding




Development of a User-Centered and Agile Software Development design

and development framework for Web GIS



University of Maryland, College Park

Extending ArcGIS Web Applications With Component Based Design



City of Los Angeles Office of Finance

Build for Politicos: 5 Protips for Appealing Government Maps



Assetic Inc.

Asset Lifecycle Modelling in ArcGIS Pro



University of Minnesota

XSEDE and the GISandbox




Speed up the development of your ArcGIS applications using IBM Data Science Experience



Bowling Green State University

Teaching World Geography with Story Maps 



On Tuesday, we continued our developer community events with SpeedGeeking. SpeedGeeking is just like SpeedDating but with developers. There were 14 developers who were ready to share five minutes on a tool, tip or trick, or some feature for users to learn about. After five minutes, the users change stations and learn something new! See some of our presenters and their topics below!


Aaron PulverDude, where’s my breadcrumbs?
Allan Laframboise10 ArcGIS Developer Tools and Techniques You Didn't Know You Needed
David VitaleAutomating Workflows with Python
Deelesh MandloiBuilding Routing and Directions Apps
Eli GregoryDesigning iOS UI for a map
Jacob WasilkowskiCanvas-Flowmap-Layer
Jayson WardRepo-mining: Mining AppStudio templates and public repos.
Jeff JacksonStrategies for Accurate, Battery-efficient Location Tracking on iOS
Kelly HutchinsMake your map accessible
Ken Field So You Want to Make a Map?
Nicholas FurnessA Modular Example Maps App
Niklas KoehnUsing TypeScript for JavaScript Widget Development
Sandie Peters Explore Nearby
Scott M. MacDonaldAutomating your ArcGIS Deployment using ArcGIS Chef Cookbook


User Presentations

On Wednesday and Thursday, we hosted the User Presentations in Mesquite B and C. Attendees were able to stop by during any of the 25-minute slots and listen to their community members share their stories at greater length.


                Wednesday                                                                          Thursday


Mesquite BMesquite CMesquite BMesquite C
Mapping Item Dependencies Across ArcGIS
Seth Lewis
FTTx Network Design in ArcGIS Using Clustering
Chandra Reddy
Esri ArcGIS Online and Serverless Computing: So Long Bare-Metal
Kevin M. Gooss
Everything But the Kitchen Sink: Supporting Large Mobile Maps Offline
Aaron Crary
Creating a Custom Table of Contents in Angular
Brandon Payne
Geek Perspectives: Lessons from Hybrid Mobile GIS
Adnan Bilwani
Building Highly-Scalable, Mobile Apps with ArcGIS Runtime, ArcGIS Enterprise and AWS S3
Jake Shapley
Reservoir Surface Area Mapping in the Lower Mekong Region using Esri Web AppBuilder for ArcGIS
Aekkapol Aekakkarrungroj
Real-Time GIS and IOT for Public Safety: A Business Process Model
Reza Nourjou
Visualizing ArcGIS Services with Potree and Three.js
Renardi Tanuwidjaja
Put the “You” in UI: Creating Intuitive User Interfaces using ArcGIS and Survey123
Leah Newman
ArcGIS API for JavaScript: 3.x or 4.x - Why Not Both?
Ian Schmitz
Real-Time Municipal Snow Plow Tracking with GeoEvent Server
Chris Dougherty
Extend Python with ArcGIS Runtime for Qt
Mark Cederholm
So You've Gotten an ArcGIS Insights License…Now What??
Bryan Chastain
No Second Chances: Revolutionizing Archaeological Recording Using the ArcGIS SDK for Java
Sandra Schloen
Chrome Plugin for ArcGIS Server REST Services
Ken Doman
PG&E Digital Catalyst - Building User-Centric iOS Apps for the Enterprise Mobile Workforce using the ArcGIS Runtime SDK for iOS
John Ngoi
Rosey Baune
Releasing ArcGIS Runtime Apps with Confidence - a Unit Testing Story
Rebecca Zeckoski
Smart Palettes: Editing in the ArcGIS Runtime for .NET
David Chambers
City of San Diego’s Story of Undergrounding
Sameera Rao
Pipeline Spill Modelling with ArcGIS Pro, .NET and Python
Donnacha Fitton
Leveraging the Power of Databases for Spatial Analysis and Processing
John Reiser
Controlling the Chaos: Establishing Best Practices for Python Scripting
Erica Pfister-Altschul
Connecting Dashboard To Collector Data For Monitoring Appraiser Progress After Harvey Flooding
Tiffany Selvidge
Developing a Web AppBuilder Widget with React and Webpack
Bryan Grill
Integrating Beacon Infrastructure Through Python and ArcGIS Enterprise for Indoor/Outdoor Navigation
Brent Dell
Spatiotemporal Risk Estimation of Traffic Accidents Using Python
Benjamin Acker
Hearing Evidence Mapping Application: The Evolving Life Of Harris County Appraisal District's Collaborative Custom GIS Application
Tiffany Selvidge
Fully Offline Mobile Apps with AppStudio for ArcGIS
Adam Drackley


We had a great time this year and cannot wait for next year's developer events during DevSummit! If you attended any of these events, feel free to share any comments, questions, and/or suggestions you may have! We're all ears and would love to hear of ways we can improve. 


The release of version 100.x of the ArcGIS Runtime SDK brought with it a plethora of advantages and advancements. Among these is the loadable pattern for asynchronous resources. This pattern provides a common theme for resources in loading metadata in an asynchronous manner in the ArcGIS Runtime API across all the supported platforms. Hence resources that lend to this pattern are referred to as "loadable". This coding pattern also provides an important mechanism to retry loading in the event that something goes wrong and the initial loading fails. This is particularly critical in cases where resources are accessed over a network (which is basically the majority of cases in an enterprise-GIS infrastructure). 


Developers do not need to worry about concurrency issues as the pattern handles concurrent and repeated requests when loading resources in order to account for cases where the same resource instance is to be shared around different parts of an application. One can cancel loading a resource in the event of a slow response or simply access the loading state (load status) of the resource with the getLoadStatus method on the Loadable interface. This returns the status of the loadable resource which can then be used for decisions ranging from informing the app-user of an operation's state, allow for providing logic to retry loading, writing easily debuggable code etc. 


One of these decisions is illustrated in the code snippets below;


* Load geodabase file from disk; add a listener, check load status and make appropriate decision


Geodatabase geodatabase = new Geodatabase(selectedFile.getAbsolutePath());
if(geodatabase.getLoadStatus() == LoadStatus.LOADED){
List<GeodatabaseFeatureTable> listOfFeatureTables = geodatabase.getGeodatabaseFeatureTables();
featureLayer = new FeatureLayer(listOfFeatureTables.get(0)); //instance variable instantiation
}else if(geodatabase.getLoadError() != null)



This code is part of a larger demo application meant to illustrate some of the powerful features of the ArcGIS Runtime SDK. You can fork the repo at GitHub - mrasante/LoadableDemo. Please note that this is a bigger application meant to demonstrate the power of the ArcGIS Runtime platform as relates to the loadable pattern, so certain aspects might not be necessarily relevant to the pattern itself. Nonetheless it serves a the purpose of showing the pattern in a working application. 


Give it a try; post issues, comments, complaints, critiques etc. You can also catch me live at DevSummit 2018 – Palm Springs, CA; stop by during my demo theater presentation ( which will feature some focus on the loadable and task-jobs paradigm in the Runtime SDK. 

The completed code used for the dev summit presentation is now updated at the above github repo. Please fork it and try it out; as I indicated earlier, you can report issues or areas you need further explanation on and I will do my best to respond as soon as possible. 

DevSummit is just around the corner – always a big week for us! So why do we look forward to DevSummit each year? In addition to this being our chance to hear directly from Esri Developers and software engineers, the week is also a great team building time for us, an educational opportunity, and provides some important networking. A little sunshine is always a nice bonus too!


We reached out to our team and are glad to share what we are all looking forward to this year at DevSummit.


Ken Doman, GEO Jobe Solution Engineer @raykendo

I”m excited about attending the ESRI Developer Summit in a couple weeks. This will be my third time attending, and my second time presenting. The Developer Summit is a great opportunity to chat with the people behind the products that ESRI offers. I look forward to discussing tech and presenting my laundry list of issues with the helpful developers and staff at ESRI. Putting a human face and voice to the names I see in the forums makes me understand them more. I also look forward to seeing what other people are doing with the technology, and what challenges ESRI will attempt next. As a presenter, I’m delighted to talk about my Chrome plugin for ArcGIS REST Services. It’s scheduled for Wednesday, March 7 in Mesquite C from 4:00 pm – 4:25 pm. I hope to see you there!


David Hansen, GEO Jobe COO @dhansen601

From David… Shortly I’ll be in Palm Springs, CA for the Esri Business Partner Conference and I will be staying the whole week so I can also attend the Esri Developer Summit. This will be my 5th consecutive year engaging in this spring ritual, but it will be my first conference as GEO Jobe’s COO. This annual trip is something I have come to look forward to for many reason. On this trip, I get to see my friends in the industry ( along with making new friends ), learn about new tech, and I get to bring my ideas, concerns, and questions directly to Esri staff. I’m looking forward to seeing you all out there. If you see me walking around, then please come up to me and say hi. I love talking with everyone. Last year I sat down after the conference and filmed a post-event interview which was fun – perhaps we’ll do it again! See you in Palm Springs! 


Neill Jobe, CEO @NeillJobe

This will be my 11th EPC and visit to Palm Springs. Find me Monday in the Solutions Expo at booth #113, near the Startup Zone and right beside the bar!  What I’m looking forward to:

  • Meeting up with friends that I’ve come to know over the last 18yrs.
  • Checking out the new Esri tech, where they’re headed, what’s new, etc.
  • Visiting the Startups Zone. Love to hear about new ways the technology is being used other than how to map a water meter.
  • The weather in Palm Springs

Nick Lawalin, Solution Engineer @nicklawalin

Nick is a long-time GEO Jobe-er, having advanced to a senior developer position after several years of experience and dedication to the company. Note, Nick focuses on education and learning while at DevSummit, polishing his skills in various programming languages and getting up to speed on ArcGIS enterprise scale solutions that he will implement with our clients. Note, Nick is also a defending Dodgeball Champ and hopes to join a team to repeat again in 2018!  From Nick… “I always keep a list of “issues” I run into throughout the year.  I look forward to walking the floor and picking the brains of the people that build the software to get their insights.”


Glenn Letham, CMO @gletham

DevSummit is simply awesome! After 19 years attending ESRIUC I find DevSummit to be a really nice, more compact, and more focused event – it really is a great place to get down to business! I think this will be either #3 or #4 for me. As far as presentations, I enjoy the “Road Ahead” talks and hearing about what’s coming next.  Other presenters that I enjoy include Dave Bouwman (I’ll check on his talk time), Andy Gup catches me up on JavaScript, Jeff Shaner and crew inform me about mobile app developments (Collector, Survey123), Mansour Raad is always AMAZING to listen to, and I love any presentations with the title “Lightning Talk”. After hours  the startup social is a MUST for me and I hope to meet the CEOs of all the new startup companies.


We look forward to meeting up with some of you there!

Read more on our blog and see also our story map of planned activities at 


geo jobe at devsummit