Chapter 8: Settings Page

The settings page allows the managing and defining of all advanced parameters of the current map.

 

 

Only authors have access to the settings page. It is accessible from the vertical menu by pressing on the button.

This page allows the configuring of the following elements of the application:

Only the authors can access this settings page.

This page allows the configuring of the following elements of the application:

8.1 Map Parameters

8.1.1 Default Extent at the Changing of Views

When the option is checked, you can choose a dataset from the view in order to position and zoom automatically on the corresponding dataset at the opening of the map as well as at the dynamic refreshing of the map/view.

8.1.2 View Switch Behaviour

This section allows the configuration of the map behavior when changing views from the Layers panel.

There are 2 options available:

 

Parameter

Role

Keep Map Extent

When this option is not checked, the view opens at the saved extent, or the data set extent selected at opening. Otherwise it is kept at the actual extent.

Keep Filters

When this option is not checked, the view opens with the filters selection from the last save. By checking the option the filters are kept as they were at the view switch.

 

8.1.3 Define Generalization Parameters

The author can specify the following generalization parameters:

8.1.4 Date Format

The date format indicates how dates data types must be displayed in the user interface. To know if a specific indicator is recognized as a date, you can go to the data panel > edit dataset > data configuration.

8.1.5 Print

The printing zone is never completely identical to the visible zone on the map because according to the scale the printing tool uses the closest zoom level. This difference is linked mainly to the ration of height/width of the printing template that is different of the one of the map.

The configuration of the zoom factor allows to artificially compensate the extent of the print. A value superior to 1 enlarges (zoom out) the extent of the printed map whereas a value inferior to 1 will slightly zoom in on the result.

8.2 Rights Management

By default, all users have access to the maps with the role that was assigned to them in the Administration. From the tab “Share” from the settings page it is possible to overwrite this behaviour:

  1. Either for blocking the access for certain users

  2. Or for overwrite the role to be used for one or more users

 

 

The sharing page is divided in two sections:

8.2.1 Actual Map Access Rights Management

This section allows defining the rights by default for the actual map.

Defined if the map is public or private.

When the map is public, it is impossible to overwrite the default role for every user that us the map.

 

 

The value “default” means that the default role will be used. It is possible to choose all the existent roles in the list (except administrator).

 

Remarque

If a map is private, by default only its creator can access it.

8.2.2 Add Specific Roles for the Following Users

The second section of the page allows adding exceptions to the previously defined rules.

Here it is possible to add users or user groups, and define their role on the map. Here furthermore, when the “Default” role is selected, the user accesses the map with the role by default.

The management rules are the following:

8.3 Info-Window Settings

It is possible to customize the Info-Windows by dataset. This customization needs knowledge of the HTML language and allows a very configurable outlook (according to what the HTML/CSS language allows to do).

The customization of the info-window for a dataset is done by activating the “custom” switch from the Settings page, and by clicking on the arrow close to the name of the data set:

 

 

The author writes the content in HTML in the right side panel and has the possibility to insert variables from the left panel. The variables represent the list of attributes of the dataset (value label).

This customization is reserved to the authors that master the HTML and CSS language.

8.4 Widget List

The author can specify which features/functionalities are available in the toolbar, and on the current map generally.

As indicated, reopening the map is necessary in order for the changes to become visible.

8.5 Filters

The filter settings page is used to configure the dynamic filters displayed on top of the map.

 

 

A filter is defined from a list of values for a field of a given dataset (a dataset listed in the data panel). Authors can add / delete filters from the settings page. For each filter, it is possible to customize the name and the type (MULTI: multiple values selectable, MONO: only one value selectable at a time).

When one or several filters are defined on a map, those filters are displayed as dropdown lists on top of the map. Users can then check/uncheck some values to filter the layers on the map.

8.5.1 Filters Management

The filters are managed from the settings page by clicking on the Data/Filters menu on the settings page.

This page lists the existing filters, and allows to add new ones, or delete existing ones.

A filter is defined by the following criteria:

 

 

By default, a filter has only one level. The adding of supplementary levels allows the creating of a hierarchy between several nesting criteria. For instance State>Counties>ZIP Codes.

Each level is defined by a field providing the filter values and optionally an alias. The alias is useful when the used filter values are using a code and we would like to present the user some more friendly names. For instance a FIPS can be represented by a name through an alias. It is also possible to choose, if we so desire, to sort the values of the level alphabetically, or not.

It is possible to modify, synchronise with the data, or to delete a filter by clicking on the  button of the corresponding filter.

 

 

Remarque

The actualization of the filters from the settings page creates automatically a link between the filters added and the corresponding dataset. This link is visible from the Filters tab from the Data panel.

It is also possible to link several datasets to a same filter as described in the following section.

8.5.2 Associating a Filter to a Dataset

Using the data panel, authors can link a filter with a dataset:

 

 

It is this association filter/data that allows the filtering when selecting values.

 

Remarque

A filter is not necessary used to filter the dataset it is based on. For example, one can use a list of values from an XLS file or a SQL query to filter a layer from the catalog. The only condition is that the filter values match with a column of the filtered dataset.

8.6 Webservices

The author can add webservices by entering the URL of the service or of the layer. This functionality allows to enrich a map with geographical data coming from an external service in a rapid mode (ArcGIS or WMS).

For each layer it is possible to:

 

Remarque

Warning: in order that the labels on Webservices to be able to be managed dynamically through the user interface, it is necessary that the “dynamicLayers” parameter of the map service to be supported.

 

The adding of an Webservice is done by:

  1. Entering the REST URL of a layer from ArcGIS Server

For instance: http://showme.galigeo.com/arcgis/rest/services/USA/MapServer/1

  1. Indicating the URL of the service to be added, in which case all the layers of the service are added automatically

For instance: http://showme.galigeo.com/arcgis/rest/services/USA/MapServer/1

 

Remarque

In order to be faster, it is possible to get the set of Webservices from another map using the button “Copy Webservices”. This operation replaces the Webservices of the current map with those of the selected map.

8.7 Settings for the Isochrones

 

Here it is possible to configure the default thresholds for isochrones in the TM projects.

The thresholds are configured for the whole application in the Administration and if one desires to have special settings for a map, first one has to check the checkbox "Override the configuration for this map". The configuration fields will appear in a similar manner as on the Administration page.

8.8 Predefined Queries

This page is linked to the Territory Manger. Therefore, it is displayed according to the application license level. The TM extension is necessary.

 

 

A predefined query is linked to a data source. It is a formula allowing to retrieve the records from a data source that correspond to a condition. The conditions can contain blanks (here variables) that will be entered by the user. These conditions are displayed automatically in the territory management when creating territories by query.

For instance, if a data source represents buildings, we could define the following condition: “M2>{{$value}}” where {{$value}} is a variable that will be entered by the user.

The field “Form” allows to associate a phrase comprehensible to a user for the defined condition. In our sample, we have “Surface superior to {{$value}}”.

The advantage to defining these conditions in the map settings is to provide the user with ready-made formulas for data extraction purposes. The user fills in the blanks of a intelligible phrase without knowing the formulas used in the condition.

8.9 SQL Query Builder

The SQL driver allows defining a dataset from an SQL query that is ran from an Oracle, Postgres, or SQL Server database. The queries are executed by request according to the map extent (for the queries having a geometric field), which allows the display only of visible data. This solution avoids also a join mechanism less performant that forces the querying of attribute data w/o special criteria.

8.9.1 How to Activate the Functionality?

The queries are defined from the “SQL Queries” menu from the settings page.

The adding of a data source it is done from the Administration from the Datasources tab.

  1. Click on the button “ADD A DATASOURCE”

  2. Fill in the fields of the form

 

 

The JDBC URL allows referencing the placing of the database (type, server, port, scheme). Only the the Oracle and Postgres databases are supported.

By default, Galigeo suggests a JDBC URL model according to the supported database.

8.9.2 Definition of a (spatial) Query

The adding of a query in a map is done from the settings page Data > SQL Queries > Add Query

 

 

The spatial queries have to have the following characteristics:

  1. The first field has to be of integer type and has to correspond to a unique ID

  2. The second field is called “geo-dimension”, and corresponds to the business identifier (e.g. postal code, customer identifier, etc.) used to group the territories in the TM tool (e.g. by postal code). This identifier is useful only in the case of a spatial query.

  3. The query can optionally contain a geometry type field (SDO_GEOMETRY for Oracle and ST_GEOM for Postgis). The dataset becomes then native spatial and can be represented on the map w/o needing the specification of any particular mapping.

8.9.3 Existent Queries

The existent queries are displayed in the form of table in the settings page. The edition of a query allows their visualising and their testing (display of a sample data), to update them (saving of the SQL query) or to delete them.

Each of the queries appear in the Data panel of the map. It is then possible to define layers from this data.

8.9.4 Case of Non-Spatial Queries

It is also possible to define non-spatial queries, i.e. those that do not contain geographical fields. In this case it is possible to define either a join with an existent mapservice or to use the XY2Map functionality as the query contains latitude/longitude fields.

To note that in the case of a query using the XY2Map functionality, the data are queried by the map extent. This allows keeping a advantageous gain in performance.

8.10 Reports

Galigeo can produce some reports based on the Excel or HTML format. A report is composed of a list of datasets from the map. By default each dataset will appear on a separate sheet and it is possible to specify a custom layout based on a template.

A report can be called directly from the report panel or can be generated from a selection (a single object from the info window or multiple record from a selection).

8.10.1 Report Definition

Reports are defined from the “Excel/HTML Reports” tab of the configuration page.

This page allows to define multiple reports.

 

 

A report is composed of:

If the checkbox “Show in report panel” is selected, then the report will directly appear on the left panel and can be downloaded without doing a geographic selection.

 

If a dataset has some filters, the report generation take those filters into account.

 

At the end, click on “SAVE” to add the report to the list.

8.10.2 Associate a Report to a Dataset

It is possible to associate a report to one or multiple dataset in order to run the report against a specific area. We call that king of reports “georeports”.

 

 

The reports are associated to a dataset through its url using a geolink (see section 6.6 Geo links). The geolink appear at various places of the map (infowindow, selection, territory manager) and is used to call the report with a geographic selection.

To make this work, the geographic selection (represented by a list of identifiers) must corresponds to the dimensions used by the report.

For example, if a geolink sends a list of state abbreviations, the filtering will work only if the report consumes also some state abbreviations.

 

8.10.3 Report without Template (= with the Default Template)

If there was no template defined by the user, the application generates a default template.

 

The default MS Excel template is not configurable.

 

E.g. there is a georeport “test” whose ID is (1).

At the moment of result generation, the program verifies if in the repository <xlsTemplate> exists a file "test.xlsx" or “1.xlsx”. If there is none to be found, it searches a file "test.xls" or “1.xls” then "test.xlsm" or "1.xlsm".

 

In this example none of the files exist. Then the default template will be used in order to get the following result:

 

 

In the MS Excel file generated there are as many tabs as there are queries in the georeport/report, with the following characteristics:

 

8.10.4 Report with Excel Template

It is equally possible for the user to create his/her own templates.

It is enough to click on the button and a window will open where it is possible to select an already existing template from the list, or add a new template by clicking on the “ADD NEW TEMPLATE” button and import one from your local workstation.

 

Query Configuration

In this example, we have the following dataset configurations:

 

 

Implementing the Template

The template to implement has to have certain characteristics:

How to implement a template steps:

 

If you need to eliminate some superfluous/unnecessary columns/fields from the actual file, it is recommended to hide them instead of deleting them, thus the named fields order is not disturbed

 

For instance the template below:

 

will look, when called from a selection:

8.10.5 Report with HTML Template

The HTML templates automate the generation of a webpage containing the defined data defined in the report configuration (data + images).

An HTML template is built as follows:

 

<!DOCTYPE html>

<html>

  <head>

    <!-- IMAGE {id: "map1,  width: 925, height: 590} -->

    <!-- IMAGE {id: "map2",  width: 925, height: 590} -->

  <body>

    <script type="module">

      // START_GGO

      // END_GGO

    </script>

  </body>

</html>

 

The tags <!-- IMAGE {id,  width, height} -->indicate which are the images present in the report

For a template to be valid, it must contain two tags // START_GGO and // END_GGO. When running, Galigeo replaces the inside of its tags with two constants “data” and “images”.

 

"data” lists all the datasets associated with the report

const data = {

  req1: { data in geojson format },

  req2: { data in geojson format },

}

"images" lists all the images in base 64 format

const images = {

  map1: "data:image/png;base64, iVBO...",

  map2: "data:image/png;base64, iVBO...",

}

 

Running a report with an HTML template automatically opens the output in a new browser tab. Thanks in particular to the power of JavaScript, it is possible to invoke a complete application with this solution.