GIS Concepts

A geographic information system (GIS) is a system designed to capture, store, manipulate, analyze, manage, and present all types of geographical data. One example of a GIS software is ArcGIS from the company ESRI. ArcGIS enables geographical information to be published to a server. The published information could then be shown in a web application, such as IFS GIS Map. This enables easy access to business information by using a map. Some general definitions are useful to understand:

Publish a map to a service

Publish a map is the first step and done outside IFS Applications, using an ArcGIS desktop tool, ArcGIS Server Manager or by using ArcGIS Portal. A service can be created from many data sources e.g. service definition files or even CSV files. The service, once it’s published is stored on an ArcGIS Web server. The service is accessed by using a server address (URL), like this: http://<host>:/argis/rest/services

The service directory contains detailed information about services and map layers. A map layer represents geographical data in GIS and defines a GIS object’s properties and how it is symbolized. It also reference the data stored in ArcGIS. Each layer is defined with a unique identification number. A layer’s unique number together with server address (URL) is used by basic data in GIS Map, in order to filter what geographical information to be shown. It’s also used in order to define possible connections between GIS objects and IFS business objects.
What to publish and how it should be published is decided by the customer together with an expert on GIS. A few consideration and some different strategies should be evaluated during the creation of a new service, in order to gain best performance and also to meet the requirements from business:

Note! The default name for the field is IFSID, but it is possible to have a different name. The selected field name must also be entered as parameter value in Solution Manager/System Parameters window. The name of the parameter is Name of field that uniquely identifies an object in GIS Map.

The layer mapping and the configuration of the map should be carefully planned together with a GIS expert, customer and an IFS consultant. A GIS expert has knowledge about the content of published services and could give advice about how to best mix editable or read-only layer to gain optimal performance and usage of published maps. The GIS expert could also add the above field IFSID on editable layers. The customer gives information about its business needs and when an editable layer must be used in order to enable connections. IFS system administrator knows about available LUs and its content and could create the wanted layer mapping and enable the wanted business information to be shown in the map.

GIS objects to be connected against IFS business objects

A GIS object belongs to a specific layer. These layers are defined in GIS object layer configuration and assigned with a business object’s LU name. For example, GIS objects in a layer that represents pipelines could be assigned to a LU in IFS, where linear asset information exists. This enables the graphical representation of a pipeline in the map to be connected against corresponding business object representation in IFS. The configuration is done in layer mapping & layer group configuration in IFS.

Layer Types in GIS Integration

GIS integration is grouping layers into three Layer Types: Basemap, Read Only and Editable. These three layer types is a simplified view and enables users to easier understand how layers are used without having to understand the underlying technical details. The name of these layer types gives a clear and easy information about what a layer is used for.

Layers defined with type Basemap is first drawn in GIS Map and secondly Read Only and finally layers defined as Editable. Layers within each layer type is also drawn according to the defined sort order in Layer Mapping window and where layer with lower sort order number is drawn first. Layer navigator can also be used in order to understand in which order layers are drawn:

Basemap

Layer A with sort order 1

Layer B with sort order 2

Read Only

Layer C with sort order 1

Layer D with sort order 2

Editable

           Layer E with sort order 1

           Layer F with sort order 2

This will draw layers in the following order: A, B, C, D, E and F. To move layer E, so that it's shown on top of layer F, simply change sort order in Layer Mapping window. This will also be reflected in Layer Navigator:

Editable

           Layer F with sort order 1

           Layer E with sort order 2

Technical information about Layers

GIS Map is implemented by using ArcGIS Javascript API. The API enables layers to be added by using a few different Javascript classes. Refer to ArcGIS Javascript API reference section for a list of all classes. GIS Map is today implemented to add layers from three classes: ArcGISDynamicMapServiceLayer, ArcGISTiledMapServiceLayer and FeatureLayer.

Layers for GIS integration are added in Layer Mapping window and must be defined with a layer type (Basemap, Read Only or Editable).

Basemap Layer

Basemap layer enables a background map to be shown. These layers are read-only and could not be connected to IFS business objects. A typical customer in service might have several basemaps in use; for call center: Street, for Technicians: Street and Network and for engineering department Network, Utility Services and Land Planning maps.

Some basemaps are available on ArcGIS online. These basemaps are free to use and could be a good starting point: http://server.arcgisonline.com/arcgis/rest/services

