New Year, New User Types!

The latest version of ArcGIS Online comes with major changes. The most prominent one being the latest update to the named user licensing model.

A new and very flexible way to license identities in ArcGIS Online has been introduced. Where before we had only two types of users Lever 1 and Level 2 (viewer and content creator, respectively), we now have 5 different user types. These offer more flexibility and may save your company some money.

Below is a summary of the new user types which are  available now on ArcGIS Online and will be available  with a future release of ArcGIS Enterprise.

  • Viewer


The Viewer (previously known as Level 1) can only view items that have been shared by members of the organisation. Viewers do not have edit, create, share, and analysis capabilities.

So what apps can a viewer access? A viewer has access to the Essential Apps Bundle. Remember that access to these apps will be view only access.

A viewer typically views maps & apps to make better decisions and monitor performance.

  • Editor


Editors can create, delete and edit data. They also have access to all the apps in the Essential Apps Bundle.

This user type makes sure that data is kept updated and ensures that the organisation has authoritative information.

  • Field Worker


I am sure we are all excited about this new user type. Many of you have been asking for this option. The Field Worker has capabilities to edit, create, delete and update data in the field using apps that are in the Field App Bundle.

Field workers, doing real-time data collection, can connect from the field to the office thus improving efficiency and productivity.

  • Creator


Creators (previously Level 2) have create, edit, update, and delete rights using all the apps in the Essential Apps Bundle, Field Apps bundle, and the Office Apps Bundle.

This user type is typically the content creator for the organisation. Creators can share their maps and analysis through ready-to-use apps.

  • GIS Professional


The GIS professional is the super user. This user type has all the capabilities of the Creator type plus ArcGIS Pro (Basic, Standard or Advanced). This user has access to: Essential Apps Bundle, Field Apps Bundle, and the Office Apps Bundle, in addition to this they also have access to ArcGIS Pro. This type of user builds advanced maps and visualisations, performs advanced analysis and can share these results to the organisation.

All existing Level 1 users will automatically be moved over to Viewer and Level 2 users will get the Creator user type.

Pricing for the various user types will vary.

So, what are App Bundles?

Another new update at this version is App Bundles. This is a new way of grouping ArcGIS applications that are often used together. Typically, a field worker would only use Workforce for ArcGIS and Survey123 for a typical day’s work. The organisations administrator will then purchase the Field Worker User type which gives access to the apps in the Field App Bundle. This means this user will not have access to office applications like Operations Dashboard. See below for the list of all app bundles and the apps that are included in it.


What a great way to kick off the year. If you would like to know more about user types and app bundles, please do not hesitate to contact the Esri South Africa office at +2711 238 6300

Happy Mapping. Wishing you a great 2019 ahead.

Geology of South Africa – making the map

I was so excited to see that something as simple as a geology map could get so much interest! My wife keeps asking me who exactly are these people that love a chronostratigraphic lithology map 😊

I noticed a few people ask me to add a little bit “about the map”. And so, this blog will cover two aspects, firstly how I made the map, and secondly, what it represents.

How the map was made

How do you make a map like this? As an avid DIY-er, I know that most jobs are fairly easy if you have just have the right tools. And that is much the same for making maps, or working with location data in general. To start, I downloaded 1:1,000,000 geological data available from the Council for Geoscience. This data is “GIS-ready” because it includes polygons with attribution that describe each polygon (see below for more details on what the data includes) as well as a pre-determined styling (colours) based on geological standards (see the original litho map produced by the CGS with all this detail). I threw this into a new project in ArcGIS Pro 2.7 and decided to use a local scene to better accentuate the scale of the country – or simply put, to give it a nice 3D perspective.

To make this “raw” data look better, I used a few cartographic tricks. First, I wanted to highlight and show the geology against the topography of the country. This is best visualised using a hillshade (or relief) map. Fortunately, Esri provide a pre-rendered global hillshade layer ready for you to use – one of many incredibly useful, pre-built layers available on the ArcGIS Living Atlas. Putting this under the geology obscures it, so I changed up the transparency of the geology layer, but it looks a little washed out. And here is the real trick, Pro 2.7 now supports layer blending, which allows me to combine the pixel values of each layer dynamically using one of many methods – much the same as how photographers and photoshoppers have been working for years. You can play around all day with this, but I settled on the most common method – Overlay. Finally, to exaggerate the elevation more, I changed up the vertical exaggeration of the scene to 5. This leaves me with a much richer, punchier-looking map.

Note that I also added a masking layer to show only South Africa, and reduced transparency to 35% to allow the hillshade to show through.

There was one last piece missing though, it lacks a little “realism”. To add that, I searched for and added the Esri World Imagery layer to the map. I used the layer blending technique again and voila, we have a beautiful map!

But, I couldn’t just present the map as is, so I went and did some finishing using a graphics editing programme called GIMP. I added a drop shadow, a graticule (exported from ArcGIS Pro) and some basic descriptive text. And there you have it… Nothing stopping making your own.

What does the map show us?

So it is a beautiful map, but what about the content? Although it would be great to make maps just for the sake of it, they should always be delivering some sort of information. What does chronostratigraphic lithology actually mean? I will let the experts explain, but in a practical sense, this shows you what the predominant rock that exists on or near the surface at a given time/time period.

Here is a sample description of what lithology represents, in geology-speak:

Lithologic properties are commonly influenced more strongly by local environment than by age, the boundaries of lithostratigraphic units eventually cut across synchronous surfaces, and similar lithologic features occur repeatedly in the stratigraphic sequence. Even so, a lithostratigraphic unit always has some chronostratigraphic connotation and is useful as an approximate guide to chronostratigraphic position, especially locally.

Distinctive and widespread lithologic units also may be diagnostic of chronostratigraphic position.

International Commission on Stratigraphy

(As an aside, my favourite joke about geology data is when someone asks if it’s the “latest version”… to which the reply is something along the lines of “the geology has been the same for a few hundred million years” 😊)

In this case, I used the default lithology-based symbology provided with the data that describes the rock types, so really should have just called it a Lithology map… But in any case, what the data tells us is that, for instance, 14% of Southern Africa is covered in “Mudrock, subordinate sandstone”.

Probably of most interest to the geologists, is the area in the north, which you can just make out on this map as the Bushveld Igneous Complex, an ancient geological structure that projects certain minerals in a bowl shape near the surface. This was first uncovered by Dr Hans Merensky when he stumbled upon some rocks he recognised as platinum-bearing. Since that day in 1924, people have been digging and extracting these minerals such as platinum, rhodium and palladium by the truck-load and in fact this area is understood to contain over 75% of the world’s known platinum reserves.

Here is a breakdown of the top 5 Lithostratigraphic groups (as defined in the original map produced by CGS here) summarised by total surface area of South Africa (and Lesotho and Swaziland/eSwatini).

Lithostratigraphic groupsPercentage land covered
Mudrock, subordinate sandstone14%
Superficial deposits comprising gravels, clays, sandstone, silcrete, calcrete and aeolian sand9%
Network of dolerite sills, sheets and dykes, mainly intrusive into the Karoo Supergroup6%
Red and greenish-grey mudstone, fine- to medium-grained sandstone5%

If you want to know more about the platinum and gold mining areas, what has been mined and what is still available (resources and reserves), why not head over to the National Resource Atlas (built and maintained by the Mandela Mining Precinct) to discover more – it requires registration, but it is free and will give you access to an unprecedented wealth of historic information that you can use directly on the Atlas, or connect up to your own GIS of choice for further analysis.

– Richard

Comparing the capabilities of Esri’s graphic visualization tools

First things first, what are we comparing? Esri has two dashboard tools -namely Web AppBuilder and Operations Dashboard-, and one business intelligence (BI) tool -namely Insights.

Before we delve into the abilities of each tool, what is the difference between Dashboards and BI tools?

  • Dashboards are a simple display of the most important information that achieves a specific business objective. Ideally designed for at-a-glance monitoring and decision making.
  • BI Tools allow you to explore your data and get quick visual data discovery by providing an interactive approach that enables dynamic analysis.


Operations Dashboard

Operations Dashboard and Web AppBuilder provide the same basic functionality to the user, but with a different look and feel. Operations Dashboard is perfect for a simple dashboard; however, Web AppBuilder takes the trophy with providing more functionality to improve the dashboard experience.

Ops Dashboard

What are the advantages and disadvantages of Operations Dashboard?


Web AppBuilder

Web AppBuilder can import external datasets that are not found in the map, can support statistics for big datasets, and most excitingly offers all the additional tools found in your mapping applications. These additional tools include (and are not limited to); Analysis, Directions, Edit, Filter, Geo Lookup, Oblique Viewer, Parcel Drafter, Query, Situational Awareness, and more.


What are the advantages and disadvantages of Web AppBuilder?

AdvantagesWAB... vs Disadvantages


Insights offers users a map-centric BI tool that contains different graph visualizations to Esri’s dashboard tools. Insights is the evolution of the dashboard that enables rapid iteration and productivity, but it is important to note that it is not a replacement of the dashboard. Insights is a unique tool that allows the user to run spatial queries (spatial aggregation, buffer/ drive times, and density) and to find answers (How is it distributed? How is it related? What’s nearby?).


What are the advantages and disadvantages of Insights?


Below is a summary of the available functionalities, broken down into dashboard and BI Tools respectively.

1 - Copy

2 - Copy

Ultimately it is the user’s need that determines the tool that fits best. All that being said, Esri is constantly providing updates and new software versions that include many more capabilities to each tool.


What’s new for Mining in ArcGIS 10.6.1?

whats new for mining

Esri are busy. Those developers are happily typing away in their code editors and just want to make new shiny things every day.  Can’t really blame them for their enthusiasm, but we find ourselves caught up in trying to figure out what they have done, how we could benefit from it and how would we go about getting it to actually work. So to help out, I have picked out my top list from 10.6.1 that I think is applicable to our ArcGIS for Mining users… Here is the list and scroll down for some more details on these new enhancements and how you may be able to use them.

  1. Enterprise Sites
  2. Portal User Interface Revamp
  3. Distributed Collaboration
  4. Hosted Feature Layer Views
  5. Scene Viewer enhancements
  6. SAP HANA Integration
  7. Operations Dashboard
  8. Authoritative Content

Enterprise Sites

What is it?

ArcGIS Enterprise now supports the creation of one or more custom “sites” as the front end web page of the Enterprise portal. Whereas before, only a single home page was supported and with very limited configurability, Sites now means you can easily (drag and drop) create many front ends that target different users, groups, workflows, etc. within your organisation. The Site(s) is hosted within the Enterprise portal web server and draws dynamic content from the portal itself via groups and sharing.

It is the on-premises version of the existing ArcGIS Online Open Data “sites” capability.

How does it help?

In many ArcGIS for Mining implementations, the Enterprise portal provides a central location to access all authoritative content. However, this single portal supports not only users from a variety of disciplines and departments, but users with a variance in technical/software capability. Sites enables you to configure landing pages that are more focussed and “intimate” for particular groups, users, or even workflows. Some of these may be:

  • ArcGIS for Mining – Survey Solution
  • ArcGIS for Mining – Planning Solution
  • ArcGIS for Mining – Executive Information Portal
  • ArcGIS for Mining – Field Capture Support Portal

What are the impacts?

To enable Sites capability, the deployment must be upgraded to 10.6.1 with its related impacts. Once upgraded, no other changes are required in order to utilise the Sites capability.

What is strongly recommended however, is that the deployment of new Sites be guided by a more holistic user-centered evaluation of the platform. Having a better-defined view of the users, their needs and their skills will help to design the best site, be it singular or multiple sites. Esri South Africa provides such a service as a mini-project, utilising UCD principles that focus on understanding and interviewing actual users in order to design the best possible user experience – and then implement that using the Sites capability.

Portal User Interface Revamp

What is it?

The ArcGIS portal application has been undergoing a gradual remodel for well over a year. These updates are first rolled out in the ArcGIS Online version, and are then percolated down into ArcGIS Enterprise. At 10.6.1, the following parts have been upgraded to a more modern and functional UI that makes using and administering the portal much more efficient:

  • Gallery: new, card-based UI that showcases content better and includes better search and slightly improved filtering
  • Content: this page has had a major overhaul, including refreshed UI (more modern, making it easier to read), an “all content” filter, embedded intelligent search and improved content filtering

How does it help?

As ArcGIS for Mining implementations grow, content inevitably increases. This makes it more and more difficult to manage items (in some cases, many hundreds of items in a single folder). The changes are making it progressively easier to scan with the human eye to find what you want quicker, but also providing tools that make slicing and dicing your way through content much more intuitive.

The benefits here are primarily for system administrators and advanced web users that are publishing the own content or using the analytical tools provided in portal.

What are the impacts?

There are no impacts except needing to upgrade to 10.6.1. All existing functionality is still there, but new and better tools and layouts have been added.

Distributed Collaboration

What is it?

This is a crucial capability in the Web GIS conceptual architecture. It is a mechanism to allow you to share content between portal (Enterprise and/or ArcGIS Online) in an automated manner. This means that users in Portal A can see shared content from Portal B, without ever needing to see (or log in) to Portal B.

At 10.6.1, collaboration supports more content types including web apps, maps, layers and files. Layer support is limited to hosted feature layers if you want the content to be copied to the local portal – all other layer types are supported when referenced via web services.

How does it help?

This enables a true distributed architecture – for example, each operational site may have its own ArcGIS Enterprise, managing its own local authoritative data including surface plan, mine plan, etc. This data may be useful to users at head office where they host their own instance of ArcGIS Enterprise. Rather than connecting to (and logging on) to the operational site, that user can find and use that content as if it were local in their portal.

This enhances the ability to introduce shared services, such as imagery layers, from a central location, but allow users to access those items as if they were local. This can vastly improve performance if the networks between sites are unreliable and it reduces the need to have multiple Named User licences for the same users across multiple sites.

What are the impacts?

Distributed collaboration requires a (mostly) homogenous deployment of ArcGIS versions to function well, and therefore necessitates a system wide upgrade. Once upgraded, configuring Collaboration is a once off exercise of sharing credentials and creating the relevant workspaces. Once setup, users (admin and publishers) can share content to other portals simply by sharing to the relevant local group (as with regular group sharing) – so it is very simple to use.

Note that there are some complexities when configuring collaboration in an environment where user authentication is outsourced to the Enterprise identify provider (e.g. Active Directory) – which may need some more testing before it is fully functional. Be sure to contact your Esri South Africa technical advisor for assistance in this regard.

Hosted Feature Layer Views

What is it?

This is a powerful new feature that allows a single hosted feature layer, to be stored more than once defined by more than one view definition. A view definition is a basic SQL query that allows you to filter the data – e.g. show only current safety incidents from a historical data layer. Each of the layer views, acts as an independent item, which means it can have different functionality than its source (e.g. editing) and can be shared differently.

How does it help?

This provides a measure of flexibility in the management of data without having to duplicate layers. The primary workflow it supports is the need for some users to be able to edit data in a layer, while others should only view it. In current (pre-10.6.1) deployments, this was only possible through publishing of the layer twice, and then keeping the sources in sync.

What are the impacts?

Having upgrade to 10.6.1 no further technical impacts. However, this may necessitate a change in the architecture of the instance because it is only supported in hosted feature layers – these layers are based on data hosted in the Data Store and are thus not supported for layers where the source is the Enterprise Geodatabase.

Scene Viewer enhancements

What is it?

The Scene Viewer is the 3D equivalent of the Map Viewer hosted in the Enterprise portal. It supports viewing of true 3D data above and below ground. This ground-breaking new technology has had a number of enhancements to improve how it can be used, namely:

  • Performance: a number of under-the-hood changes that improve loading times (by up to 50%), utilise less system resources and provides a Performance-Quality toggle to enable optimisation under varying scenarios
  • Mobile support: the Scene Viewer is now fully supported on mobile devices through the new ArcGIS Companion app (available on the AppStore and Google Play Store)

How does it help?

Much of the mining data we visualise is 3D in nature. From surface topography, to underground resource models, this large and sometimes complex 3D data is usually confined to the technical source system in which it was created. With the Scene Viewer, all users in the organisation can have access to visualising these key data assets and all they need is a web browser or modern smartphone.

We have been able to successfully visualise a grade-based thematic map of 500,000 blocks from a block model on-the-fly in a true 3D underground visualisation, using a simple web browser. This opens up new opportunities to allow the right people to view the right data whenever they need to.

What are the impacts?

No technical impacts once upgraded to 10.6.1. The ArcGIS Companion app is required to view 3D scenes on phones and tablets, and at this stage only the iPhone 8, iPad Pro, Samsung S8 and Samsung Tab 3 are supported. Note that other devices with more than 2GB RAM, a multi-core processor and a GPU should also work, but has not been tested by Esri and is thus not fully supported.

SAP HANA Integration

What is it?

Esri and SAP have been working closely to align their technology stacks. One of these is the recent support for the Enterprise Geodatabase on SAP HANA. A full EGDB includes the full GDB data model including version-support for long transactions, archiving, relationship classes and extended feature types such as geometric networks. Furthermore, query layers can be created against a non-GDB version of the SAP HANA to perform spatial queries and publish feature services directly from HANA.

How does it help?

Many large mining companies are heavily invested in SAP as the ERP backbone. As they migrate to HANA, this provides two major value propositions when used in conjunction with ArcGIS:

  1. Database rationalisation can be achieved by moving the existing EGDB to HANA, thus negating the need for additional RDBMS licences and leveraging the existing investment in SAP
  2. Performance of spatial queries on HANA, being an in-memory, column-based database, are phenomenally quick as compared to regular RDBMS-based calculations. This opens up new opportunities for executing big data analytics tools provided by ArcGIS as well as third party libraries such as R or scikit-learn.

What are the impacts?

Migrating an existing EGDB from an RDBMS to HANA does require some analysis to ensure no surprises. However, moving data from one EGDB to another is a simple copy and paste process that may take some time, depending on the size of your data.

SAP HANA 2.x integration is only supported in Enterprise 10.6.1 and ArcGIS Pro 2.2.

BIM Integration

What is it?

Esri has been working hard since 2017 with Autodesk to bridge the divide between Building Information Model (BIM) technology and GIS. Through a strategic alliance, this has been realised in the ability to use ArcGIS content (your authoritative spatial content) in Autodesk InfraWorks enabling the user to do their work in the *context* of the workd around it. Also, REVIT models can be directly ingested into ArcGIS and used in published web services for visualisation or analysis.

How does it help?

Currently, the worlds of infrastructure design and operational management have been mutually excusive. Often, highly detailed models of buildings/plants/etc have been developed for the construction phase, but this information is not leveraged when that asset is being managed through maintenance, repairs, etc. The integration enables asset owners to see the detail they had in the design phase right in their operational maintenance environment with ArcGIS. This means you can see an entire mine site and zoom in to a plant and see its interior world seamlessly.

What are the impacts?

There are no impacts other than requiring the data and software. Direct import of REVIT models is only supported in ArcGIS Pro 2.2.

Operations Dashboard

What is it?

The latest evolution of the ArcGIS Operations Dashboard provides an entirely re-build interface that is web-centric meaning all you need is a browser to view it. Not only is it web-enabled, it introduces powerful new capabilities such as inter-widget actions, a large array of intelligent infographics widgets (charts) as well as a customisable layout and interface.

How does it help?

Much of the hard work done by knowledge workers in capturing, processing and creating information is provided to management via PowerPoint and Excel. Firstly, the process of creating this data in Office is cumbersome and prone to human error. Secondly, the information presented is static and based on the date of the last export. Operations Dashboard enables easily configurable live view of the data that does away with processing, exporting, importing, etc and delivers the information in a powerful visual dashboard that is easy to quickly communicate to decision makers in daily production meetings, monthly Exco meetings or even in shareholder meetings done annually.

What are the impacts?

Upgrading to 10.6.1 gives you full access to the new generation Operations Dashboard on-premises and is supported by data fed from regular ArcGIS feature services, so there are no additional impacts.

Authoritative Content Management

What is it?

As your ArcGIS for Mining implementations grow, more and more users should be leveraging it to create their own content – web map mashups of layers being the most common, but also their own published data services, or even their own apps. As this continues to happen, a new user may search for “boreholes” and be given back 25+ layers as a result, called “Boreholes”, “Boreholes_1”, etc. To support better organisation of those items, ArcGIS Enterprise has three new capabilities:

  1. Authoritative content can be marked as such by the item owner (and they need to have permission to be an authoritative content custodian) so that users can quickly identify which is the “master” version.
  2. Deprecated content (items that are no longer usable or authoritative, like an old version) can be marked as such
  3. Items can be places into categories – these are a curated set of organising categories that aid search and filtering for users

How does it help?

Users can now easily see which “Borehole” layer they should be using and which are copies. This is crucial as they start to use those data layers to create actionable information. As the number of items increases, having categories to help sort through the sheer numbers is incredibly helpful – for example to find all the layers available for the “Environment”.

What are the impacts?

There are no technical impacts after upgrading to 10.6.1, however the content items and categories must be configured in the portal. This means the administrator needs to create the categories (a good starting point is the ISO 19115 spatial data categories: Existing content items must then be assigned to those categories and/or marked as authoritative/deprecated.

Integrating with business systems – where to start

Esri’s goal with the WebGIS (see this blog on “What is Web GIS”)concept is to break down silos and make spatial data and processing services accessible to anyone that wishes to use them. This concept falls right into the hands of many organisations, who wish to integrate their systems, allowing processes and decision making to be based on authoritative and accurate data. Should an organisation not reap as much benefit out of a legacy system as possible, the risk of losing the backing of management could inevitably lead to budget cuts or even closure of departments. It is therefore of integral importance that any system provides an organisation with a business case and functionality that is critical to the day-to-day running of the organisation.

For this purpose, one of the core functionalities that all systems must provide their clients is the capability of integrating with other systems. The value of accessing data and services from other systems, through a single platform, is immense. The intention being that processes are streamlined; product quality and performance are improved and ultimately, decision making is based on a holistic view off all relevant authoritative dataset from the key stakeholders in your organisation.


But what does it mean to integrate and how does one go about integrating one system with another?

Quite simply put, integration means, accessing information and\or services of one (or many) system(s), on a different platform. We want to do this for 3 main reasons:

  1. Geocentric Application: As the “geocentric” term alludes to, this is a GIS orientated pattern, where the organisation’s business data is accessed via the geospatial platform, like the municipal cadastre, that is updated daily by diligent GIS staff at your local municipal offices. The content consists predominantly of spatial data and geoprocessing tools to enrich the business data and is utilised by staff that have a background in GIS.
  2. Geo-Enable Application: This pattern leans heavily towards the business’ system hosting the data, while the GIS platform’s role is to provide functionality and capabilities to the business system, that would not otherwise be offered. Be it address geocoding of data, map visualisation window for location verification during a process or field mobility capabilities, the geo-enablement pattern enriches the business system with useful capabilities that fall outside of the its core strengths.
  3. Composite Applications: Should an organisation have multiple systems and none of them are considered as the central hosting framework, then the composite application is considered as the business pattern to pursue. In this case, web services and capabilities from the various systems are integrated to provide superior functionality. 

    Integration patterns for business systems

    What about web services?

    Having got the complicated concepts out of the way, we can go ahead and look at how to go about integrating with the ArcGIS platform.

    First and foremost, you don’t have to be a developer to integrate your ArcGIS Enterprise with another system. Esri has made the integration process very easy by allowing users to add web service URL as items, to their ArcGIS . As in “<item’s id>/arcgis/rest/services/<feature name>/FeatureServer”. Be it ArcGIS Desktop, ArcGIS Online, ArcGIS Enterprise or a wide variety of ArcGIS apps, adding web services is a simple procedure.

Integration Example – ArcGIS Online Add Item

Should your organisation wish to integrate their system with certain features of your GIS platform, you can simply provide them with the desired feature service’s URL to the system’s administrator. They will then gain access to the data or GIS capabilities you have provided them with, for their own use.

Complexity comes in the form of the data’s format. In some cases, it is necessary to make alterations to the format of the incoming service, in order for a system to consume the incoming service correctly. In cases like this, some additional configuration will be required.

Integration fails due to compatibility issues

In this regard, Esri has you covered, with the Data Interoperability for ArcGIS extension.

It’s interoperable, silly!

This extension allows users to build ETL (Extract, Transform and Load) tools, that can convert almost any datatype into a format that the destination system can consume. The interoperability extension can be a once-off ETL task that is run from the ArcGIS desktop software, or an automated ETL task (check out this blog, which covers ETL automation) can be set to run, which will translate the incoming service stream into a compatible format, in real-time.

ETL tool converting data from its source, into compatible format

Even though integration is a daunting process, that can easily become complex and messy process, Esri provides simple tools and literature to aid any GIS professional to start the process and do the job right the first time.

So, if have not integrated your GIS implementation with other business systems, then now is the time to get going!


P.S.: Here are some helpful resources to start off with.

–              Architecting the ArcGIS Platform: Best Practices

–     Data integration

–              All you need to know for ArcGIS web services

–             An informative blog post on the Data Interoperability for ArcGIS extension

How to install the ArcGIS API on ArcGIS Pro Python (offline)

Esri has fully embraced Python for ArcGIS and sees Python as the language that fulfills the needs of the user community. Previous versions of ArcGIS Desktop (ArcMap and ArcGIS Pro up to version 1.2) used Python 2. Since the ArcGIS Pro 1.3 release, ArcGIS Desktop has made use of Python 3, bringing with it some changes to the tools.

ArcPy is a Python site package that, when used with Python, provides a useful and productive way to perform geographic data analysis, data conversion, data management, and map automation. By default ArcPy is installed as part of ArcGIS Desktop.

The ArcGIS API is another Python library focused on Web GIS. It provides powerful tools that can be used for vector and raster analysis, geocoding, map making as well as managing an ArcGIS Enterprise system.

In a lot of cases, one might need to use both of these packages in the same script in order to automate a specific workflow.

The online help documentation has a lot of tips, tricks and other bits of information to help you get started, including methods of installing the API. The easiest way to install the ArcGIS API is through the ArcGIS Pro Python Package Manager, however, this needs internet connectivity in order to download the package from the internet. So, what happens when I am in a disconnected environment?

According to the online help, the API can still be installed to the Anaconda instance of Python if you have downloaded the package beforehand. The challenge here is that now one can use the ArcGIS API, but only through the Anaconda Python installation. However, the Anaconda version of Python does not have the ArcPy package installed.

In the same way, I can use the Python instance installed with ArcGIS Pro in order to utilise the ArcPy capabilities, but I will be unable to access the ArcGIS API functionality.

A quick workaround

The default install location for ArcGIS Pro Python is installed at:

C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3

This installation stores and manages all its packages in the folder path below:

C:\Program Files\ArcGIS\Pro\bin\Python\pkgs


In order to be able to use the Python API in the ArcGIS Pro installation of Python, simply copy the package folder from an already installed API into this folder, restart ArcGIS Pro and voila!



FIFA World Cup 2018 Stadium Guide – Russia

FIFA World Cup 2018 Stadium Guide – Russia

The background story…

The motivation to create this story map series application is sourced from my true love for soccer (or as some like to call it, ‘football’).  I have always watched and loved soccer, and have a key interest for the English, Spanish, German, and South African leagues.

After following the 2017 FIFA Confederations Cup, which was hosted in Russia, I was interested in how the different host stadiums looked, and where they are located. This interest comes from my GIS (Geographical Information Systems) background – and now to fuse my two passions together, this was an exciting activity for me to complete.

Map soccer ball
How I like to see the world…

The goal…

The purpose of the ‘FIFA World Cup 2018 Stadium Guide’ application is for the public to be able to get thorough insights about each of the host stadiums, see how they look, obtain game fixtures, and explore each of the surrounding host stadium’s locations.

The method…

Firstly, I had to collect spatial and attribute information from the Internet, via various sources, to have enough of a foundation to create the source dataset, including the locations and information for each stadium.

The next step which I followed was to create customized (3D looking) stadium icons with Adobe Photoshop, as I wanted to include a picture of each stadium in the location markers for better effect.

Mordovia Stadium location marker icon
An example of the customized location marker icon for Mordovia Stadium

Once this process was complete, the stadium dataset had to be created, packaged, published to the web, hosted and ultimately be processed so that it could be used in the ‘FIFA World Cup 2018 Stadium Guide’ application.

I used a variety of Esri’s ArcGIS products to create this story map series application, namely:

ArcGIS Pro (Desktop)

This is where the file geodatabase, which included all the stadium locations and attribute data was created. Additionally, I created the 3D multipatches as well using ArcGIS Pro, for those stadiums which I could get existing 3D models. ArcGIS Pro was also used to create scene layer packages of the source data, which could be hosted in ArcGIS Online for the application.

Luzhniki Stadium 3D model
The 3D model used for the Luzhniki Stadium










ArcGIS Pro
Creating a scene layer package in ArcGIS Pro

ArcGIS Online

This is where I could use the hosted scene layer packages as input for web scenes, and then link these web scenes to the story map series template, to ultimately create the application. This application is hosted on ArcGIS Online.

Esri’s ArcGIS products give the user a great amount of flexibility, interoperability and a variety of configurations which can be altered to create a unique application. ArcGIS Online allows for the user to be able to host, author, and share one’s data, web maps, web scenes, and applications on the web.

The next step…

The future for this application would be to link it to a related application, depicting up-to-date progress, results, and news of the FIFA World Cup 2018.

You can access the FIFA World Cup 2018 Stadium Guide – Russia by clicking here.

Survey123 – Progress / Increment bar

Let’s kick the year off with something special – A customized progress /  increment bar for Survey123!

For a recent survey that I designed I wanted to give the user visible feedback of a risk factor calculation. Have a look at the video below to see how striking the end result is:

Let’s break the Progress / Increment Bar down into it’s capabilities:

  1. A color ramp to visualize the score (similar to the score distress bar)
  2. A progress increment indicator (□□□□□□□□□□)
  3. Expand and contract the bar according to the score

How was this achieved? Let’s look at the components needed to make this work:

Color Ramp

The color ramp changes according to the score, which runs from 0 to 10 in this case. We could sit down and pretend to be graphic artists and create a color ramp from scratch, or we can use one of the handy websites which creates beautiful color ramps for us!

Let’s head to RGB Gradient Generator or any RGB gradient generator of your choosing.

Now choose your start color and your end color for your ramp (in my case green to red) and choose the number of steps required (in this case 11, which corresponds with our allowable score values):


Next you need to choose a generated gradient and copy the gradient indexes and corresponding hex values to Notepad++ in order to create a CSV file which will act as a color value lookup which is based on the score calculated:


Now we have a handy way to color the bar according to the score calculated. To retrieve the color for each score, we simply have to use the pulldata() function of Survey123:

${color} = pulldata('ColorLookup', 'hexvalue', 'colorvalue', string(int(${score})))

In order to use this hex color we need to use some html magic:

<font color="#',${color},'">

Progress Indicator

The progress indicator is actually a string of HTML Unicode characters (UTF-8).

Let’s go shop for a pair of Unicode characters to use for the progress bar at UTF-8 Geometric Shapes

You can play around with the various character options but in essence you need a pair of Unicode characters; one to show up as “filled” and colored in, and one that seems to be “empty”:


I found it useful to add the character pair strings to a CSV file since it abstracts the solution:


In the CSV file I simply Copied & Pasted each character 10 times to make two strings that are each 10 characters long. Item 1 in the CSV then represents the filled in section of the progress bar (e.g. ■■■■■■■) and Item 2 represents the “empty” part of the progress bar (e.g □□□).

We now have two strings of 10 characters each and we can access them in our survey with the pulldata() function:

${barString} = pulldata('CharStringLookup', 'textvalue', 'item', '1')
${emptyString} = pulldata('CharStringLookup', 'textvalue', 'item', '2')

Expanding and Contracting the Bar

Now we can color our progress bar and we can visually differentiate between the “filled” in part and the “empty” part of the progress bar by using our Unicode character pair. All that is left is to cut our strings to size (according to the score e.g. 1/10) and combine and color it according to the color ramp already calculated.

Our score in the survey can run from 0 to 10 so the progress bar should mimic that by filling up from 0 to 10. We can achieve this by using the SubStr(<string>,<start>,<end>) function on each of our character strings. When the filled in part expands, the empty part should contract, so there is an inverse relation between their lengths.

Using two substring functions we can easily cut our two strings to size:


Now all we need to do is to set the color of the filled in section to our ramp color and then concatenate the strings together with the concat() function:

concat('<font color="#',${color},'">', 

substr(${barString},0,${scorelength}), '<font color="black">',

substr(${emptyString},0,${scoreinvertlength}),'<br>',string(${score}), ' / ' ,${scoremax})

The second font color setting colors the empty part of the progress bar in black for a nice contrast in colors.

As always, feel free to use and adapt as needed!

The source files for demonstration can be found here:  Zip file


Survey123 with a single attribute for repeating generic questions (instead of multiple attributes); and an auto-incremented list!

Example Requirement:


You are being tasked with creating a Disaster Risk Assessment form (as above) which requires the field worker to capture the risk factor associated with 14 Hazard Items:

  1. Avalanche
  2. Animal disease outbreak
  3. Drought
  4. Earthquake
  5. Epidemic
  6. Flood
  7. Hurricane
  8. Landslide
  9. Pandemic
  10. Tornado
  11. Tsunami
  12. Volcanic eruption
  13. Wildfire
  14. Winter storm

Each of these Hazard Items require the field worker to assess the risk factors of the hazard as follows:

  1. Affected Area (Very small=1, Small=2, Medium=3, Large=4, Very large=5)
  2. Probability (0% chance=1, 30% chance=2, 60% chance=3, 80% chance=4, 100% chance=5)
  3. Frequency (> 20 years = 1, 1 to 20 years = 2, Annually = 3, Monthly = 4, Weekly = 5)
  4. Predictability (100% Predictable = 1, Fairly Accurate to Predict = 2, 50/50 predictable = 3, Slightly Predictable = 4, Cannot Predict = 5)
  5. Magnitude (Low = 1, Low to Medium = 2, Medium = 3, Medium  to High = 4, High = 5)

A hazard score is calculated with the above risk factors as follow:

Score = Affected Area*0.5 + Probability + Predictability + Magnitude*1.5 + Frequency

Survey / Feature Class Design:

Having worked with Survey123 before we might be tempted to jump into it and simply create 14 questions, one for each Hazard Item listed in the requirement. The number of attributes quickly escalates however, since we also need to capture the associated Risk Factor for each Hazard Item – which results in a LOT of attributes! That doesn’t sound like a good design anymore, does it?

If we first designed this Feature Class in ArcGIS Pro we would probably design it simpler and lighter; perhaps a design like the one below, where each hazard item is not a separate attribute but a generic field which stores the Hazard Item descriptions:


That looks better, but how do we marry these two designs and also keep in mind the “limitations” of Survey123, seeing that Survey123 only allows one answer per “question”? An alternative would be to use a repeat section in the survey. A repeat section would give us the ability to add each Hazard Item as a (related) record whilst saving the Risk Factors in attributes.

Good, a Repeat Section it is… but how do we make it easy for the hapless field worker to capture 14 attributes and then still expect him/her to remember which hazards have been captured and which ones haven’t? It would be downright cruel to have the user choose the hazard item from a drop-down, like this (mistakes will happen!):


Let us improve on this design.

It would be great if the field worker didn’t have to remember which hazard is next in the sequence, so if we can add an auto-incremented hazard list to the design it would be great! It would also be nice if the field worker could see some kind of progress as the survey is completed – for instance Hazard 5 of 14 captured.

Luckily Survey123 allows us to do all of these things. Look at the final design in action:


This solution comprises:

  • An auto-incremented Hazard Item (leaving no room for mistakes!)
  • An incremented counter showing the capturing progress (for example 1 of 14)
  • A clean database design that looks like this:SchemaS123
  • A happy field worker!

So how did we achieve this design?

In the repeat section of the survey, add a counter variable (count1) that we use for the increment:

calculate count1 count1 1
calculate counter Counter once(count(${count1}))

The count() function does a count of the number of repeats by simply counting all the count1 values. The once() function ensures that the count calculation only happens once, otherwise we will have an issue when the user traverses backwards through the list and the count() is recalculated.

Now, for the magic bit…

Create a CSV file with all the Hazard Items and their indexes in it. The file will look like this:


Now all we need is to hook up our incremental index (the ${Counter}) with the Hazard Item. This is done with the pulldata() function as follow, where HazardEntryLookup is our CSV file:

pulldata('HazardEntryLookup', 'hazard', 'hazardindex', string(${counter}))

Now, all that is left is to enable the 1 of 14, 2 of 14, etc functionality. This is done by specifying that the Repeat count should not exceed 14 (our number of hazard items). So setting the repeat_count option for the Repeat sorts that out nicely!

As always, here is the complete set of files used for this demonstration, feel free to use an adapt as necessary:

Source files

For my upcoming Blog I am going to show how to make an interactive progress / risk visualization bar in Survey123! Here is a sneak peek of the end result: