Click here for end user documentation
Geospatial reporting must understand which fields in your installation point to fields such as latitude and longitude. These fields are processed as a group so the link between which fields comprise addresses and the corresponding latitude and longitude must be defined. You may also have several fields that all have the same context, for example more than one field for latitude, or more than one field with the city name. Each field is defined with a global attribute which identifies the collection of fields that are used together. This is termed a GEO_GROUP and you may have any number of of these. Typically a GEO_GROUP will have most of these fields:
- Latitude
- Longitude
- Street Address
- City
- State and or County
- Zip or Postal Code
- Country
- Map Reliability Level – used to identify the lowest level at which an address is determined to be accurate
- Boundary Level – used to set a level for the address fields so that the correct order for data is known. E.g. Country –> State –> City –> Zip Code.
Any field with the correct display type may be used as part of your geospatial capture and reporting; your ExtraView installaton is preconfigured with a set of suitable fields and values identified using the global attribute name of GEO_GROUP.
You can create additional sets of fields and group these with the global GEO_GROUP attribute and providing your own name for each group.
The ideal configuration is one where you use an address verification service to check addresses you enter. These services both validate an address and return the precise street-level geolocation of a verified address. Contact ExtraView Corp. for details if you require assistance configuring this feature – ExtraView Corp. can license this service on your behalf. Note it may not be available for all countries in the world.
Built into ExtraView is a more straightforward means of deriving the latitude and longitude of an address that does not require the use of an address verification service. This provides geocoordinates to the city level internationally, and to the zip code level within the USA. Once configured, when you enter a complete or partial address into an issue, ExtraView can determine the closest latitude and longitude and automatically store these values within your issues, making them available for the generation of maps within reports.
Summary of Steps to Configure Geospatial Reporting
- Load the geospatial data
- Load Shapefile data if you intend to produce Shaded and Heatmap output – users will primarily use these for scheduled reports
- Load geospatial coordinate data – this will be used to geocode address data entered. The data supplied will geocode US data to the closest Zip code. Users utilize this data for the production of interactive heat maps. This step is not required if you will use an address verification service which geocodes your data to the street level
- Setup the Data Dictionary fields with their global attributes. This is a required step
- Load list data – these lists are provided to reduce the effort of configuring data such as lists of Countries and Cities. This is an optional step
- Configure your layouts – place the fields you have configured onto the appropriate add and edit screen layouts. This is a required step
Loading Geospatial Data
In order to set up geospatial reporting, two types of data are provided. You may load one or both of these dependent upon your requirements.
- Shapefiles – these files contain vector-based polygons that provide the outline of territories, such as the outline of Countries, States, Counties, etc. The shapefiles provided with ExtraView provide outlines of the Countries of the world, the States and Counties within the USA and the Provinces within Canada. Other shapefiles can be sourced and loaded. Shapefiles are used to generate shaded maps and heatmaps. These maps are ideal for reporting where the requirement is to generate Adobe PDFs which are distributed via the report scheduler. The maps may also be presented within user’s browsers. If you only want to produce interactive maps, shapefiles do not need to be loaded
- Geospatial Coordinates – these files provide the latitude and longitude of locations. They are not required if you subscribe to an address verification service to validate addresses entered and to return the geocoordinates of the validated address. The files provided are used to return the geocoordinates of all major cities and major administrative areas within the world (States, Provinces or Countries), and the States, Cities and Zip Codes within the USA. When configured as described on this page, the geospatial coordinates provide the means to add the latitude and longitude to any issue from the address information that users enter. These coordinates are not accurate to the street level, but are accurate enough for most reporting purposes. Additional geospatial coordinate files may be sourced and loaded for other parts of the world.
Loading Shapefile Data
The shapefile data supplied with ExtraView is loaded as follows. Additional data sourced for other locations is loaded into your database in the same manner as described here. The shapefile data provided is:
- Country outlines for all countries in the world
- Outlines of all States within the USA and Provinces within Canada
- Outlines of all Counties within States within the USA
To load the data, a utility named populateShapeFiles is run externally to ExtraView as a Java application. This utility loads files that are contained in a subdirectory of the ExtraView directory named WEB-INF/data
. All files within this directory with an extension of .shp
are loaded. The data supplied with ExtraView is in the directory named WEB-INF/data/geoshapefiles
. There are a series of files, with the extensions .dbf
, .prj
, .shp
and .shx
. Each set of 4 files comprise a single shapefile.
The populateShapeFiles utility takes these arguments:
JAVA_HOME
TOMCAT_HOME
EV_BASE
- Optionally, the name of the directory under
WEB-INF/data
where the script files are stored if you do not intend to usegeosshapefiles
.
Any errors encountered while running the utility are communicated to the console as well as to the ExtraView application server log.
Windows Example
This example will load the data supplied with ExtraView and assumes that the environment variables JAVA_HOME
, TOMCAT_HOME
and EV_BASE
have been set.
Change your working directory to %EV_BASE%/data
Enter the command:
populateShapeFiles.bat %JAVA_HOME% %TOMCAT_HOME% %EV_BASE%
Linux Example
This example will load the data supplied with ExtraView on a Linux server.
Change your working directory to /data
Modify the script named populateShapefiles.sh
and edit the JAVA_HOME
and TOMCAT_HOME
entries to point to the correct places on your server
Enter the command:
./populateShapeFiles.sh EV_BASE [geospatial directory name]
EV_BASE
is the base location of ExtraView and [geospatial directory name]
is the optional directory name for the files with geospatial information if the directory name is not geoshapefiles
.
Loading Geospatial Coordinate Data
The geospatial coordinate data supplied with ExtraView is loaded as follows. Additional data sourced for other locations is loaded into your database in the same manner as described here. The geospatial data provided is:
- Country level data for all countries in the world
- Top administrative level within each country. For example the geolocations for States in the USA, Provinces in Canada, and Counties in the United Kingdom
- Within the USA, geospatial coordinates for each County within each State
- Within the USA, geospatial coordinates for each Zip Code
To load the data, a utility named populateGeospatialTables is run externally to ExtraView as a Java application. This utility executes scripts that are contained in a subdirectory of the ExtraView directory named WEB-INF/data
. All scripts within this directory in files with an extension of .sql
are executed. These scripts may all be contained within a single zipped file (with the extension of .zip
. The data supplied with the installation is in the directory and file named WEB-INF/data/geoscripts/geoscripts1.zip
.
The populateGeospatialTables utility takes these arguments:
JAVA_HOME
TOMCAT_HOME
EV_BASE
- Optionally, the name of the directory under
WEB-INF/data
where the script files are stored if you do not intend to usegeoscripts
.
Any errors encountered while running the utility are communicated to the console as well as to the ExtraView application server log.
Windows Example
This example will load the data supplied with ExtraView and assumes that the environment variables JAVA_HOME
, TOMCAT_HOME
and EV_BASE
have been set.
Change your working directory to %EV_BASE%/data
Enter the command:
populateGeospatialTables.bat %JAVA_HOME% %TOMCAT_HOME% %EV_BASE%
Linux Example
This example will load the data supplied with ExtraView on a Linux server.
Change your working directory to /data
Modify the script named populateGeospatialTables.sh
and edit the JAVA_HOME
and TOMCAT_HOME
entries to point to the correct places on your server
Enter the command:
./populateGeospatialTables.sh EV_BASE [geospatial directory name]
EV_BASE
is the base location of ExtraView and [geospatial directory name]
is the optional directory name for the files with geospatial information if the directory name is not geoscripts
.
Geospatial Global Attribute Definitions
As stated above, your ExtraView configuration is preconfigured to work with geospatial reports. You may define additional groups of fields for geospatial working within your site or you may alter the default configuration provided. For example, you might define different GEO_GROUPS for different tracking applications in different Business Areas and Projects within your installation or you may want to alter the default GEO_GROUP name (which is GEO_GROUP).
Attribute | Field Type | Purpose |
GEO_GROUP | — | The name of the group of attributes that collectively define the information required to save geocoded information. All attributes within a group must have the same name. This allows you to define any number of groups for different purposes, with each group pointing to different fields for latitude, longitude, etc. Examples of names are GEO_GROUP (the preconfigured group name), MY_GEO_GROUP, or NORTH_AMERICA_GEO_INFO. This attribute name is placed on all the fields that form a group. |
GEO_LATITUDE | Decimal | This attribute is placed on the field that contains the latitude of the address for the GEO_GROUP |
GEO_LONGITUDE | Decimal | This attribute is placed on the field that contains the longitude of the address for the GEO_GROUP |
GEO_RELIABILITY_LEVEL | List or Text field |
Depending on the source of the geocoding information (anywhere from manual entry to automated lookup of latitude and longitude) ExtraView may detect that the information entered is inaccurate. For example, you might try to enter a latitude and longitude for an address in the State of California and the geo coordinates you provide are obviously in a different part of the USA or different part of the world. ExtraView can determine the most reliable level of the data. For example, if the geo coordinates are in New York and the address entered states that it’s in California, the reliability level will be the Country level of the USA. Similarly, if you enter an address which states that a City’s name is in the state of California, but no such City name exists, the reliability level will be set to the State level. |
GEO_ADMIN_BOUNDARY_LEVEL | — | This attribute provides the level of the data for the field within which it’s defined. For example, the field which contains the values for the Country will most probably have a GEO_ADMIN_BOUNDARY_LEVEL of GEO_ADMIN_BOUNDARY_LEVEL1 and the field that contains the values for the State will have a GEO_ADMIN_BOUNDARY_LEVEL of GEO_ADMIN_BOUNDARY_LEVEL2 |
Optional List Values
Whilst any of the fields you use to hold address data may be text or list-based, it is common to use list type fields for shorter lists such as Country names or State names. ExtraView provides data for a number of lists and you may create user defined fields and load the data supplied into these fields. These lists are in the English language.
The step itemized above, to load geospatial coordinate data can be complemented by utilizing field lists within your ExtraView installation that contain data such as Country names and State names. To load any of these fields with data, create a list or pop-up list field within the data dictionary, and use the Import Field Values button within any of the fields to load one or more of the following lists. These lists may be loaded into separate fields, or combined together in any different combination of fields.
Location of Data | Purpose |
WEB-INF/data/countries.txt | A list of the full names of the Countries in the World |
WEB-INF/data/countries-iso-alpha-2.txt | A list of the ISO 3166-1 alpha-2 character abbreviations of the Countries in the World |
WEB-INF/data/countries-iso-alpha-3.txt | A list of the ISO 3166-1 alpha-3 character abbreviations of the Countries in the World |
WEB-INF/data/au-states.txt | A list of the States and Territories of Australia |
WEB-INF/data/ca-provinces.txt | A list of the Provinces and Territories within Canada |
WEB-INF/data/cn-divisions.txt | A list of the Divisions of China |
WEB-INF/data/de-states.txt | A list of the States witrhin Germany |
WEB-INF/data/es-provinces.txt | A list of the Provinces and Municipalities in Spain |
WEB-INF/data/fr-regions.txt | A list of the Regions of France |
WEB-INF/data/it-regions.txt | A list of the Regions of Italy |
WEB-INF/data/ja-prefectures.txt | A list of the Prefectures of Japan |
WEB-INF/data/nz-regions.txt | A list of the Regions within New Zealand |
WEB-INF/data/uk-counties.txt | A list of the Counties within the United Kingdom |
WEB-INF/data/us-states.txt | A list of the 50 States plus the District of Columbia within the United States of America |
Example Configuration
Step 1
Within the data dictionary search for and edit the field named MAP_RELIABILITY_LEVEL. This field should be configured as follows:
Property | Value | |
Multiple Value | No | |
Allow selection on reports | Yes | |
Filter Criteria | Yes | |
Is sortable | Yes | |
Add a Global Attribute of GEO_GROUP | GEO_GROUP | |
Add the Global Attribute of GEO_RELIABILITY_LEVEL | — |
The field list values should be examined, and if necessary the titles may be altered for your configuration. The predefined values are:
Value | Sort Order | |
Country | 1 | |
State / Province | 2 | |
County | 3 | |
City | 4 | |
Zip / Postal Code | 5 |
Step 2
In the data dictionary edit the field named LATITUDE. It should be configured as follows:
Property | Value | |
Field Name | LATITUDE | |
Field Title | Latitude | |
Display Type | Decimal | |
Allow selection on reports | Yes | |
Filter Criteria | Yes | |
Is sortable | Yes | |
Global Attribute of GEO_GROUP | GEO_GROUP | |
Global Attribute of GEO_LATITUDE | — |
Step 3
In the data dictionary edit the field named LONGITUDE. It should be configured as follows:
Property | Value | |
Field Name | LONGITUDE | |
Field Title | Longitude | |
Display Type | Decimal | |
Allow selection on reports | Yes | |
Filter Criteria | Yes | |
Is sortable | Yes | |
Global Attribute of GEO_GROUP | GEO_GROUP | |
Global Attribute of GEO_LONGITUDE | — |
Step 4
If they do not already exist, create your own user defined fields in the data dictionary that hold data for the Country, State/Province, County, City and Zip/Postal Code. These correspond to the values created in Step 1. Frequently you will not require all of these fields. For example, it is common within the United States not to use County as part of the address. Configure the properties and permissions for these fields as necessary. The fields may be one of the following display types:
- Text
- List
- Pop-up
>It is typically more convenient to configure fields with shorter amounts of text as List or Pop-up types and fields with more data as Text fields. For example, Country is often configured as a List field and an Address field is usually configured as a text field. You may use one or more of the optional sets of list values to pre-load values into List and Pop-up list fields.
Add a global attribute for the GEO_GROUP name, which in our example is GEO_GROUP. Add the GEO_ADMIN_BOUNDARY_LEVEL global attributes as follows:
Example Field Name | GEO_GROUP | GEO_ADMIN_BOUNDARY_LEVEL | GEO_RELIABILITY_LEVEL | |
COUNTRY_NAME | GEO_GROUP | 2 | Country | |
STATE_NAME | GEO_GROUP | 3 | State / Province | |
CITY_NAME | GEO_GROUP | 4 | City | |
POST_CODE | GEO_GROUP | 4 | Zip / Postal Code |
Note that the GEO_ADMIN_BOUNDARY_LEVEL values do not correspond to the sort order of the values for the MAP_RELIABILITY_LEVEL values. First, the GEO_ADMIN_BOUNDARY_LEVEL value of 1 is defined as the level for the World. Secondly, when generating shaded maps and heat maps, ExtraView is only prepopulated with maps for the countries of the world, states and provinces of the USA and Canada, and counties of the USA. An interactive map of the world allows users to zoom in to street level from a map of the entire globe.
When adding the global attribute for the GEO_ADMIN_BOUNDARY_LEVEL, you set the Field property to the name of the MAP_RELIABILTY_LEVEL field. In our example, this is also MAP_RELIABILTY_LEVEL. The field value is set to the value in the above table. Note that both the City name and the Post Code share the same GEO_ADMIN_BOUNDARY_LEVEL. This is because the shapefiles loaded with the above populateShapeFiles
utility does not contain maps with City boundaries but contains maps at the Zip code level.
Step 5
Place the fields on the add or edit layout where you want the information to be geocoded. These fields will be:
- LATITUDE – you may hide this field on the layout, but this is where the latitude of the location you are geocoding will reside
- LONGITUDE – you may hide this field on the layout, but this is where the longitude of the location you are geocoding will reside
- MAP_RELIABILITY_LEVEL – you may hide this field on the layout, but this is where the map reliability level value of the location you are geocoding will reside
- According to your configuration, place the fields that define the following on your layout:
- Country
- State / Province
- County
- City
- Zip / Postal Code
- An optional step that allows the user to view the location on an interactive map is to define and embed a Geospatial Report within the add or edit screen. Please view the instructions on embedded reports for this.
At the end of the day, the configuration may present similar to this to the end user:
Multiple GEO_GROUP Configuration
This allows you to defined multiple, independent groups of fields where each group has completely independent working within a single ExtraView installation. For example, you might have one group that is used to map customer issues, while a second group might map the location of all your organization’s stores.
Each group must have its own set of fields as stated here. For the MAP_RELIABILITY_LEVEL, you may create an alias of the MAP_RELIABILITY_LEVEL field.