Layer Display Name Map Service URL Description
Light Gray http://server.arcgisonline.com/arcgis/rest/services/Canvas/World_Light_Gray_Base/MapServer Only key information is represented to provide geographic context, allowing your data to come to the foreground.
Terrain http://server.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer The basemap features shaded relief imagery, bathymetry, and coastal water features designed to provide a neutral background for other data layers.
Ocean http://services.arcgisonline.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer The basemap features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery.
Topographic http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer The map includes administrative boundaries, cities, water features, physiographic features, parks, landmarks, highways, roads, railways, and airports overlaid on land cover and shaded relief imagery for added context.
Streets http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer This comprehensive street map includes highways, major roads, minor roads, one-way arrow indicators, railways, water features, administrative boundaries, cities, parks, and landmarks, overlaid on shaded relief imagery for added context.

Street basemap is used in GIS Map window when no other basemap is defined.

Imagery http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide.

A Map Service can be defined to draw dynamically from the data (ArcGISDynamicMapServiceLayer) or by using tiles from a cache (ArcGISTiledMapServiceLayer), in a GIS application. Both situations works fine for layers defined as Basemaps in GIS Map:

There could be situations where services use tiles from a cache (ArcGISTiledMapServiceLayer) from different data sources and/or different spatial references where only one of the them will load data in GIS applications. Try to avoid this situation by adding all services using cached tiles on the same server and by using the same spatial references on all services. An alternative might also be to show some of the cached layers as Read Only layers and where they will be loaded as ArcGISDynamicMapServiceLayer.

A layer from a Map Service have the word MapServer in the end of the URL. Layers from a Map Service can be defined as Basemap or Read Only in GIS integration. Layers from a Map Service cannot be defined as Editable in GIS integration.

Read Only Layer

Read only layers enable GIS objects to be shown in GIS Map. These layers are used for information purpose in GIS Map and connections to business objects cannot be made. These layers loads quicker compared to editable layers and could also be cached on the ArcGIS server to gain performance. Editable layers cannot be cached.

A Map Service can be defined to draw dynamically from the data (ArcGISDynamicMapServiceLayer) or by using tiles from a cache (ArcGISTiledMapServiceLayer), in a GIS application. Layers defined as Read Only always load data as ArcGISDynamicMapServiceLayer, in GIS Map, regardless if the service is cached with tiles or not. Use the type Basemap if the service is defined to use tiles from a cache and it's required to load as ArcGISTiledMapServiceLayer.

A layer from a Map Service has the word MapServer in the end of the URL. Layers from a Map Service can be defined as Read Only or Basemap in GIS integration. Layers from a Map Service cannot be defined as Editable in GIS integration.

Editable Layer

Editable layer enables GIS objects to be shown in GIS Map and connections to IFS business objects to be made. These layers should have been published using an ArcGIS service where edit possibilities are enabled. Entering a LU is mandatory for these layers, for example create a record to show electrical distribution lines or pipelines in GIS Map and enable it to be connected to linear asset objects in IFS. Editable layers loads slower compared to read-only layers. Editable layers is also required for some GIS Map tools:

Some considerations for editable layers

Layers from a Feature Service can only be defined as Editable in GIS integration. They will be drawn by using the FeatureLayer class in GIS Map. GIS objects in a feature layer can be edited if the isEditable method is true.

A layer from a Feature Service has the word FeatureServer in the end of the URL. Layers from a Feature Service can be defined as Editable in GIS integration. Layers from a Feature Service cannot be defined as Basemap or Read Only in GIS integration.

Technical information about measurements widget and geometry service

The Measurement widget provides tools for calculating the current location (Get Location) and measuring distance (Measure Distance) and area (Measure Area). If the map's coordinate system is not Web Mercator or geographic or if complex polygons are drawn the measure widget will need to use the geometry service to project or simplify geometries:

Geometry service to be used by measurements widget in GIS Map window can be defined by a system parameter in Solution Manager/System Parameters window. The name of the parameter is URL to the Geometry Service used by the Measurement tool in GIS Map (optional). Default value is NONE.

Experimental debugging of a layer in ArcGIS.com Map

This section describes a few experimental and unsupported features in GIS Map.

Open a layer in a external web application or open the layer on its ArcGIS service page, can be useful during debugging and testing of GIS Map. Parameters enables this. Create a new shortcut for GIS Map window in IFS Enterprise Explorer and add parameters.

This adds a globe, close to all layers in layer navigator. Click on the symbol and the layer is opened in ArcGIS.com Map:

This adds an arrow, close to all layers in layer navigator. Click on the arrow and the layer is opened on its ArcGIS service page:

This adds a button in Serach and Select panel with the name Show Mock Values. Click on the button and it generate a page showing all values that have been sent into GIS Map: