Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
JMap Server manages database connections by placing them in pools. The pools contain a certain number of open database connections. These connections are shared with the entire system and used according to database access needs.
All the database connection pools (hereafter called databases for simplicity) are centrally managed using JMap Admin. Databases are typically used by JMap Server to read spatial data stored in tables and to access descriptive data related to spatial data. Once databases are configured in JMap Admin, they can be used from other sections and for various purposes in the administration process.
The Databases section in JMap Admin Resources displays a table of configured databases. In this section you can create a new database, access the database configuration interface by clicking on its name as well as manage the databases you select in the table.
All JMap Server management is done through the JMap Admin application. This web interface allows administrators to perform tasks such as integrating databases, creating projects, publishing applications, and managing security.
The following walk-through guide describes the major steps for configuring and publishing a map with JMap Server Kathmandu.
Make sure JMap Server is running. If it was installed as a service on Windows, you must start it using the Windows Services window. Otherwise, it must be started using the executables in JMAP_HOME/bin or using the shortcuts created during the installation on the server.
To open JMap Admin, you can use the shortcut that was created during the installation inside the installation home directory, on the server. You can also open a web browser and type a URL similar to http://192.168.0.1:8080/jmapadmin. The IP address and port number may vary depending on the installation environment and chosen parameters.
Once JMap Admin is open, you will be prompted for a username and password. The default login after the installation is username “administrator” and the password field is empty.
In JMap Admin, you will need to follow the steps below in order to publish map data.
Step 1 - Creating spatial data sources
This step requires that you define your spatial data sources. These can be GIS files, spatial data servers, satellite images, etc. When doing so, you indicate to JMap where to read your data from.
See section Creating Spatial Data Sources for more information.
Step 2 - Creating a project
A project in JMap contains map layer definitions data along with parameters regarding access controls (security), queries, units, etc. By creating a project, you define what information your map will contain and what it will look like.
See section Creating Projects for more information.
Step 3 - Creating layers in the project
At this step, you create the map layers for your new project. Each map layer is associated with a spatial data source. For each layer, you must define the style (how the layer elements will be drawn), labels, thematics, etc. You can also define access control on a layer by layer basis.
See section Creating Layers for more information.
Step 4 - Diffusing the project to the end users
This is the last step. Here you publish your project using whatever type of app you want. Each type of application offers different levels of functionality. There are desktop and web applications, applications that deploy and applications that connect to JMap’s Web API. Once your project becomes accessible to users, they can use it to navigate the data on your map.
See section JMap Server Applications for more information.
JMap Server Lima offers a new user interface. The following screen captures show the graphical user interface of JMap Admin.
Most sections of JMap Admin offer an interface containing a table of section resources, with basic information and buttons for resource management.
Filter ranges allow you to find your information when lists of values are available:
Icons are used in all interfaces to perform common tasks:
The following screen captures show the graphical user interface of JMap Admin. The different parts of the interface are described below.
1
The table displays resources in rows. Click on the name of a resource to access its configuration interface.
2
Options allow you to select the fields displayed in the table.
3
Filters for certain fields allow you to filter the contents of the table. You can sort the resources in the table based on their values for different fields.
4
You can navigate the table pages and change the number of items per page.
5
The available functions are displayed in the top bar.
1
A breadcrumb trail allows you to navigate through JMap Admin.
1
JMap Admin provides a preview of each project at all times, as you make changes to it.
2
You can open your project with JMap NG or JMap Web without leaving JMap Admin.
Identification
Name
Enter a name for the new database. The name must be unique.
Description
Optionally enter a description for the new database. The description can only be viewed by administrators in JMap Admin.
Connection parameters
Driver
Select the driver for the database system you wish to connect to.You can add new drivers by creating new configuration files in the JMAP_HOME/conf/db directory on the server.
Host
(Depending on the selected driver) The name or TCP/IP address of the database server.
Port
(Depending on the selected driver) The TCP/IP port of the database server.
Database
(Depending on the selected driver) The name of the database to access, as defined in the database server.
Folder
(Depending on the selected driver) The path to the database folder.
Connection string configuration - Advanced
(Only for Oracle driver) Advanced configuration allows you to configure the connection string by writing it directly to the wizard. This is a more flexible way to configure the string under certain circumstances.
Extra parameters
In some rare cases, database systems may require additional parameters. They can be entered in this field.
Username
Enter a username for the database connection. The authentication of domain users is not supported; you must make sure your database allows database authentication.
Password
Enter a password for the database connection.
Connections
Number of connections
Enter the initial size of the pool of connections. This determines how many connections to the database will be kept open.
Maximum connections
Enter the maximum number of connections allowed for this pool. It must be equal to or greater than the initial number of connections. If the pool needs to be increased, new database connections will be created automatically until the maximum value is reached. After a certain period of time, additional connections are automatically closed, and the connection pool returns to its initial size. The maximum value can be disabled by unselecting the check box, allowing the pool to increase without restriction.
Additional parameters
In some rare cases, database systems may require additional parameters.
They can be entered in this field.
Validation query
JMap uses a query validation mechanism to validate database connections.
This query is used to test the connection each time a query needs to be executed. If the validation query fails, which typically means that the connection to the database is broken, JMap Server will try to establish a new connection automatically. This mechanism ensures the database connections are always working. The query must be valid and very quick to execute.
In order to reduce the impact on performance, make sure you minimize the number of returned records (zero is perfect) and use indexed fields in the WHERE clause. Default queries are provided. They normally don’t need to be changed.
Connection timeout
The connection inactivity timeout is used to close and reopen connections that are inactive for a long period.
This mechanism ensures that the database system does not close inactive connections. Make sure that this value is lesser than the connection timeout of your database system.
A default value of 2 hours is appropriate most of the time.
Connection wait timeout
Sets the wait timeout value for database operations.
This parameter can be lowered to prevent slowdowns or deadlocks in situations where the database server is taking too long to respond, or increased to allow longer wait periods so that queries with long processing time can be successfully executed.
The default value is 60 sec. Enable this option to specify a different value for this connection.
Connection type
Specify the connection type to create.
Generic connections are all created with the same user information (username and password) defined earlier. From the perspective of the database system, it is as if the same user performed all queries. This type of connection is used most of the time. Identified connections are created on the fly for each user connected to JMap Server. The same connection is reused during the session for each user. From the perspective of the database management system, each query is done by the user who is connected to JMap Server. This connection mode is useful in environments where security is managed at the database level. In order for the identified connection mode to work, it is required that JMap and the database system share the same list of users. This can be the case when the Oracle user manager module is used to manage users.
1
Lists allow you to select items.
2
List options allow you to select the fields displayed in the list.
3
Filters for certain fields allow you to filter the contents of the list.
4
You can navigate through the pages of the list or modify the number of items per page.
5
The search tool allows you to locate resources by name in JMap Admin.
1
A breadcrumb trail allows you to navigate through JMap Admin.
2
The administrator manual can be accessed via the Help menu.
1
When this button is displayed, it indicates that you can add translations for the various languages you want the system to support.
2
Each resource can be translated into several languages.
1
JMap Admin provides a preview of each project at all times, as you make changes to it.
2
You can open your project with JMap Web or JMap Pro without leaving JMap Admin.
1
2
Each resource can be translated into several languages.
OK.
Cancel.
Open the section.
Reload section.
Develop section.
Add.
Delete.
Allows access to other functions.
Allows access to table display settings.
In the header of the columns of a table, indicates the sorting function (ascending or descending) of the elements according to the values of the column.
1
You can specify the JMap Server name in the JMap Server Settings section.
2
You can select a light or dark interface.
3
You receive notifications, particularly when new versions of the JMap Server products comprising your license are available.
4
This section gives you access to this manual, examples, the Knowledge Base and the K2 Geospatial Customer Portal. From there you can communicate with the Service team responsible for technical support.
5
This section allows you to:
Select the JMap Admin display language. The language chosen in this menu as well as the language chosen in the connection interface is recorded by JMap Admin which displays it by default during subsequent sessions.
Change account password.
Change GUI to old version.
Disconnect from the session.
6
The sidebar allows you to access the main sections of JMap Admin. These are grouped by theme: Resources, Deployment, Tools, Extensions, JMap Server.
7
Shortcut buttons allow you to access a specific section quickly
8
This button allows you to reload the license.
1
You can specify the name of the JMap Server. The Help menu allows you to access this manual, the manuals of the extensions installed on the server, and the K2 Geospatial Knowledge Base.
You can select the display language of JMap Admin. The language chosen in this menu as well as the language chosen in the connection interface is saved by JMap, which displays it by default in subsequent sessions.
The user account name of the JMap Admin session. You can change the account password and log out of the session.
2
The sidebar allows you to access the main sections of JMap Admin.
3
The menu varies depending on the context and allows you to open the subsections.
4
Shortcut buttons allow you to access a specific section quickly.
Reinitializing a database closes all open connections and creates new ones. This can be useful to force a reconnection to a database system.
Deactivating a database closes connections to the database without deleting its configuration. JMap Server can no longer query the database. Deactivating is useful when the database stops responding and causes delays in the local server.
Deleting a database deletes the connection configuration for the database system. The data contained in the database is not affected at all.
Each database has a status. The status indicates the condition of the database connection. The following table describes the possible statuses of a database.
The Permissions button appears in the JMap Server connexions section and is enabled when at least one remote connexion is selected. It is also displayed in the remote connexion configuration interface.
This section has two tabs: Permissions and Owners. The owners are the only ones who can manage the administrative permissions for the connection, manage the list of owners and delete it.
A list of users and groups with permissions appears in the Permissions tab. Click on to add new users or groups.
Available users and groups are configured in the JMap Server section of JMap Admin. Refer to the section for more information about managing users in JMap Server.
There are only administrator permissions for remote connections.
The Permissions button appears in the Databases section and is enabled when at least one database is selected. It is also displayed in the database configuration interface.
The Permissions section has two tabs: Permissions and Owners. Owners are the only ones who can manage administrative permissions for the database, manage the list of owners and delete it.
A list of users and groups with permissions appears in the Permissions tab. Click on to add new users or groups.
Available users and groups are configured in the JMap Server section of JMap Admin. Refer to the section for more information about managing users in JMap Server.
There are only administrator permissions for databases.
JMap has a database named System that contains JMap Server’s configurations and geometry tables. This database is mandatory and generally should not be modified.
The System database cannot be deleted and should only be manipulated by advanced users.
JMap Server’s System database is a relational database that stores important data for JMap Server.
User account and group data is stored in this database if you are using JMap Server’s built-in user manager. This is not the case if you are using another user manager (e.g.: LDAP/Active Directory).
Also, when spatial data sources read their data from files (SHP, MIF, DWG, etc.), the geometry and descriptive data read from the files are inserted in tables of the System database. There is one data table per such data source, as well as spatial index tables that speed up data extraction.
Personal layers created by the users as well as JMap Spatial tables are also stored in the System database
The relational database management system (RDBMS) used by default for storing JMap Server’s System databases is Apache Derby. It is embedded in JMap Server and requires no maintenance. This system is suitable for publishing small spatial data volumes or for test environments.
It is strongly recommended to use another relational database management system.
The list of compatible systems is presented in the .
By default, Derby’s database files are located under the directory JMAP_HOME/db/database.
Never delete or alter any file located in this directory.
JMap Server’s System database can be moved to another RDBMS easily. It is recommended to do it for scalability or performance reasons or to take advantage of more advanced features such as backups.
The officially supported RDBMS for storing the JMap System database are detailed in the .
Note that other RDBMS and versions will also probably be supported because JMap Server uses mostly very common and simple database functions.
To store the System database, you should use a database or schema that is reserved exclusively for JMap. The user account that established the connection must have sufficient permissions to select, insert, create, and delete tables and indexes.
To move the System database towards another RDBMS, you must modify the database called System in JMap Admin. Select the database driver and connection parameters associated with the environment of the new System database. JMap Server will automatically create the required tables in the new database.
After the System database is moved, any spatial data source that reads vector data files will have a Not ready status. It will need to be updated before it can be used. Other types of data sources (raster, Oracle Spatial, SDE, etc.) will not be affected.
When you click on the name of a database in the Database section, the Database configuration interface displays.
This interface has buttons to manage the database: Edit, , access to , or the database. More details are shown in .
Several subsections display information on the database. The parameter values indicated were defined when the database connection was created. Refer to for the details of each parameter. Some parameters can be modified directly in the section, others by clicking on Edit.
This subsection displays the name, Id (internal JMap identifier), a description, and the database owner.
This subsection displays the details of the connection pool. The parameters indicated are the following: Initial size, Maximum size, Pool usage, Pool usage peak, Connection timeout, and Connection wait timeout.
This subsection displays the details of the database connection. The parameters indicated are the following: , Database (indicates the type), Driver, Connection string, Username, Validation query, and Connection type.
This subsection shows all the resources using the data from the database. The information in this section is presented hierarchically and displays the spatial data sources as well as the projects with the layers, reports, and forms, all showing the attributes used. This can be useful to view the resources that would be affected by changes made to the database.
When this button is displayed, it indicates that you can add translations for the various languages you want the system to support.
/
In addition, if you move the System database, all user data from the previous database must be moved using the data import and export tool. For more information, see the section.
Statuses
Error
The database connections are broken.
The database cannot be used until the error is resolved and the connections are reopened. Reinitializing the database might correct the problem.
You can view a description of the error by clicking on the word Error displayed in red.
Inactive
The database connections are closed but they are configured. JMap can no longer query the database.
Connected
The database connections were created successfully and are ready to be used.
JMap Server connects to spatial data by creating spatial data sources (SDS).
Spatial data sources are separated into 2 families: vector data sources and raster data sources. Vector data sources provide vector spatial data along with its attributes, and raster data sources provide raster data (images).
Configuring data sources is usually the first step to publishing spatial data with JMap.
JMap Server connects to spatial data stored in files of various formats (e.g. MID files, SHAPE files, image files, JPEG photo files, etc.) using specific file readers. JMap Server also connects directly to data stored on spatial data servers (e.g. PostGIS, Oracle Spatial/Locator, ArcSDE, WMS/WFS servers, etc.).
Once a spatial data source is created, it must be updated before it can be used. Updating a spatial data source means preparing it for use by JMap Server. This section offers more details on this topic.
The Spatial Data section in Resources displays a table that shows the spatial data sources configured in the server. In this section you can create a new SDS, access the configuration interface of an SDS by clicking on its name, and manage the SDSs you select in the table.
Permissions |
|
Administrate remote connection | This permission allows you to modify the connection and manage user permissions on the connection. It doesn’t allow you to remove the connection or to manage administrative permissions. |
Access remote connection | Lets you see the detailed information of the connection and allows you to use the connection, without being able to modify it. |
Access database | Allows an administrator to view detailed database information. |
Administrate database | Allows an administrator to modify the database configuration. |
Use SQL console | Allows to use the on the database. The SQL console allows you to view the database structure and run SQL queries against the database. |
To begin creating a new spatial data source, go to the Spatial data section and click on Create. Certain parameters are common to all data sources, while others are specific to each type of data source.
Note that custom data source types may also exist. These are new types of data sources that are developed for special purposes using the JMap SDK.
The next configuration steps will depend on the data source type you selected. For more information on configuring a specific type of spatial data source, refer to the appropriate section in this manual.
The projection of the data source must be selected to match the projection of the data. If this parameter is not set correctly, the data displayed may be invalid.
At the last stage of creating a spatial data source, the Start update automatically option allows you to initiate the update when you click on Finish.
If you do not select this option, you will have to launch the update manually from the spatial data section in order for your changes to be taken into account.
To start creating a new connection, click on the Create button in the JMap Server connections section and follow the required steps.
It is possible to create connections from one JMap Server to another. These connections can then be used to share layers and spatial data sources between different JMap Servers while avoiding duplication of source data. They may also be used by some JMap Server extensions that require server to server communication. These connections are used, among other things, when creating JMap Server vector or JMap Server raster data sources and when using shared layers.
JMap Server manages connections towards other JMap Servers by placing them in pools.
Your JMap user license must allow server sessions in order for another JMap Server to connect to your JMap Server. For more information, refer to the JMap Server Status section.
The following diagram shows the connection between two JMap Servers (A and B) where the JMap application connected to server A accesses spatial data served by another JMap Server instance (server B).
The JMap Server connections section in Resources displays a table of connections configured in the server. In this section you can create a new connection, access the configuration interface of a connection by clicking on its name, and manage the connections you select in the table.
When you click on the name of a connection, the Remote connection configuration interface displays.
This section introduces basic concepts that help you understand how spatial data sources work in JMap Server.
Some spatial data sources support data editing (writing) by JMap Server. This is the case of most DBMS type data sources (PostGIS, Oracle Spatial, etc.). In this manual, each section pertaining to a specific type of data source indicates whether it supports reading only or reading and writing.
File type data sources (SHP, GML, etc.) do not support data editing. However, there is an option allowing you to transform this type of data source into a JMap Spatial data source, which will then allow you to edit spatial and descriptive data in JMap. Once this transformation has been done, the data source will no longer be linked to the original files. All data modifications will have to be performed directly using JMap’s editing tools.
In most data sources that read files, multiple files can be integrated together to form continuous maps. It is frequent for CAD users to split a territory in rectangular tiles. By reading all tile files together, JMap administrators can recreate continuous maps, provided that the files contain the same data structure (geometry, layers and attribute types).
JMap Admin provides a file browser that allows you to navigate through the file system of the server where JMap Server is running in order to select the files to include in the data sources. Local and network storage units can be used, as long as the JMap Server process has access to them.
You can also create user paths. These paths are shortcuts that allow you to save time when browsing the system. They can also be used to write paths that are specific to an operating system, such as Windows UNC (e.g. \myserver\data). To create a user path, you must go to the root of the file system and click on Add user path…
To restrict browsing in the file system, you can define one or more root folders. The JMap administrator will not be able to navigate outside these folders. To do this, you must add a line to the file jmapserver.properties.
Exemple
admin.filebrowser.roots=d:/data1|Data1
In this example, a root folders is created, named Data1.
Accessible through the file browser, the Uploads directory contains files uploaded by all users directly to JMap Server from JMap Admin. If you want to upload a file for use as a spatial data source, click on this folder to access the upload interface.
Enter a name for the file and press Upload. The file will be uploaded to a directory created automatically for your user account. The file is accessible to all user accounts.
System spatial data sources are data sources that are automatically created by JMap to support JMap data source and layer sharing. Normally, these resources do not need to be managed and they are not displayed by default in the list of spatial data sources.
If you wish to display them, you can select Show system data sources in the display settings of the table of the Spatial Data section.
The spatial data source (SDS) configuration interface allows you to access information on a source as well as parameter configuration functions such as metadata, permissions, and attributes.
In the case of raster SDS created from the GDAL library, the configuration interface allows you to add reference coordinate systems to the original projection system of the data. The GDAL - Geospatial Data Abstraction Library section provides details on this topic.
The attribute configuration window contains two tabs: Metadata and Attribute sample.
The Attribute sample tab displays the value of the attribute for a sample of SDS elements.
Metadata can be associated with spatial data sources in JMap. It can include information such as the person who produced the data, the date it was updated, a description, etc. Users can view this information for the corresponding layers in JMap applications. Metadata can be entered directly into JMap Admin using preset templates or it can be taken from an external metadata management system. Refer to the section for more information on creating templates.
To access the metadata settings of a spatial data source, click on Metadata in the details section of a spatial data source. The following options are available:
Layers whose data originates from spatial data sources with metadata will automatically inherit this metadata. Metadata can be viewed by users of JMap Web, JMap NG and JMap Pro applications.
External attributes for a spatial data source are attributes that are obtained from an external database (external means a database that is separate from the data source itself). The external attributes are added to the list of existing attributes and can thereafter be used like any other attribute in reports, queries, mouseover, thematics, etc.
External attributes are available only for vector spatial data sources that read data from files (shp, mif, tab, dwg, dgn, etc.) and JMap Spatial tables. When working with vector data sources that access data inside existing spatial databases (PostGIS, MySQL Spatial, Oracle Spatial/Locator, etc.), this option is not available. In that case however, it is often easy to include all needed attributes using normal SQL joins with other tables or by creating views.
External attributes are created from the spatial data source creation wizard.
To create an external attribute, choose External attributes in the Attribute section of the wizard. Press Add and choose one of the following two methods: Select fields or SQL query.
Choose this option in order to select one or more fields from a specific database table from which you want to obtain the values. This option is the simplest method, and it allows you to create several attributes at once.
Choose this option to provide an SQL query that will extract the attribute values in the database. This method is more flexible, but limits you to creating one attribute at a time.
This button in the Attributes section allows you to update the SDS statistics.
Identification
Name
Enter a name for the new spatial data source.
The name must be unique.
Type
Select the type of data source that matches the type of the data to read.
All supported data source types are shown in the list.
You can also search the list by typing a few letters in the search field.
Description
Optionally enter a description for the new spatial data source.
This description can only be viewed by the JMap administrator.
Projections
Original projection
The projection or spatial coordinate system of the data in the data source.
Identification
Name
Enter a name for the new connection. The name chosen must be unique.
Configuration
Connection type
Select the method used to connect to the remote server, either direct or proxy.
This option may depend on the network configuration on the remote server side.
Proxy connections use the HTTP protocol and therefore pass through firewalls easier.
The parameters to enter will depend on the type of connection selected.
Host
Enter the name or IP address of the remote server to which you wish to connect.
Server port
(Direct connection) If you are creating a direct connection, enter the port used to establish the connection towards JMap Server.
Protocol
(Proxy connection) If you are creating a proxy connection, select the HTTP or HTTPS (secure) protocol used by the connection.
Relative path
(Proxy connection) If you are creating a proxy connection, enter the relative path to reach the JMap proxy.
Proxy port
If you are creating a proxy connection, enter the port used for the HTTP or HTTPS connection.
Username
Enter the user name for the connection towards the other JMap Server. This name must have a corresponding user account.
Password
Enter the password to connect to the other JMap Server.
Advanced Parameters
Number of connections
Enter the initial size of the connections pool to determine the number of connections towards the other JMap Server that will remain open.
Maximum connections
Enter the maximum number of connections allowed for this pool.
The number entered must be equal to or above the initial number of connections. If the pool’s size must be increased, new connections will automatically be created until the maximum value is reached.
The maximum value may be deactivated in order to increase the size of the pool, if needed.
Connection timeout
The connection inactivity timeout is used to close and reopen connections that are inactive for a long period.
This mechanism ensures that the remote JMap server does not close inactive connections.
Make sure that this value is lesser than the connection timeout of your JMap server.
A default value of 2 hours is appropriate most of the time.
Connection wait timeout
The maximum wait time when opening a network connection to a remote JMap server.
This parameter is used to prevent deadlocks in situations where the remote JMap server is not responding.
Database | Select the database from which the attribute values will be taken. This database must already be configured in JMap Admin. |
Schema | Select the schema containing the table. |
Table | Select the table containing the fields to be used as external attributes. |
Include | The list of available fields is displayed. Select the ones to be included as external attributes. |
Get value from | Indicate the name of the field. |
Attribute name | You can give the external attribute a name that will be different from the field name. |
Dynamic attribute | Select this option if you want the attribute to be dynamic. Dynamic attributes are read directly from the source in a dynamic manner. Attributes that are not dynamic are imported into JMap’s system database and are only reread when the data source is updated. In certain cases, dynamic attributes can reduce the system’s performance. |
Join on fields | Select the parameters of the join between the external data and the JMap data source. |
Aggregation type | This option is only available if a single field is selected. Select the aggregation method to use if more than one value is found for the same geometry: Keep first element: Keep only the first value found. Average: Calculate the average value to use as the attribute value. Only available for numeric attributes. Summation: Calculate the summation value to use as the attribute value. Only available for numeric attributes. Using separator: Build a string containing all values separated by the specified character. Only available for text attributes. |
Attribute name | Enter a name for the external attribute. |
Dynamic attribute | Select this option to make the attribute dynamic. Dynamic attributes are read directly from the source in a dynamic manner. Non dynamic attributes are imported in JMap’s System database and are only reread when the spatial data source is updated in JMap Admin. Dynamic attributes can impact performances in some situations. |
Database | Select the database from which the attribute values will be taken. This database must already be configured in JMap Admin. |
SQL query | Enter the SQL query to be executed in the external database that returns the values to use for the external attribute, along with the field used to join with the data source. Press Execute to test the query and to initialize the other parts of the interface. |
Get value from | Select the table and the field to get the values from. Only those returned by the SQL query are available. |
Join on fields | Select the parameters of the join between the external data and the JMap data source. |
Aggregation type | Select the aggregation method to use if more than one value is found for the same geometry: Keep first element: Keep only the first value found. Average: Calculate the average value to use as the attribute value. Only available for numeric attributes. Summation: Calculate the summation value to use as the attribute value. Only available for numeric attributes. Using separator: Build a string containing all values separated by the specified character. Only available for text attributes. |
Type | 3 options are possible: None: No metadata is associated with this data source. External: The metadata comes from a metadata management system that is outside of JMap and accessed through a URL. The URL must be entered in the URL field below. Template: The metadata is entered directly in this section using the selected template. |
URL | If the type of metadata is external, this setting defines the URL to be opened in order to view the metadata associated with this spatial data source. |
Template | If the type of metadata is template, select the template to be used for this data source. The metadata entry form for this template displays. Enter the metadata in the various fields. |
Metadata
Type
Indicates the attribute’s data type.
Dynamic
Indicates whether the attribute is dynamic.
SQL Type
Indicates the SQL type of the attribute data.
Indexed
Check this box to have the attribute indexed.
Title
You can change the title of the attribute.
Format pattern
Specify a format pattern for displaying SDS items.
The pattern must follow the Java standards.
This article offers more details: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html.
Upon saving, recursively apply to associated layers…
By checking the appropriate boxes, you will apply the title and/or format pattern of the attribute to all layers that are associated with the SDS.
The tasks presented in this section can be performed from the configuration interface of a particular SDS or from the Spatial Data section, by selecting one or more SDSs in the table.
Before a spatial data source can be used to create layers, it must be updated. In JMap, updating a data source generally involves collecting information on the spatial data and its attributes and preparing data for fast and efficient access. This process may be very brief or may take several minutes, depending on the type of data source and amount of data.
In concrete terms, this operation involves different tasks, depending on the type of data source. Generally speaking, for data sources that access data stored in files, the contents are read by JMap Server and inserted in the tables of JMap’s System database. A spatial index is then built for fast access, and attribute statistics are calculated.
For data sources that access data stored on spatial data servers like Oracle Spatial/Locator or WFS systems, the update process is simpler and only involves calculating attribute statistics.
Updating file data sources takes more time than updating server data sources.
You can update several data sources simultaneously. A maximum of three data sources can be updated at a time. Other data sources that need to be updated are placed on hold until their update can be performed.
You can schedule automatic updates for spatial data sources. This action may be helpful if you use data sources that read data files. If the files are frequently modified, you can schedule automatic updates that will occur on a regular basis (every day at midnight, for instance) for the appropriate data sources. Each data source can have its own schedule.
In order to schedule updates for a given data source, click on the icon of the Update schedule from that data source’s details section or select it in the table of data sources. Afterwards, simply follow the wizard to define the specific moments when the updates will take place. Scheduling options are very flexible.
Once these tasks have been scheduled, you can view the current schedule for a data source by viewing its information section.
At any time, you can access the list of all planned updates for data sources by clicking on Scheduler in the Tools section.
When a data source has been deleted, its entire configuration is permanently deleted. The data itself (the file or database) is not affected.
Each spatial data source has a status. The status indicates the condition of the data source, i.e. if it is ready to be used, if an error occurred, etc.
The status of a newly created data source is always set to not ready (unless you checked the auto-update flag). This means that the data source cannot be used yet. In order to be used, every data source must be updated at least once.
Data sources can be updated in batches. A maximum of 3 data sources can be updated simultaneously. Other data sources to be updated are queued until they can be updated.
The following table describes the possible statuses of a spatial data source:
1
General information about the connection.
2
Remote connection pool configured when the connection was created.
3
Information about the connection and the remote server, configured when the connection was created.
4
References. This section lists the spatial data sources that use this connection.
Clicking on their name will take you to their configuration page.
5
Buttons to edit, reinitialize, deactivate or delete the connection, as well as to access the Permissions section of the remote connection.
1
General information configured when creating the SDS.
2
SDS parameters configured when it was created.
The hyperlink allows you to access the DB that contains the data.
3
Spatial information.
The extent corresponds to the geographical extent of the elements contained in the SDS.
When it has no elements, the values are equal to 0.
4
Update schedule. Displays scheduled updates for the SDS. Click the icon to set up an automated update.
5
JMap Cloud. This section allows you to share the vector SDS in the JMap Cloud platform.
The section Sharing a vector SDS with JMap Cloud provides details on this function.
6
Attributes. This section presents a list of SDS attributes.
Clicking on the name of an attribute will open a window, allowing you to configure its properties.
7
References. This section lists the projects and layers that use this SDS. A legend indicates which layers are referenced.
8
These buttons allow you to access to the Metadata and Permissions sections, to make the SDS editable (the button only appears for vector SDS), to delete it, update it or edit it.
When reinitializing a pool of connections to JMap Server, all open connections will be closed and new ones will be created. This action may be useful to force reconnection to a JMap Server.
You can deactivate a remote connection without removing the connection configuration. The local server can no longer query the remote server. Deactivating a connection is useful when the remote server stops responding and causes delays in the local server.
Deleting a connection to JMap Server deletes this connection’s entire configuration.
Each connection has a status. This status indicates the condition of the connection towards JMap Server. The following table describes the possible statuses of a connection.
JMap Server can read CSV files or any text file with separated values that contain x and y coordinates. These coordinates can be used for layers of points. The first row must contain the field names. The allowed separators are commas (,), semicolons (;) and tab characters. Text fields may or may not be inside double quotes. X and Y coordinates must be numeric values.
This icon allows you to provide the title in multiple languages.
Connected
Connections to JMap Server were successfully created and are ready to be used.
Error
Connections to JMap Server are broken.
The connection cannot be used until the error has been resolved and the connections have been reopened.
Resetting the connection may resolve this issue.
You can view a description of the error by clicking on the word Error displayed in red.
Read
Yes
Write
No
Selected files
Select one or more CSV files to read. If selecting more than one file, all files must have the same list of attributes.
Separator
Select the separator used in the files to read.
Data type
Select the appropriate data type for each field.
X field
Select the field that contains the X values. Only numeric fields are listed.
Y field
Select the field that contains the Y values. Only numeric fields are listed.
Statuses
Error
An error occurred. The data source cannot handle requests. See error message to determine the source of the error.
Job queued
The data source is waiting to be updated.
A maximum of 3 data sources can be updated simultaneously.
The data source can still handle requests if it was updated at least once before.
Update needed
The configuration of the data source has been modified and it must be updated before the changes are effective.
The data source can still handle requests.
Not ready
The data source is not ready to handle requests.
This status is typically attributed to a data source that has just been created but has not yet been updated.
Ready
The data source is ready to handle requests.
Updating
The data source is being updated.
Depending on the type of data source and volume of data, the update process can be very fast or it can take a certain amount of time.
The data source can still handle requests if it was updated at least once before.
Vector data sources are used to access vector spatial data (points, lines, polygons, etc.). See the following sections for information on the various types of vector data sources that are supported.
When configuring a vector spatial data source, you need to configure attributes for the data source. All available attributes are listed in a table. By default, all attributes are included but some attributes can be excluded, in which case they will be completely ignored by JMap Server. It is also possible to specify for which attributes JMap Server should create an index in order to optimize performances when queries are performed on these attributes (if no index is used, this will not affect map download and display times). These indexes are used when performing attribute queries on these fields.
This section also contains settings to configure external attributes. See External Attributes for more details on this topic.
JMap Server can read DWG and DXF files produced by Autodesk Autocad versions 12 to 2018 as a spatial data source. Block attributes are read and converted into element attributes.
JMap Server can read DGN version 7 and 8 files as a spatial data source. Select the data source type that is appropriate for your DGN files’ version. DGN files are generally produced by Bentley MicroStation.
DGN files are often paired with a database of attributes. This can be an MS Access database or any other database system. If the DGN files have attributes stored in a separate database, you must first configure a database connection pool for that database before proceeding. See Creating Databases for more information on database connection configuration.
The Permissions button appears in the Spatial data section and is enabled when at least one SDS is selected. It is also displayed in the SDS configuration interface.
This section has two tabs: Permissions and Owners. The owners are the only ones who can manage the administrative permissions for the SDS, manage the list of owners and delete it.
A list of users and groups with permissions appears in the Permissions tab. Click on to add new users or groups.
Available users and groups are configured in the JMap Server section of JMap Admin. Refer to the section for more information about managing users in JMap Server.
Only administrator permissions are associated with spatial data sources.
JMap Server can read EDIGEO files as spatial data sources.
Key attribute
A key attribute is used when JMap must establish relationships between certain data and your spatial data. It is important to choose an attribute whose values will never change.
If you do not need this parameter, you can keep the default value.
Include
Included attributes are processed by JMap Server.
They can be used in reports, to produce thematic maps, for labeling, etc.
Excluded attributes are totally ignored by JMap Server.
By default, all available attributes are included.
Indexed
JMap Server can create an index on an attribute to speed up queries that will use this attribute.
If you plan to use an attribute for attribute queries, this attribute should be indexed, especially if the data source has a lot of elements.
Read
Yes
Write
No
Selected files
Select one or more DWG or DXF files to read. If selecting more than one file, all files must have the same list of attributes and geometries must be of the same type.
Source
The Autocad file contains a model space and a paper space. The paper space contains additional elements that are intended for printing. Select the space to use in order for the data to be read by JMap (typically the model space).
Line and polygon options
No conversion: No conversion will be done. Convert closed lines to polygons: Closed line objects will be read as polygons by JMap. Convert polygons to lines: Polygon objects will be read as lines by JMap.
Block reference options
No conversion: No conversion will be done. The different types of objects (lines, polygons, …) will be treated separately by JMap. Convert block references to complex elements: The different types of objects (lines, polygons, annotations…) that compose the blocks will be read together and treated as complex elements by JMap. The maximum size of annotations (texts) is 255 points. The annotations are not displayed at very large scales (zoom too close to the complexes). Convert block references to points: JMap will replace block references by points. This has the effect of considerably reducing the size of the data when the blocks are composed of many objects.
Layers
Select one or more layers to include in the data source. Data on other layers will not be read.
Read
Yes
Write
No
Selected files
Select one or more DGN files to read. If selecting more than one file, all files must have the same list of attributes and geometries must be of the same type.
Convert polygons to lines
Check this option if you want polygons to be read as lines.
Attribute database
Optionally, select the database that contains the attributes. This database must be already configured in JMap Admin.
Layers
Select one or more layers to include in the data source. Data on other layers will not be read.
Read | Yes |
Write | No |
Selected files | Select one or more EDIGEO files to be read. If you select several files, they must all share the same attributes list. |
Layers | Select one or more layers to be included in the data source. The data on other layers will not be read. |
Remote access | Allows a user to access this spatial data source through a JMap Server to JMap Server connection. This permission must be granted to the user account through which the secure connection between both JMap Servers was established. For more information on this topic, refer to sections and . |
Administrate spatial data source | Allows an administrator to modify the configuration of the spatial data source. |
Access spatial data source | Allows an administrator to create layers that take their data from this data source. |
JMap Server can read ESRI File geodatabases as a spatial data source.
Vector tiles are a format of vector data that is very effective for web-based mapping. With vector tiles, the entire vector data of a project is divided into tiles, similarly to raster data tiles (WMTS).
There are several standards for creating vector tiles. Mapbox has provided a standard based on the protocol buffer encoding (“Protobuf”) created by Google (https://developers.google.com/protocol-buffers). Mapbox vector tiles (mvt) are supported by a wide range of map-based products, including JMap 7 as of the Jakarta version.
A grid defining the tiling is applied to the vector data, which is split into tiles. Each tile can contain the vector data (vectors) of several layers.
A set of tiles is produced for each scale level. Generally, there are 23 scale levels in web-based mapping, 0 being Earth level and 22 being street level. The vectors of lower levels are simplified (generalized) to optimize the display of the data, while maintaining a volume of tiles that performs well.
The vectors (lines, polygons) of each layer are clipped at the boundaries of the tiles. When a geometry crosses over the boundary between tiles, it is cut, and each tile thus contains part of the geometry. The map application reunites the vectors to obtain the full geometry.
The attributes of map elements are included in the tiles. This makes it possible to display thematics created on the fly or to display data in a map using attribute filters, for instance. This makes the data more dynamic and interactive.
The vector tiles contain the geometries and their attributes; styles are not included in the tiles. The information defining the styles is stored and managed in a separate JSON file. This feature allows application users to define styles dynamically, since the applications manage the styles. In addition, when the style of the data changes, it is not necessary to generate new tiles.
Tiles can be created in advance and cached; the server responds much more quickly to queries from the web-based mapping application, and therefore the rendering of the map is very smooth and performs well. In addition, the tiles can be used with WebGL for smooth and efficient rendering, especially in 3D.
A JMap project generates three sets of data that are used by the applications:
1 JSON style file. This file accompanies the vector tiles. It contains the definition of each layer contained in the vector tiles, their style parameters, the thematics, etc.
A set of vector tiles containing the geometries and attributes of non-editable layers. JMap produces an MVT file for each tile. These tiles can be created on request when users navigate through the JMap Survey or JMap NG applications. They can also be created in advance and cached. The following article offers details on how to create and manage the cache of tiles with JMap.
GeoJSON vector data corresponding to the geometries and attributes of editable layers. This data is sent to applications on request, by region.
Regardless of the procedure used to create tiles (on request or in advance with caching), the tiles are created in the cache/mapbox directory of JMap Server. In this directory, there is one folder per project (named using the project ID), which contains one folder per resolution (currently 512). The files of the tiles are named using the z-x-y.mvt code, where z is the scale level, and x and y indicate the position of the tile in the grid.
In general, vector tiles are lighter than raster tiles, but some factors can affect the size of tiles and impact the performance of the JMap Survey and JMap NG applications. The size of tiles is associated with the time it takes to produce them, their storage volume, the volume of data exchanged with the applications, and the dedicated memory of the applications.
Some factors to consider:
Number of attributes bound to layers: the attribute data influences the size of the tiles; the more attributes there are, the more the size increases.
Layer visibility scales: Establishing visibility thresholds for the display of layers is recommended when layers have very dense data. A good strategy is to limit the display of these layers to larger scales because the tiles of the smaller scales will not contain the data of these layers, and the time required to produce the tiles will be reduced.
Caching: producing tiles in advance and caching them greatly improves application performance, while reducing JMap Server’s workload. JMap Server can indeed reach its full workload capacity when several users are navigating through large and complex projects in the applications.
JMap server memory: influences the performance of tile production. Increasing the memory allocated to the JMap server can accelerate tile production.
JMap Server can read GeoJSON files as a spatial data source.
JMap Server can read MID/MIF files as a spatial data source. These files are generally produced by MapInfo applications.
Read
Yes
Write
No
Selected files
Select the directory containing the geodatabase’s structure.
Layers
Select one or more layers to be included in the data source. The data on other layers will not be read.
Read | Yes |
Write | No |
Selected files | Select one or more GeoJSON files to be read. If you select several files, they must all share the same attributes list. |
Layers | Select one or more layers to be included in the data source. The data on other layers will not be read. |
Read | Yes |
Write | No |
Selected files | Select one or more MIF files to read. If selecting more than one file, all files must have the same list of attributes, and geometries must be of the same type. Also, each MIF file must be accompanied by a MID file. |
JMap Server can read ADF and E00 files as a spatial data source. These files are normally produced by ESRI’s Arc/Info software.
Read | Yes |
Write | No |
Selected files | Select one or more ADF or E00 files to be read. If you select several files, they must all share the same attributes list. |
Layers | Select one or more layers to be included in the data source. The data on other layers will not be read. |
JMap Server can read shape files as a spatial data source. They are generally produced by ESRI applications.
JMap Server can read GML files as a spatial data source. GML files must be paired with schema files (.XSD). If a GML file contains instances of more than one feature type, only one of those types can be chosen as the base type for the data source. JMap can read GML files of versions 2.x and 3.x.
JMap Server can read Industry Foundation Classes (IFC) files as a spatial data source. IFC is the standard exchange format commonly used by software for building information modeling (BIM).
JMap Server can read KML files as spatial data sources.
JMap Server can read photo files (360 or normal) in JPEG format as a source of spatial data. These photos can be viewed in JMap Pro and JMap NG applications from point layers associated with this type of data source.
JMap Server reads all image files in the specified directory. Files that are not images or image files without spatial information (latitude and longitude) are ignored.
From each file, JMap Server reads the metadata (latitude, longitude and other information) and writes them to a JMap Spatial table. Coordinates (latitude and longitude) define a point and other metadata are attributes of the point. Direction data can be used, for example, to apply a rotation to symbols that represent the points. 360 photos are processed as normal photos.
Read
Yes
Write
No
Selected files
Select one or more shape files to read.
If selecting more than one file, all files must have the same list of attributes, and geometries must be of the same type.
Also, each shape file (SHP) must be accompanied by a DBF file and an SHX file.
DBF charset
Select the character set used for the attributes stored in the DBF file.
If this parameter is not set correctly, some characters may not be properly displayed.
The default value is CP437, which is correct most of the time.
Read
Yes
Write
No
Selected files
Select a GML file to read.
Feature type
Select the feature type to read. GML files must be accompanied by a schema file (XSD).
GML version
Indicate the version of the GML file (2.x or 3.x).
Read
Yes
Write
No
Read | Yes |
Write | No |
Selected files | Select one or more KML files to be read. If you select several files, they must all share the same attributes list. |
Layers | Select one or more layers to be included in the data source. The data on other layers will not be read. |
Read | Yes |
Write | No |
Selected folders | Select one or more folders that contain the photos in JPEG format. You can structure the photos into different independent folders to create multiple spatial data sources (e.g. Photos 2020, Photos 2021, etc.). |
Reader options | Check the Include subfolders option so that JMap Server read the files stored in the subfolders. Select field labels for geographic coordinates, altitude, and direction. |
Attributes | Check the attributes to include in the spatial data source. Select the key attribute corresponding to the unique identifier. |
External attributs | You can add external attributes by selecting fields or by using an SQL query. The section provides details on adding external attributes. |
Projection | Select the original projection of the photos. The photo coordinates are expressed in latitude and longitude, so the projection is Longitude/Latitude (WGS 84) - EPSG: 4326. |
Spatial data sources (SDS) can be shared in order to be accessed by other JMap Server instances. This way, data can be stored in a single location but is accessible from several JMap Server instances.
In JMap Admin, you can share a spatial data source by granting the Remote access permission to one or more users on this spatial data source. This choice must be consistent with the user who established the connection from the JMap Server that must access the shared spatial data sources.
Refer to sections Spatial Data Source Permissions and JMap Server to JMap Server Connections for more information on this topic.
Once a spatial data source has been shared, a icon displays in the list of data sources, in the Shared column.
You can share a SDS with JMap Cloud, a cloud based platform developed by K2 Geospatial.
You must first connect to JMap Cloud. The JMap Server Settings section provides details on this topic. If this step is not completed, a message indicates it in the JMap Cloud section of the SDS configuration interface.
To share or synchronize the SDS with JMap Cloud, in the configuration interface of the SDS, in the JMap Cloud section:
Press Synchronize with JMap Cloud. A window opens and offers you several options:
Copy: A copy of the SDS (data and configuration) is created in JMap Cloud. No link JMap Server → JMap Cloud is created. If an update occurs on JMap Server, the data will not be synched with JMap Cloud.
Copy and synchronize manually: A copy of the SDS (data and configuration) is created in JMap Cloud. A link JMap Server → JMap Cloud is created. If an update occurs on JMap Server, the data is not synched automatically with JMap Cloud. You must click on to launch an update.
Copy and synchronize automatically: A copy of the SDS (data and configuration) is created in JMap Cloud. A link JMap Server → JMap Cloud is created. If an update occurs on JMap Server, the data is synched automatically with JMap Cloud. You can also click on to launch an update.
Select one option and press OK. When the SDS is synchronized with JMap Cloud, the JMap Cloud section presents the following information:
Id: The JMap Cloud spatial data source ID.
Status: The current spatial data source status. While synching, this show the current sync task. Otherwise, it shows the JMap Cloud spatial data source status.
Last update: The last time that the spatial data source was synched.
Automatic synchronization: If ON and an update occurs on JMap Server, the data will be synched automatically with JMap Cloud.
Once a spatial data source has been synched, a icon displays in the list of data sources, in the JMap Cloud column.
Press to remove the JMap Server → JMap Cloud link for the SDS. It will not be possible to manually or automatically sync this spatial data source. The spatial data source in JMap cloud is not deleted.
Press to start synchronizing the SDS with JMap Cloud.
JMap Server can connect to any relational database to extract X and Y coordinates that can be used as a spatial data source to create layers of points. The database must contain at least coordinate fields (numeric values) and a field with unique integer values to be used as element identifiers. An SQL query must be provided. This query will be executed to read the data and it can access one or many tables at the same time.
The connection to the database must already be configured. See for more information.
JMap Server can read TAB files as spatial data sources. These files are usually produced with MapInfo applications.
Read | Yes |
Write | No |
Selected files | Select one or more TAB files to read. If you select several files, they must all have the same attributes list, and the geometries must be of the same type. |
Layers | Select one or more layers to be included in the data source. Data on other layers will not be read. |
Read | Yes |
Write | Yes |
Database | Select the database to read the data from. It must already be configured in JMap Admin. |
SQL query | Enter the SQL query used to extract coordinates and attributes from the database. |
Geometry table | Select the physical table that effectively contains the x and y coordinate values. Pressing Load will retrieve the list of fields returned by the query. This action is necessary to configure the rest of the parameters. |
X field | Select the field that contains the X values. Only numeric fields are listed. |
Y field | Select the field that contains the Y values. Only numeric fields are listed. |
Id field | Select a field that contains unique identifiers. Only integer fields are listed. |
Creation time field | (Optional) If you want this data source to be editable by JMap, this field will show the creation date of each object. If no field is selected, the data can still be edited, but this information will not be maintained. |
Modification date field | (Optional) If you want this data source to be editable by JMap, this field will contain the date each object was last modified. If no field is selected, the data can still be edited, but this information will not be maintained. |
Author field | (Optional) If you want this data source to be editable by JMap, this field will either contain the name of the user who created each object or the name of the user who made the last change. If no field is selected, the data can still be edited, but this information will not be maintained. |
JMap Server may use a vector spatial data source that comes from another JMap Server instance. To enable this, you must start by configuring a connection towards the other JMap Server. Refer to JMap Server to JMap Server Connections for more information.
GPX is an XML-based GPS data exchange format. JMap Server can read GPX files as a spatial data source.
JMap has its own storage format for annotations in database tables. If you have any annotations in this format, JMap Server can use them as a spatial data source. Annotation tables in JMap format have a certain number of required fields, as explained in the table below. An SQL query must be provided. The query will be executed to read the data and it can access more than one table at a time.
The database connection must already be configured. Refer to the section for more details on this topic.
Read
Yes
Write
Yes
Remote connection
Select the connection towards another JMap Server instance that must be used to extract spatial data and attributes. The connection must already be configured in JMap Admin.
Data source
Select the existing vector spatial data source on the other JMap Server instance you wish to access. This data source must be shared by the other server.
Read
Yes
Write
No
Selected files
Select one or more GPX files to be read. If you select several files, they must all share the same attributes list.
Layers
Select one or more layers to be included in the data source. The data on other layers will not be read.
Read | Yes |
Write | No |
Database | Select the database from which the data must be read. This database must already be configured in JMap Admin. |
SQL query | Enter the SQL query used to extract annotations from the database. |
Geometry table | Select the physical table containing the geometries. By clicking on Load, you will obtain the list of fields returned by the query. This action is necessary to configure the remaining parameters. |
X field | Select the field containing the X coordinate of the lower left position of the text. |
Y field | Select the field containing the Y coordinate of the lower left position of the text. |
Id field | Select a field containing unique identifiers. Only fields containing integer numbers are listed. |
Text field | Select the field containing the annotation text. |
Height field | Select the field containing the height of the annotation, indicated in data units. |
Angle field | Select the field containing the rotation angle of the annotation text. The angle is indicated in degrees and increases clockwise. The zero value indicates that the text is horizontal. |
JMap Server can read Enterprise geodatabases from ESRI (ArcGIS 10.0 and later, JMap Server validates the EGDB version) to extract spatial and attribute data to be used as a spatial data source. The connection to the database must already be configured. See Creating Databases for more information.
The spatial data source supports value domains. Relationships defined in the enterprise geodatabase (EGDB) are also supported, but can only be exploited by using external tools.
The data source attributes will correspond to the table columns. To associate the data from other tables, a view can be created in the database and then be configured as a layer in JMap. The data source attributes will then correspond to the columns returned by the view.
JMap Spatial is the format used to store JMap’s spatial and descriptive data. It is based on the WKB format (http://en.wikipedia.org/wiki/Well-known_binary).
An existing JMap Spatial table may be used as a spatial data source or a new one can be created to receive data.
Click on Add table to create a new table in JMap Spatial format. You can also select an existing table and click on Edit table to change its name or structure.
When creating or editing a table, you can add new fields to the table in the User Attributes tab by clicking on and remove fields by clicking on .
A warning message appears if you use an SQL reserved word as an attribute name. You must change the attribute name.
Note that there are other fields in the table displayed on the System Attributes tab. These include geometry fields (vary according to geometry type), spatial index fields, and so on. These fields are created and populated automatically by JMap.
Once the table has been created or modified, it can be used for the spatial data source.
JMap Server can connect to MySQL Spatial databases to extract spatial data and attributes to be used as a spatial data source. The only special requirement is the presence of a numeric column with unique integer values to use as element identifiers. An SQL query must be provided. This query will be executed to read the data and it can access one or many tables at the same time.
The connection to the database must be already configured. See Creating Databases for more information on this topic.
JMap Server can connect to MongoDB to extract spatial data and attributes to be used as a spatial data source.
NoSQL database systems such as MongoDB are widely used in cloud applications. They have made it possible to solve important problems that traditional SQL database management systems have encountered (rigid schemas, lack of scalability, limited performance).
You need to connect to a MongoDB system (https://www.mongodb.com/en) stored locally or in the cloud. MongoDB offers a local application, MongoDB Compass and a web application, MongoDB Atlas that allow you to access data.
The data or documents are organized in collections (analogous to relational database tables) stored in databases that integrate “clusters” (MongoDB deployments). The clusters are organized into projects.
Data loading can take some time due to the lack of structure of the data collections.
JMap Server can read Enterprise geodatabases that use the ArcSDE service (ArcGIS version 10.1 and earlier) to extract spatial and attribute data to be used as a spatial data source. The connection to the ArcSDE service must already be configured. See Creating Databases for more information.
There is a special attribute configuration option that is available only with ArcSDE data sources that have attribute domains.
In order for JMap to use ArcSDE attribute domains, they must be exported into database tables that JMap can understand. There is a tool that plugs into ArcCatalog to create such tables. Please contact K2 Geospatial for more information on this.
JMap Server can connect to services complying with the OGC API Features standard (https://ogcapi.ogc.org/features/) to use them as spatial data source.
This new OGC standard replaces the WFS services standard.
OGC API Features provides APIs for creating, modifying, and querying “features” (real world elements or entities) on the web.
The OGC API Features is made up of several parts, each of which is a separate standard.
Part 1, the “core”, specifies the basic capabilities and is limited to the recovery of features where the geometries are represented in the WGS 84 longitude/latitude coordinate reference system.
Part 2 specifies capabilities for extracting features whose geometries are represented in all other coordinate reference systems.
Part 3, which is in the development phase, concerns data filtering as well as queries using the Common Query Language (CQL).
Additional capabilities that meet more advanced needs will be specified in additional parts: support for creating and modifying features, more complex data models, multiple data sets, and collection hierarchies (https://www.ogc.org/standards/ogcapi-features).
JMap Server implements part 1 of the standard, which provides access to spatial data (entities or features) organized in collections. The data is sent in HTML or GeoJSON format (https://ogcapi.ogc.org/features/overview.html).
JMap Server can connect to Oracle Spatial or Locator databases to extract spatial data and attributes to be used as a spatial data source. The only special requirement is the presence of a numeric column with unique integer values to be used as element identifiers. An SQL query must be provided. This query will be executed to read the data and it can access one or many tables at the same time.
The connection to the database must already be configured. See Creating Databases for more information.
JMap Server can connect to ArcGIS Server and ArcGIS Online REST services to access vector data published by this type of service. Geometries and attributes are available, but the other information (styles, scales…) is ignored and must be configured in the layers of the JMap project.
It is also possible to create a JMap project by importing an existing layer configuration from an ArcGIS REST service. Refer to Creating projects for more information.
JMap Server can read ESRI Personal geodatabases to extract spatial and attribute data to be used as a spatial data source. This format uses Microsoft Access files to store the data. The connection to the Access database must already be configured using the MS Access driver. See for more information on this topic.
Web Feature Service (WFS) is a standard proposed by the that defines how client applications should request map vector data and attributes from a WFS compatible server. The protocol used is HTTP and the data returned is typically in Geography Markup Language (GML). WFS servers publish their capabilities in an XML document that specifies the types of requests supported and provides a description of available features.
JMap Server can read data from WFS servers versions 1.0.0, 1.1.0 and 2.0 to be used as a spatial data source.
JMap Server can connect to databases containing geometries that have been coded according to WKB and WKT standards ().
In addition to the column containing the geometry, you must have a number column with unique integer values used as element identifiers. There must also be 4 columns containing the values of minimum bounding rectangles (MBR).
An SQL query must be provided. The query will be launched to read the data and it can access more than one table at a time.
The connection to the database must already be configured. Refer to the section for more information on this topic.
Read
Yes
Write
Yes - Only SQL Server supports all CRUD operations (create, read, update and delete). Other databases only support reading.
Database
Select the database connection to be used to extract the spatial data and attributes. The connection is a standard database (Oracle, SQL Server, etc.). It must already be configured in JMap Admin.
System tables schema
Select the database schema where the metadata tables are located.
Schema
Select the database schema in which the table (or view) containing the feature class will be read.
Layer
Select the feature class to be read. Each table in the database corresponds to a different layer.
Id field
Select a field that contains unique identifiers. Only integer fields are listed. The field is usually called OBJECT_ID.
Geometry field
Select the field that contains the geometries.
Creation time field
(Optional) If you want this data source to be editable by JMap, this field will show the creation date of each object. If no field is selected, the data can still be edited, but this information will not be maintained.
Modification date field
(Optional) If you want this data source to be editable by JMap, this field will contain the date each object was last modified. If no field is selected, the data can still be edited, but this information will not be maintained. This field is used to manage transaction conflicts. It must be present in the attributes of editable layers in order for the feature to be enabled.
Author field
(Optional) If you want this data source to be editable by JMap, this field will either contain the name of the user who created each object or the name of the user who made the last change. If no field is selected, the data can still be edited, but this information will not be maintained.
Read
Yes
Write
Yes
Database
Select the MySQL database to read the data from. It must already be configured in JMap Admin.
SQL query
Enter the SQL query used to extract geometries and attributes from the database.
Geometry table
Select the physical table that contains the geometries. Pressing Load will retrieve the list of fields returned by the query. This action is necessary to configure the rest of the parameters.
Geometry field
Select the field that contains the geometries.
Id field
Select a field that contains unique identifiers. Only integer fields are listed.
Creation time field
(Optional) If you want this data source to be editable by JMap, this field will show the creation date of each object. If no field is selected, the data can still be edited, but this information will not be maintained.
Modification date field
(Optional) If you want this data source to be editable by JMap, this field will contain the date each object was last modified. If no field is selected, the data can still be edited, but this information will not be maintained.
Author field
(Optional) If you want this data source to be editable by JMap, this field will either contain the name of the user who created each object or the name of the user who made the last change. If no field is selected, the data can still be edited, but this information will not be maintained.
Read
Yes
Write
No
Connection string
Enter the MongoDB cluster connection string that contains your data.
To get the connection string:
1. Sign in to a MongoDB Compass or MongoDB Atlas account.
2. Select the project that contains the data you are interested in.
3. In the section of the cluster that contains the data, press Connect. A window opens for you to select the connection method.
4. Select Connect your application to connect JMap to the MongoDB cluster. A window opens displaying the connection parameters.
5. Press Copy in the connection string range. Instructions for completing the chain are displayed in the window.
6. Paste the connection string in the section Connection string in JMap. You must replace <password>
with the cluster password and <dbname>
with the name of the database that will be used by default for the connection.
7. Press Load. The connection process may take a few moments.
Database
Select the database in which the data collection is located.
Collection
Select the data collection to connect to.
Id Field
Select the attribute that is considered the JMap identifier of the data.
Projection
Select the original projection of the data.
Read
Yes
Write
Yes
SDE Connection
Select the SDE connection to use to extract spatial data and attributes. The connection uses the ArcSDE driver and must already be configured in JMap Admin.
Layer
Select the feature class to read. Each table in the SDE database is associated with a different feature class.
Id field
Select the field that contains unique identifiers. Only integer fields are listed. The field is usually called OBJECT_ID.
Creation time field
This parameter is optional. If you want this data source to be editable by JMap, this field will show the creation date of each object. If no field is selected, the data can still be edited, but this information will not be maintained.
Modification date field
(Optional) If you want this data source to be editable by JMap, this field will contain the date each object was last modified. If no field is selected, the data can still be edited, but this information will not be maintained. This field is used to manage transaction conflicts and must be present in the attributes of editable layers for the feature to be enabled.
Author field
(Optional) If you want this data source to be editable by JMap, this field will either contain the name of the user who created each object or the name of the user who made the last change.
If no field is selected, the data can still be edited, but this information will not be maintained.
Metadata database
(Optional) This field is used to define the database containing the value domains and the relationships to be used.
These must have been exported from ArcSDE beforehand in a specific table structure.
Attributes
Data source
Select whether the attribute values should be used directly (Attribute) or if they should be substituted by the values specified in the domain (Domain).
Read
Yes
Write
No
Landing page URL
Enter the URL of the service landing page. Press Load to access the service.
Collection
Select the collection (set) of data you want to access.
Page size
The data is sent in pages. Indicate the size of the page, the quantity of features that are sent at a time.
Original projection
Select the original projection of the data: Longitude/Latitude (WGS84) - EPSG: 4326.
Read
Yes
Write
Yes
Database
Select the Oracle database to read the data from. It must already be configured in JMap Admin.
SQL query
Enter the SQL query used to extract geometries and attributes from the database.
Geometry table
Select the physical table that effectively contains the geometries. Pressing Load will retrieve the list of fields returned by the query. This action is necessary to configure the rest of the parameters.
Geometry field
Select the field that contains the geometries.
Id field
Select a field that contains unique identifiers. Only integer fields are listed.
Creation time field
(Optional) If you want this data source to be editable by JMap, this field will show the creation date of each object. If no field is selected, the data can still be edited, but this information will not be maintained.
Modification date field
(Optional) If you want this data source to be editable by JMap, this field will contain the date each object was last modified. If no field is selected, the data can still be edited, but this information will not be maintained.
Author field
(Optional) If you want this data source to be editable by JMap, this field will either contain the name of the user who created each object or the name of the user who made the last change. If no field is selected, the data can still be edited, but this information will not be maintained.
Read
Yes
Write
No
Read | Yes |
Write | Yes |
Database | Select the database to read the data from. This database must connect to an MS Access file. It must already be configured in JMap Admin. |
SQL query | Enter the SQL query used to extract geometries and attributes from the database. |
Geometry table | Select the physical table that effectively contains the geometries. Pressing Load will retrieve the list of fields returned by the query. This is necessary for the rest of the configuration. |
Id field | Select a field that contains unique identifiers. Only integer fields are listed. The field is usually called OBJECT_ID. |
Read | Yes |
Write | Yes |
URL | Enter the GetCapabilities URL that will return the capabilities of the WFS server. It should be similar to: http://www.server.com/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetCapabilitie |
Feature types | The list of feature types is returned by the WFS server after pressing Load. Select one feature type to read. |
Read | Yes |
Write | Yes |
Database | Select the database from which the data must be read. This database must already be configured in JMap Admin. |
SQL query | Enter the SQL query used to extract geometries and attributes from the database. |
Geometry table | Select the physical table containing the geometries. Clicking on Load displays the list of fields returned by the query. This action is required to proceed with the configuration. |
Geometry field | Select the field containing the geometries. |
Geometry type | Select the format of the data to read, either WKB or WKT. |
Encoding (for WKB only) | If the data format is WKB, you must indicate the type of coding used by the data: Little Endian or Big Endian. |
MBR X1 | Minimum X value of the minimum bounding rectangle (MBR) in the geometry. |
MBR Y1 | Minimum Y value of the minimum bounding rectangle (MBR) in the geometry. |
MBR X2 | Maximum X value of the minimum bounding rectangle (MBR) in the geometry. |
MBR Y2 | Maximum Y value of the minimum bounding rectangle (MBR) in the geometry. |
Id field | Select a field that contains unique identifiers. Only the fields containing whole numbers are listed. |
Creation time field | (Optional) If you want this data source to be editable by JMap, this field will show the creation date of each object. If no field is selected, the data can still be edited, but this information will not be maintained. |
Modification date field | (Optional) If you want this data source to be editable by JMap, this field will contain the date each object was last modified. If no field is selected, the data can still be edited, but this information will not be maintained. |
Author field | (Optional) If you want this data source to be editable by JMap, this field will either contain the name of the user who created each object or the name of the user who made the last change. If no field is selected, the data can still be edited, but this information will not be maintained. |
Raster data sources are used to access raster spatial data (images). See the following sections for information on the various types of raster data sources that are supported
Read
Yes
Write
Yes
Table
Select the JMap Spatial table to be used as a data source. If the table does not exist, you can create it by clicking on Add table.
JMap Server can connect to ArcGIS Server and ArcGIS Online REST services to access WMTS-type raster data published by this type of service.
With this type of data source, it is possible to read ECW or JPG2000 image files or to connect to an ECWP server ( Image Web Server) to obtain images. It is not possible to configure both at the same time.
This type of data can also be read by the GDAL data source with the same performance. This data source is kept for compatibility with existing configurations.
URL
URL of the service of an ArcGIS REST layer. Exemple http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5
Username
Enter the username to authenticate and log in to the ArcGIS REST service.
Password
Enter the password to authenticate and log in to the ArcGIS REST service.
Selected files | Select one or more ECW or JPG2000 image files to read. If many files are selected, they will be considered as a mosaic. The files must be georeferenced. |
JMap Server can use the OpenStreetMap map as a raster data source. No parameters need to be configured for this type of data source.
This type of spatial data source allows you to read a wide variety of raster data formats. GDAL (Geospatial Data Abstraction Library) is an open source library specializing in raster data conversion and processing.
There can be one or more source image files (mosaic of images). The images of the mosaic can overlap and there can be holes in the mosaic.
When the data source is updated, if the option is activated, a pyramid of lower resolution images is created by JMap Server and stored in the image cache. The image cache is then used for high performance production of images on the fly at specific resolutions. Depending on the initial image sizes and parameters, the image cache size can become voluminous. Typically, the total image cache is about the same size as the original images. Available disk space must be sufficient before updating this data source. It is possible that the data format selected will not require the creation of a pyramid. In this case, the parameter will be ignored.
JMap Server Lima introduces this new feature that allows to select multiple coordinate reference systems for a spatial data source (SDS) created from GDAL. This allows to prepare in advance several versions of the raster SDS in order to offer optimal performances when processing requests from different applications.
Once the SDS is created, the Reprojections section of its configuration interface allows to add (+), update () or delete () alternative projection systems to the original one. The table in the section shows the systems configured for the SDS.
When adding a projection system, the SDS is projected into the system and an image pyramid is created and stored in a single file.
When an application uses the SDS, the one projected with the appropriate projection system is used (the projection system must be specified in the parameters of the application's request to JMap Server). For example, JMap NG applications use the EPSG:3857 - WGS 84 / Pseudo-Mercator system, so the SDS projected in this system is used by JMap NG.
If the SDS is not projected in the appropriate system, it is reprojected on the fly which consumes JMap Server resources and compromises the application performance.
Each projection system added to the spatial data source creates a pyramid of images that is stored in a file. You must provide enough storage space for this data.
JMap Server can use a raster spatial data source that comes from another JMap Server instance. To enable this, you must start by configuring a connection towards the other JMap Server. Refer to JMap Server to JMap Server Connections for more information.
Remote connection
Select the connection towards another JMap Server instance that must be used to extract spatial data and attributes. The connection must already be configured in JMap Admin.
Data source
Select the existing raster spatial data source on the other JMap Server instance you wish to access. The data source must be shared by the other server.
Selected files
Select one or more image files to read. You have to select only the files containing the raster data (.tif, .jpg, etc.) and not the additional files (.xml, .prj, etc.). If many files are selected, they will be considered as a mosaic. The files must be georeferenced.
Cache path
The directory where JMap Server will store generated image files for the various resolutions.
Default is JMAP_HOME/cache/raster.
Image interpolation
Method for producing images with reduced resolutions from images with higher resolutions.
Default is Cubic and this method usually produces the best results.
Compute statistics (may take some time)
Statistics on image pixels simplify the analysis of these images. JMap extensions such as JMap Imagery use these statistics to work. Calculating statistics can take several minutes and this option should only be activated when necessary.
If you do not need statistics, do not enable this option.
Create a pyramid
Activates the creation of an image pyramid with several resolutions. This greatly improves performance for producing images on the fly.
Pyramid image interpolation
Method used to produce pyramid images.
The default value is Cubic and this method usually produces the best results.
JMap Server allows you to define metadata templates to document spatial data sources directly in JMap Admin. Once the template has been defined, you can associate it to certain data sources and enter all the information, which users can then easily view in JMap’s applications. If you already use a metadata management system that can be accessed in a browser, you can also create a direct link between certain layers and this system.
You can create as many metadata templates as you want.
The Metadata templates section in Resources displays a table that shows the templates configured in the server. In this section you can create a new template, access the configuration interface of a template by clicking on its name, and grant permissions or delete the templates you select in the table.
Click on Create to create a new template. The interface shows the following options.
You access the Permissions section from the Permissions button in the Metadata templates section or from the detail interface of a template.
This section has two tabs: Permissions and Owners. Owners are the only ones who can manage administrative permissions for the metadata template, manage the list of owners, and delete it.
A list of users and groups with permissions is displayed in the Permissions section. Press to add new users or groups.
The available users and groups are configured in the JMap Server section of JMap Admin. Refer to the User and Groups section for more information on user management in JMap.
There are only administrator permissions for metadata models.
JMap Server can connect to Microsoft SQLServer Spatial databases to extract spatial data and attributes that can be used as a spatial data source. The only special requirement is the presence of a numeric column with unique integer values to be used as element identifiers. An SQL query must be provided. This query will be executed to read the data and it can access one or many tables at the same time.
The connection to the database must be already configured. See Creating Databases for more information.
The projection system selected for the spatial data source must exactly match the spatial reference identifier (SRID, e.g. EPSG) of the elements of the table, for the elements to be displayed.
Access metadata template
Allows an administrator to view detailed template information.
Administrate metadata template
Allows an administrator to modify the template configuration.
Read
Yes
Write
Yes
Database
Select the SQLServer Spatial database to read the data from. It must be already configured in JMap Admin.
SQL query
Enter the SQL query used to extract geometries and attributes from the database.
Geometry table
Select the physical table that effectively contains the geometries. Pressing Load will retrieve the list of fields returned by the query. This is necessary for the rest of the configuration.
Geometry field
Select the field that contains the geometries.
Id field
Select a field that contains unique identifiers. Only integer fields are listed.
Automatically convert to valid geometry
When this option is enabled, invalid geometries created in JMap are automatically converted to valid geometries using the SQL function MakeValid ()
. Upon insertion, JMap converts the invalid geometry to valid geometry. Note that the result may not exactly match the initial geometry.
Although the option is checked, JMap does not convert any existing geometry that is invalid in the data source.
This option also requires a valid SRID, so a projection must be specified for the data source. MakeValid
is not supported by all SQL Server versions, please consult SQL Server’s help to confirm the compatibility of the function for the geometries or geographies and your particular SQL Server version. Activating this option without meeting these criteria will result in an error during the insertion or updating of the data.
Creation time field
(Optional) If you want this data source to be editable by JMap, this field will show the creation date of each object. If no field is selected, the data can still be edited, but this information will not be maintained.
Modification date field
(Optional) If you want this data source to be editable by JMap, this field will contain the date each object was last modified. If no field is selected, the data can still be edited, but this information will not be maintained.
Author field
(Optional) If you want this data source to be editable by JMap, this field will either contain the name of the user who created each object or the name of the user who made the last change. If no field is selected, the data can still be edited, but this information will not be maintained.
Name
Enter a name for this template. Template names must be unique.
Default language
Among the languages available for the metadata template, choose the default language that will be used when the requested language is unavailable or when translations are missing.
Available languages
Select one or more languages that will be supported for this metadata template.
All text elements in the template's configuration (section and field names, field values) will have to be translated into each supported language.
You must select at least one language.
Section name
You can define one or more metadata sections.
Enter a name for the current section.
Label
Enter a label for the field.
The label text will be displayed in the metadata entry window and in the consultation interface.
Type
Select the type of field. The following types are available: TEXT: Alphanumeric data entry field on a single line. TEXTAREA: Data entry field spanning multiple lines to allow for longer text.
Mouseover
By selecting this option, the field value will be displayed in the mouseover bubble when a layer is pointed in the layer bar of JMap Server applications.
This bubble presents a summary of a layer's metadata.
Click on to add a new section.
Click on to delete a section. Click on to move the section up or down.
Click on to add a new field.
Click on to delete a field. Click on to move the field up or down.
In JMap, map data is organized in projects. A project is composed of an ordered list of layers. Typically, when a JMap application connects to JMap Server, the application opens a project and displays the project layers. You can create as many projects as you want.
Each layer of a project is associated with a spatial data source. The data source provides the data of the layer. Different projects can contain layers sharing the same data sources, allowing different data bindings, styles, etc. for the same data. Also, more than one layer in a project can share the same data source. This is useful when using layer filters to show different data of the same data source on multiple layers.
A project is a secured resource, which means that permissions are associated with it in order to control access by users. This allows precise control of which users or groups will be allowed to open each project. Similar access control is also available for each layer in the project.
The Projects section in Resources displays a table that shows the projects configured in the server. In this section you can create a new project, access the configuration interface of a project by clicking on its name as well as manage projects that you select in the table.
To create a new project, press Create in the Projects section. Projects are created by walking through a wizard.
When creating a project, you can either create a new empty project or import an existing project configuration from another source. When you use an existing configuration, you can automate the creation of the project’s layers and avoid reconfiguring everything in JMap Admin.
Currently only one option is available for importing a project configuration: importing projects from an ESRI ArcGIS REST Service.
You can choose to import the layer configuration from an ESRI ArcGIS REST service. JMap will import the project’s parameters, the layers and their symbology, the scale parameters, the extents, etc.
Select the ArcGIS REST option and click on Next.
JMap supports the import of OGC WMTS raster layers.
In the REST service layer import interface, icons indicate layers whose format is not compatible with JMap.
JMap Server can connect to PostGIS databases to extract spatial data and attributes that can be used as a spatial data source. The only special requirement is the presence of a numeric column with unique integer values to be used as element identifiers. An SQL query must be provided. This query will be executed to read the data and it can access one or many tables at the same time.
The connection to the database must be already configured. See Creating Databases for more information.
The configuration interface of a project allows you to access information on the project. This interface also contains functions to configure various parameters, such as the initial view of the project in the applications.
The project preview provides a preview of the map, in which you can test the configurations made as they work in JMap Server applications.
JMap Server Lima does not provide a JMap Pro preview of your project. The function of this preview is replaced by the Administration extension displayed when creating a JMap Pro application. The JMap Pro Applications section provides details of this extension.
It opens a JMap Web application in a new browser window.
The preview offers most of the functionality of JMap Web applications and allows you to validate the project’s configuration.
The JMap Web preview does not allow data editing. Data editing can be done in a JMap Web type application.
It opens a JMap NG application in a new browser window.
The preview offers most of the features of JMap NG applications and allows you to validate the project configuration.
The JMap NG preview does not allow data editing. Data editing can be done in a JMap NG type application.
JMap projects can be configured to support several languages. This way, each user can view the project in his or her own language, as long as the language is available and the translations have been provided. When a JMap application is launched, it can automatically identify the language of the user’s operating system and use this language for the project and graphical interfaces. This behavior depends on the options selected when deploying the application.
For a project supporting multiple languages, each text element that is visible to the users can be translated into each language. For example, you can provide translations for the project name, the names of the layers, labels, mouseover bubbles, forms, etc.
To enable multilingual support, you must choose at least 2 languages when creating or editing a project. You must also select the default language.
Afterwards, you can enter the translations in the sections identified with the symbol when configuring the project and layers.
If translations are not provided in all available languages for certain text elements, the text will automatically be displayed in the default language.
Web Map Service (WMS) is a standard proposed by the that defines how client applications must request maps from a WMS compatible server. The protocol used is HTTP and the maps returned are typically images in popular formats (PNG, GIF, JPEG, etc.). WMS servers publish their capabilities in an XML document that specifies the types of requests supported as well as the metadata (list of layers, supported projections, etc.).
By configuring WMS data sources, you allow JMap to connect to and query WMS compatible servers (versions 1.0 to 1.3). You can then create raster layers based on these WMS data sources inside projects.
Once you have obtained the capabilities, you can define the parameters for the other types of requests in the WMS protocol. JMap Admin automatically suggests default queries that usually work very well. They are generated from the GetCapabilities request. If you wish to modify these default requests, you must select the Override default request option and enter new requests. For each type of request, you can also activate HTTP authentication and provide sign-on parameters.
JMap Web preview also allows you to configure the initial view of the project when it is opened in JMap Web applications. To do this, click on and then on Initial extent. A rectangle displays to delimit the initial extent.
Click on Maximum extent to display the maximum extent. When you close the preview, the geographic coordinates of the initial extent are automatically saved.
Identification
Name
Enter a name for the new project. The name must be unique.
Description
Optionally enter a description for the new project. Used for administrative purposes.
Default language
Among the languages available, select the one that will be used by default when the requested language is unavailable or when translations are missing. For more information, refer to the Multilingual Projects section.
Available languages
Select one or more languages that will be supported by the project. All text elements in the project’s configuration (name of project, names of layers, mouseover bubbles, etc.) will have to be translated into each supported language. At least one language must be selected. For more information, refer to the Multilingual Projects section.
Usage statistics
Select this option if you wish to obtain usage statistics regarding this project, the layers it contains, and the public contexts that are created in the JMap Pro applications deployed from this project.
Automatically invalidate Mapbox tile cache
Select this option if you want to automatically invalidate the Mapbox tile cache. Mapbox is used to produce vector tiles for some of the project’s layers and thus improve the performance and rendering of JMap Survey and JMap NG applications. Refer to Vector tiles in JMap for more information on this topic. Mapbox vector tiles can be produced in advance and cached. The following article offers details on how to create and manage the Mapbox cache. The Mapbox cache is automatically deleted when: a layer is published, a published layer is deleted, attributes that are bound to a layer are added or deleted, a layer’s base filter changes, the spatial data source of a layer changes, or the project is deleted. The Mapbox cache is not automatically deleted when: an unpublished layer is added to the project, an unpublished layer is deleted from a project, minor changes are made to a layer (style, thematics, mouseover), or the order of attributes bound to a layer changes.
Parameters
Map projection
Determines how the data will be displayed in the client applications. Any data that is in a different projection will be converted on the fly to this projection. Note that changing the map projection of a project invalidates the layer cache. This can temporarily reduce the performance of applications.
Map unit
The map unit is automatically selected according to the selected map projection.
Display unit
The unit used to display map coordinates.
Measurement
Geodetic: Distance and area measurements will be made using spherical calculations based on the projection’s ellipsoid. Cartesian using: Distance and area measurements will be made from calculations on the two-dimensional plane using the specified projection.
Distance unit
The unit used to display distances (measurements, zoom levels, etc.).
Minimum scale
The minimum scale of the map. Users cannot zoom out further when this limit is reached. When you check this option the default value is 1:1.
Maximum scale
The maximum scale of the map. Users cannot zoom in further when this limit is reached. When you check this option the default value is 1:1.
Background color
Default color to use for the background of the map.
Default selection color
Color of selected objects on the map. It can also be defined for each layer.
ArcGIS REST
URL
Enter the URL of the ArcGIS Server REST service. Exemple http://sampleserver1.arcgisonline.com/ArcGIS/rest/services Afterwards, click on Load to show the list of available layers.
Username
Enter the username to authenticate and log in to the ArcGIS REST service.
Password
Enter the password to authenticate and log in to the ArcGIS REST service.
Layers
Select the layers whose configurations you wish to import. JMap creates a layer in the project for each imported layer. The configuration of the JMap layer is similar to that of the original layer, but there may be some differences.
Read
Yes
Write
Yes
Database
Select the PostGIS database to read the data from. It must already be configured in JMap Admin.
SQL query
Enter the SQL query used to extract geometries and attributes from the database.
Geometry table
Select the physical table that effectively contains the geometries. Pressing Load will retrieve the list of fields returned by the query. This is necessary for the rest of the configuration.
Geometry field
Select the field that contains the geometries.
Id field
Select a field that contains unique identifiers. Only integer fields are listed.
Creation time field
(Optional) If you want this data source to be editable by JMap, this field will show the creation date of each object. If no field is selected, the data can still be edited, but this information will not be maintained.
Modification date field
(Optional) If you want this data source to be editable by JMap, this field will contain the date each object was last modified. If no field is selected, the data can still be edited, but this information will not be maintained.
Author field
(Optional) If you want this data source to be editable by JMap, this field will either contain the name of the user who created each object or the name of the user who made the last change. If no field is selected, the data can still be edited, but this information will not be maintained.
1
The project sections are organized into tabs: Layers and Layer Groups, Queries, Image Producer and the configuration interfaces of JMap extensions compatible with JMap NG or JMap Survey.
2
General information configured when creating the project.
3
Project settings. The project’s parameters. They are configured when the project is created. The project’s extent corresponds to the extent of the layers that make up the project. When the project does not have any layers, the values are equal to 0.
4
5
Extensions. This section presents the list of JMap extensions configured for the project. The switch next to the name of each extension enables or disables the extension in the JMap NG and JMap Survey applications which publish the project. The JMap extensions compatible with JMap NG or JMap Survey section provides more details on this topic.
6
References. This section indicates the deployed applications that use this project.
7
8
This section allows you to synchronize/share the project with JMap Cloud.
9
10
Layers. This section shows a list of the project layers and their statuses. Shortcuts allow you to access the interfaces to add and organize layers.
11
These buttons allow you to delete the project, access permissions or edit it.
Languages |
|
Available languages | Select the languages that will be available for the project. At least one language must be selected. |
Default language | Choose the default language among those that are available. When you enter text in the various configuration sections of the project and layers, you must enter it in the default language.If the user’s language is not supported for the project or if translations are missing, JMap will automatically use the default language. |
Get server capabilities (GetCapabilities) | Enter the GetCapabilities URL that will return the WMS server’s capabilities. The URL should look like this: |
Enable HTTP authentication | Enable this option if the WMS server controls access to the WMS service via HTTP authentication. In this case, enter the username and password that must be used. |
Get map(GetMap) | This request is used to get a WMS server map. |
Get feature info(GetFeatureInfo) | This request is used to get the attributes of a map element. |
The Permissions button appears in the Projects section and is enabled when at least one project is selected. It is also displayed in the project configuration interface.
This section has two tabs: Permissions and Owners. The owners are the only ones who can manage the administrative permissions for the project, manage the list of owners and delete it.
A list of users and groups with permissions appears in the Permissions tab. Click on to add new users or groups.
Available users and groups are configured in the JMap Server section of JMap Admin. Refer to the section for more information about managing users in JMap Server.
Project permissions are divided into two categories: administrator permissions and user permissions.
Administrator project permissions define the project administration rights for the users authorized to use JMap Admin. For more information on concepts related to permissions and administration roles in JMap Admin, refer to the section.
User project permissions determine which users and groups can open a project. Access will be denied to users who do not have the appropriate permissions. Security can also be configured at the layer level. For more information on this topic, refer to the section.
Adding the Anonymous user to the list of users authorized to open the project gives users the possibility to open a project without any authentication. This is equivalent to removing all security for opening the project. This is useful for public applications, when no project access control is needed.
Adding the Everyone user to the list of users authorized to open the project allows all users to open the project, including the Anonymous user. This means that the project is accessible to all users, with or without authentication.
Adding the Authenticated users to the list of users authorized to open the project allows any authenticated user to open a project. This is useful for private applications where all users are allowed to open a project but must authenticate themselves.
In JMap, forms are used for attribute queries to enter the search parameters, to enter attribute values of editable layers and to manage data stored in databases. This is always done in relation with the elements of a layer.
The JMap administrator designs the forms using the . Afterwards, users can use them in JMap Pro, Web, NG and Survey.
Like data editing forms, attribute query forms are created using the . They allow the users to enter query parameters.
Each form component is therefore associated with a parameter of the query ($param1,
$param2
, etc.).
Unlike the other types of forms, they cannot be divided into sections. In addition, the Photo components are not available for this type of form.
These forms are created when configuring attribute queries, by clicking on Form layout.
When creating an attribute query form, it is important to consider which parameters are required and which are optional in the query definition. For instance, if Required is not selected for a form component, the query must consider this parameter as optional.
Refer to the section for more information on optional parameters in queries.
Web Map Tile Service (WMTS) is a standard offered by the that determines how client applications perform queries to obtain map data in the form of predefined tiles from a data server.
By configuring WMTS data sources, you enable JMap to connect to and query WMTS-compatible servers (version 1.0.0). You can then create raster layers based on WMTS data sources within projects.
Initial view settings. These parameters are specified when the project is created. The initial view is defined by clicking on in the Preview section. By default, the initial view corresponds to the extent of the project. When the project does not have any layers, the values are equal to 0.
Mapbox cache. This section presents the size of the cache for the project’s vector tiles. It also indicates if you want to automatically delete the cache of the vector tiles. You can clear the cache by clicking on .
Preview. This section displays when the project contains at least one layer. It shows a map preview, and you can zoom in or out on it. Click on to open a JMap Web Preview or a JMap NG Preview in a separate window in which you can define the initial view and test the project configurations. You can select a base map for the JMap Web preview: None, OpenStreetMaps, Mapbox maps, and Bing maps, if they are available for your organization.
The Projects section offers buttons to create, clone or delete projects. Other functions are avalilable from the project configuration interface.
A project can be modified by pressing Edit from the project detail section. Modifying a project goes through the same steps as when the project was created.
If the projection of the project is changed, the vector data cache of the layers is cleared.
You can clone an existing project by selecting it from the table and pressing Clone. All layers inside the project are copied to the new project.
The underlying spatial data sources and databases are not copied. Instead, they are shared between the layers of the new project and the layers of the old project.
You can delete an existing project by selecting it in the table and clicking on Delete. You can also delete a project from its configuration section.
Deleting a project permanently deletes all layer configurations included in it. The spatial data sources are not affected.
Administrate project | Allows an administrator to modify the project and its content. |
Access project | Allows an administrator to access a project to view its content and to use it when deploying JMap applications. |
Open this project | Allows a user to open a project from a JMap application. |
URL | Enter the GetCapabilities URL that will return the capabilities of the WMTS server. The URL should be similar to this one: Exemples Press Next to continue configuring the data source. |
Original projection | Select the projection of the map data. |
Start update automatically | Check this box to automatically update this data source. |
Style templates are predefined styles that can be reused across many projects and layers. They help save time because a style can be configured once but used at many places. Style templates also help create standardized maps.
Once a style template is configured, it can be used in every place a style is needed (layer styles, selection styles, thematics, etc.).
A style template can be used as a reference or as a copy. When used as a reference, if the style template is modified, all layers that refer to it will also use the modified style. When used as a copy, the style is detached from the style template and can be modified independently thereafter.
Style templates are associated with only one type of map element (point, line, polygon, etc.) and cannot be used for other types of elements.
The Style Templates section in Resources displays a table that shows the templates configured in the server. In this section you can create a new template, access the configuration interface of a template by clicking on its name, and manage the templates you select in the table.
Attribute queries are used to find and select elements of a map layer using their attribute values or a database associated with the layer.
In JMap Admin, JMap administrators create the queries and their associated forms. Then, users of JMap applications use those forms to enter attribute values to search for. All elements whose attribute values match the values entered are then selected or listed in an elements explorer.
The Queries tab of a project's configuration interface allows you to configure the project's queries.
The Queries tab appears when the project contains at least one layer.
This tab presents a table that displays the query groups. The table shows the number of queries each group contains. The Organizing attribute queries section provides details about the groups.
To create a new query you must position yourself in a group of the Queries tab. The Create a query button is displayed and you can therefore open the query configuration interface.
Parameters will vary depending on the type of query selected.
This type of query is used when the search must be conducted within the data of an external database. The external database must contain a field that links to a layer attribute. A select SQL query is executed in the external database and the values returned are then associated with the layer elements using the link field.
Although search forms are designed to mark fields as required or optional, the where clause of the query must be adjusted to support this option. To accomplish this, any part of the query that is associated with optional parameters must be included between braces ( { } ).
Example of WHERE clause:
CITY = '$param1' and { COUNTRY = '$param2' }
This example searches for cities for which the attribute value CITY is equal to the value of parameter 1 ($param1
) entered by the user and who optionally have their value for the COUNTRY attribute equal to the value of parameter 2 ($param2
) entered by the user. If parameter 2 is left blank , the entire block { COUNTRY = '$param2' }
is removed from the query, along with the and operator, which is now an orphan. Note that the administrator must absolutely define $param2
as optional when designing the form. Refer to the Forms section for more information on designing forms.
Multiple values can be entered with a List (multiple choices) type field in the forms. The values are separated by the delimiter character ; (semicolon). This option can be activated in the WHERE clause of the query. The syntax is as follows:
$multiple{true|false} {$delimiter{;}}
Example:
CITY = '$param1{$multiple{true} $delimiter{;}}'
Searches for cities whose CITY attribute value is equal to one of the values entered in parameter 1. The values are separated by semicolons.
Attribute queries can be modified by administrators. In JMap Dakar and later versions, when a project’s queries are modified, the applications that disseminate the project do not need to be redeployed because the changes are reflected directly.
Attribute queries can be organized into groups. This is particularly useful for projects that have a large number of queries.
To create a new group, click on the Create group buttonon the Queries tab.
To delete a group, select it in the list and click on Delete.
Deleting an attribute query permanently deletes the query and its associated form. To delete a query, select it in the list and click on Delete.
Once a query has been created, it is automatically published. However, you can disable this publication, which will make your query unavailable in applications, but its configuration will still be saved. If you do not want your query to be published, clear the Published checkbox of your query in the query management interface.
When a project contains referenced layers, the queries configured on these layers are automatically available in the project. The project “inherits” these queries.
You cannot modify these queries from the project; they can only be modified in the project that contains the original layer.
If you wish to make changes to a query on a referenced layer, create a copy of the query by clicking on Clone. The configuration interface shows the search parameters that you can modify.
Once the new query has been configured, you can clear the Published check box of the query that was “inherited” from the referenced layer if you no longer want it to be available in JMap applications. If the Published check box is cleared for an attribute query on a layer, that query will no longer be available in the projects that use the referenced layer.
You can also create a new query on a referenced layer as described in the section Creating a new attribute query.
To create a new style template, press Create.
The rest of the configuration depends on the selected element type and is identical to normal style configuration. See for more information.
Press Finish to complete the creation of the style template.
To modify the order of groups, click on Modify and select Reorder groups. The window that is displayed allows you to drag and drop the groups in order to change their order. To rename a group, click on .
Title
Enter a title for the query. Users will see this title in a list of queries.
Layer
Select the layer on which the query will be executed. A search field is provided to simplify layer selection.
Maximum scale
Specify the maximum scale used to present the results on the map. This is used to avoid zooming in too closely on the results.
Max. returned values
Specify the maximum number of elements this query can return. The query will refuse to execute if the return size is higher than this limit. This is used to avoid very long queries that could slow down the system.
Query templates
Basic: With this type of query, the search is only performed on the layer attributes. This is the simplest type of query. External database: With this type of query, the search is performed in an external database that has a field linking to an attribute of the layer. Setting up this type of query is more complex but offers more searching flexibility.
WHERE
WHERE clause of the SQL query used to run the search. Here is where all the search criteria will be defined. Typically, this clause contains numbered parameters ($param1
, $param2
, etc.) that will be replaced by the values the user enters in the form.
Examples
COUNTRY='$param1'
Selects the layer elements for which the attribute value COUNTRY is equal to the value entered by the user.
The attribute value must perfectly match the value entered ($param1
).
lower(COUNTRY) like lower('$param1%')
Selects the layer elements for which the attribute value COUNTRY is similar to the value entered by the user. The attribute value must begin with the value entered ($param1
). Since the lower operator is used, the search is not case sensitive.
POP2000>=$param1 and POP2000<$param2
Selects layer elements that have the POP2000 attribute value within the range defined by the two values that were entered ($param1
and $param2
).
Form layout
Press this button to configure the query form. See Forms for more information.
Database
Select the database in which you would like to perform your query.
SQL query
Enter the SQL query that will be executed in the database to search for elements.
Example
select * from cities where CITY_LANGUAGE='$param1'
Searches the database selected above, in the cities table. Retrieves all fields of records for which the value of the CITY_LANGUAGE field is equal to the value entered by the user ($param1
).
Layer attribute
Among the layer attributes, indicate which one is used to link with the database.
Field
Among the fields returned by the SQL query, indicate which one is used to link with the layer.
Form layout
Click on this button to configure the query form. Refer to the Forms section for more information on this topic.
Name | Enter a unique name for the style template. |
Type | Select the element type associated with the new style template. Depending on the selected type, the style configuration interface will be different. |
Description | Optionally enter a description for the style template. |
The layers of a project are displayed in the Layers tab of the project configuration interface. This icon located in the Layers section of the project interface also takes you to the Layers tab.
The table shows basic information about each layer of the project. When you click on the name of a layer, a details section displays.
In this tab you can define the order of layers in the project. The Organizing Layers section offers details on this topic.
Buttons allow you to perform management tasks for the layers you select in the table, as well as add new layers to the project.
The icon in the Layers section of the project configuration interface gives you the three options to add a layer to the project.
When you select one or more layers you can grant permissions for the whole set. Refer to Layer Permissions.
You can edit different settings for a set of layers. You must select the layers to modify in the List tab of the Layers section of the project. Afterwards, press the Update button, and click on the Bulk edit… option. The Bulk edit interface will open.
This button allows you to synchronize the selected layers with JMap Cloud. The section Sharing layers with JMap Cloud provides details on the subject.
Deletes the selected layers.
The image producer of a JMap project is used to produce images on demand for that project. These images are used for JMap Web applications. When a user works in JMap Pro, the image producer is not used because the data is transferred in vector format (except for photos).
Normally, the image producer’s settings do not need to be modified because the default configuration is adequate. The following table describes the settings of the image producer.
Change ‘Antialiasing’
Check if you want to change this setting.
Check New Value to enable the antialiasing feature. Uncheck New Value to disable the antialiasing feature. The Style section provides details on this parameter.
Change Minimum scale
Check to change the minimum scale for displaying layers.
Check Infinity or 1: and in this case, indicate the scale.
The General Settings section provides details on this topic.
Change Maximum scale
Check to change the maximum scale for displaying layers.
Check Zero or 1: and in this case, indicate the scale.
The General Settings section provides details on this topic.
Change Request mode
Check to change the data request mode.
Check the option of your choice.
The Creating Layers section provides details on this topic.
Change Description
You can write a new description for the layers.
Memory settings |
|
Maximum size | The maximum amount of memory allotted to the project’s image producer. This memory is used to store the project’s vector data in order to accelerate the production of images. For very large projects, this setting can be increased. |
Memory usage | The amount of memory currently used. The left value varies depending on usage. The right value is the maximum amount of memory allocated to the image producer. |
Usage peak | Maximum memory size reached since last JMap Server startup. |
Memory release | Determines the percentage of memory to be released when the memory of the image producer is saturated. |
Thread pool settings |
|
Initial size | The number of threads determines the number of images that can be produced simultaneously. |
Maximum size | If the number of threads increases due to high demand, this value limits the number of threads. |
Pool usage | Number of threads currently used (left value) out of the maximum number allocated (right value). |
Usage peak | Maximum number of threads reached since last JMap Server startup. |
View wait timeout | The maximum period before an image request expires. This option is usually disabled. |
Personal layers are layers of data created and populated by users. When creating a new personal layer, the user specifies a name, a geometry type and a set of attributes.
The layer configuration and the data (geometries and attributes) are stored in the JMap Server System database.
Once they have been created, personal layers can be shared between users with a permission system. They can also be converted to normal layers inserted in a project by the administrator.
Users need a special permission granted by the administrator to create personal layers.
You can access the personal layers section by clicking on Personal layers on Resources section. This section has two tabs:
By layers, displays a list of personal layers. When selecting a personal layer, you can see which users have access to it.
By users, displays a list of users. When selecting a user, you can see which personal layers the user has access to with their permissions.
You can click on a personal layer in the list to open its details section.
To delete a personal layer, select it in the list on the By Layers tab and press Delete or press Delete in the layer's detailed section.
Deleting a personal layer also deletes its configuration and all its data. This action cannot be undone.
Publishing a personal layer transforms it into a regular project layer.
Once it is published, a personal layer can no longer be managed by users. However, it can still be edited if the administrator grants the appropriate permissions to users.
To publish a personal layer, select it in the list on the By Layers tab, press Publish and select the project in which the layer will be inserted. You can also publish the layer from his configuration interface.
Create
Initiates the creation of a new layer. Refer to Creating Layers.
Clone/Reference
Allows you to duplicate or reference a layer from another project located on the same server or on a different JMap Server. Refer to Sharing Layers.
Import…
Allows you to import layers one by one from a project exported from another JMap server. Refer to Importing layers.
Update data sources
Updates the spatial data sources associated with the selected layers. Refer to Spatial Data Sources.
Update caches
Launches the preparation of the vector data cache for the selected layers. Refer to Creating Layers.
Update - Bulk edit…
Allows you to edit certain layer parameters in batches. The Bulk editing a layer set section provides details about this topic.
You can synchronize the project with JMap Cloud, the cloud based platform developed by K2 Geospatial.
Beforehand, you must connect to JMap Cloud. The section offers details on this subject.
Project properties, layers with their associated spatial data sources, order and hierarchy of layers are reproduced in JMap Cloud.
To synchronize the project with JMap Cloud:
In the project configuration interface, press Sync with JMap Cloud…. A window opens offering you two actions: Copy project: A copy of the project layers (configuration and data) and their spatial data sources is created in JMap Cloud. No JMap Server → JMap Cloud link is created. When a layer is updated on JMap Server, the data is not synchronized with JMap Cloud. Synchronize project: A copy of the project layers (configuration and data) and their spatial data sources is created in JMap Cloud. A JMap Server → JMap Cloud link is created. When a layer is updated on JMap Server, the data is automatically synchronized with JMap Cloud. The window offers two options for the project in JMap Cloud: Create new project: You can specify a new project name that will be used in JMap Cloud. If the project uses multiple languages, the name specified here will replace the default language value. All translations are synchronized. Replace Project: You select the JMap Cloud project that will be overwritten and replaced by the project you are copying or synchronizing.
Select the options that suit you and press OK. If you selected Copy, the Status indicates that the project has been copied to JMap Cloud. This icon allows you to redo the synchronization. If you selected Synchronize, the section displays the following information: Id: Identifier of the project in JMap Cloud. Status: The status of the project creation in JMap Cloud. Last update: Indicates the last time the project was synchronized. Automatic synchronization: Indicates that the synchronization is automatic. Press to remove the JMap Server → JMap Cloud link for the project. The JMap Cloud project is not deleted. Press to start synchronizing the project with JMap Cloud. Once the project is synchronized with JMap Cloud, the icon appears in the list of project layers, in the JMap Cloud column.
Each layer of a project in JMap takes its data from a spatial data source. Thus, before layers can be created, the related data sources must already exist (see Creating Spatial Data Sources for more information).
To create a new layer, press Create in the Add menu of the Layers tab of a project.
Note that the new layer will have the same name as the data source by default. The name can be changed later.
The next steps are different for vector layers and raster layers. Note that creating a raster layer is also different for each type of raster data source. Jump to the corresponding section below.
The request mode determines how the vector data is managed by JMap Server. It can greatly influence the system’s overall performance.
Two tile loading request mode are available: automatic and manual. You can edit the layer at any time and change the request mode.
Most of the time, the following advanced parameters don’t need to be modified.
To create a raster layer based on a WMS spatial data source, you need to tell JMap what data to request from the WMS server.
The WMS server publishes a list of all the layers it can serve and their properties. In JMap, the WMS layer creation interface allows you to select the layers to include in the WMS layer you wish to create.
JMap Server offers two modes of connection to the WMS server: Direct and Server.
Direct mode implies that the JMap Server application communicates directly with the WMS service that returns the image. Pro, Web, NG and Survey applications support this option.
Server mode implies that the application asks JMap Server to communicate with the WMS service and return the image. If the application does not support this option, the Direct option is used automatically. Pro and Web applications support this option.
You can add a layer to a project by importing it from a project that has been exported from another JMap server. The Exporting and Importing section provides details on exporting and importing a JMap server’s resources.
To import a layer in a project, you must also create a data source in JMap Server containing the data of the imported layer.
When you select Add / Import… the Importation wizard will guide you through the process to import one or more layers from the project where they are found.
To start the process, select the Importation file. Click on Browse to access the File browser.
Select the .properties file that contains the project whose layers you wish to import.
Click on Next.
Select the Project that contains the layer you wish to import.
Select the Layers to import.
Click on Next.
If the project in which you are importing the layer contains a layer with the same name as the one you are importing, select an option to resolve the conflict between these layers: Create a new layer with a different name, Replace the existing layer or Use existing layer.
Click on Next.
If the JMap Server in which you are importing the layer contains a spatial data source with the same name as the data source of the layer you are importing, select an option to resolve the conflict between these data sources: Create a new data source with a different name, Replace the existing data source or Use existing data source.
Click on Next.
A summary lists the number of imported resources for the project: layers, databases, remote connections, spatial data sources, style templates, and metadata templates.
Press Import. The layer is added to the project and a new spatial data source is created in JMap Server.
A layer must be published to be accessible to the users.
A layer that is not published is not part of the project, and in no way can users see it or access it.
When a new layer is created, it is not published by default. This allows you to do further configuration tasks on the layer before making it available for the users. For example, it is important to configure visibility thresholds appropriately according to the scale before the layer can be seen by users.
After layer creation, you must press the Publish button in the layer’s detail section.
You can also publish a selection of layers, from the Layers tab of the project configuration interface. As soon as a layer is selected the Publish button becomes active.
Unpublishing an existing layer can be useful to make it unavailable to the users without actually deleting it.
The general settings section of a layer is available in the General tab of the layer configuration interface.
Scale thresholds are used to control the visibility of a layer according to the scale of the displayed map. This is useful when you want to hide elements of a specific layer beyond (or under) a certain scale. For example, you might not want to display the local street layer when looking at the whole territory of a country. Using the thresholds, you could specify that the local streets are to be visible only when looking at a map with a scale greater than 1:100000. In that case, you would specify a minimum scale of 1:100000, without indicating a maximum scale.
The dynamic refresh of the layer is used to automatically reload the data of a layer after a configured delay, without the need for the user to manipulate the map. This can be useful for layers that contain data that is updated regularly, such as layers of vehicle tracking (AVL). This is an alternative to the use of layers by region to have dynamic data.
You can manage a style template through its configuration interface and through the Style Templates section.
In the template configuration interface, press on Edit to redo the creation steps and modify the parameters.
In the Style Templates section, select the templates and press Duplicate. A copy of each selected template is produced and you can edit it later.
You can grant permissions to the templates you select in the Style Templates section.
This section has two tabs: Permissions and Owners. The owners are the only ones who can manage the administrative permissions for the style template, manage the list of owners and delete it.
A list of users and groups with permissions appears in the Permissions tab. Click on to add new users or groups.
Available users and groups are configured in the JMap Server section of JMap Admin. Refer to the Users and Groups section for more information about managing users in JMap Server.
There are only administrator permissions for style templates.
You can delete a template from its configuration interface or a selection of templates through the Style Templates section, by pressing Delete.
The layer configuration interface allows you to access layer information as well as parameter configuration functions such as style, labels, or reports. Tabs also provide access to the same functions.
The raster layer configuration interface contains the General information, Layer parameters, JMap Cloud and Visibility thresholds sections and General and Style tabs.
The Attribute configuration window contains three tabs: Metadata, Statistics, and Attribute sample.
The Statistics tab provides simple statistics about the attribute. The Attribute sample tab displays the value of the attribute for a sample of layer elements.
There are two aspects to organizing layers in a project:
Order of appearance of the layers on the map. Layers at lower positions are drawn first and layers at higher positions are drawn at the end. Top layers can hide elements of bottom layers.
Logical hierarchy based on the nature of the layers. In other words, groups and subgroups of layers that have a logical relationship. For example, there could be a group of layers related to roads, another to hydrography, and another to census. Organizing them in groups makes it easier for the users to work with layers.
You can set the layer order in the Layers tab and the layer hierarchy in the Layer groups tab of the project configuration interface.
In both tabs you can grant permissions to selected layers. The section provides details about the permissions.
To order layers of a project, open the tab titled List. This section presents the layers in their order of appearance on the map. The lowest position is the first layer to be drawn on the map.
To change the order, you must use the Modify menu located at the top of the column displaying the position of each layer. You can also select one or more layers and move them using the available options (Move up, Move down, Move at…, etc.). The option Reorder layers opens a window displaying all the layers that you can reorder using drag-and-drop actions.
To organize layers in groups, open the tab Layer groups. This section presents the current hierarchy of layers.
By default, all layers of the project are in one unique group called Layers.
To create a new group, press Create group. Fill the layer group parameters as described below:
Once groups have been created, you can move layers towards these groups using the Modify menu located at the top of the column displaying the position of each layer.
In JMap, labels are text that is related to map elements. They are used to display information about the elements on the map. For example, you can use labels to display the city names for a layer of points representing cities.
Labels can either be placed manually using the labeling tool or generated automatically by JMap at display time. Depending on the type of elements of the layer, the labeling configuration section can slightly vary.
The following figure shows an example of curved labels (left) and labels with a frame (right).
The following figure shows an example of of labels with a background symbol.
Labeling is configured by specifying text that defines the label's content; this text can contain static parts, variable parts (functions) and JavaScript programs. At display time, functions are executed and replaced by the result. For example, the ElementValue(attrib)
function (or ev(attrib)
in its short form) will be replaced by the value of the corresponding attribute. JavaScript programs can be used to perform operations on attribute values. Label text can span multiple lines.
Automatic labeling adds labels to map elements automatically, without user interaction. For each vector layer, you can enable or disable automatic labeling and define scales between which automatic labeling will be activated. It is often useful to set a minimum scale limit for automatic labeling to avoid overcrowding the map.
Also, in order to avoid overcrowding the map, three tools allow you to control the order or priority in the position or display of the labels: dynamic position, layer priority, and priority by attribute.
A project is composed of an ordered list of layers. Layers are used to display data extracted from spatial data sources.
Each layer is related to a specific spatial data source.
Vector layers are related to vector data sources and display vector data while raster layers are related to raster data sources. The layer configuration determines the appearance of the data (style of the layer), the visibility thresholds, what information is associated with the spatial data (attributes), etc. Each layer has its own configuration parameters for labelling, reports, thematics, etc.
Layers are created in the project they belong to.
Specific permissions can be configured for each layer. Thus, some layers can be accessed only by a subset of users authorized to open the project.
The layers of a project can be organized into a logical tree-like structure or hierarchy. This feature is useful to better organize information when working with projects that have a high number of layers. In client applications, users are able to control the visibility of the layers belonging to the same group in one click. Refer to the section for more information on this subject.
Layers can be copied from one project to another or even shared between various projects located on the same JMap Server or on separate JMap Servers. From the Kathmandu version, it is also possible to share layers from JMap with the cloud-based platform JMap Cloud, developed by K2 Geospatial. Refer to the section titled for more information on this topic.
The functions supported by labels are the same as those supported by mouseover. For more information on these functions, refer to the section.
Spatial data source
Select the spatial data source that will provide the data of the layer. Selecting a vector data source will create a vector layer. Selecting a raster data source will create a raster layer.
Name
Enter a name for your new layer. The name must be unique. By default, the layer will take the same name as the selected data source.
Description
(Optional) Enter a description for the new layer. This description will be used for administrative purposes.
Geometry type
Geometry type
If the data source provides more than one type, select the unique geometry type for the layer.
Element factory
Element factory
Some JMap extensions work with layers composed of complex elements, integrated by several distinct geometries. The spatial data sources associated with the extension allow defining the complex elements. When such a spatial data source is selected for the creation of a layer, this step allows to select the appropriate option to configure the complex elements of the layer. Select the Default factory option for layers composed by a single type of geometry. This step is absent when the spatial data source does not allow to define complex elements.
Attributes
Bound attributes
By default, when layer elements (points, lines, polygons, etc.) are served by JMap Server, the element attributes (or descriptive data) are not. This is because the attributes are not “bound” to the elements. Attribute binding binds attribute data to layer elements. Only bound attributes can be used for the following functions: labeling, mouseover, thematic mapping and displaying attributes in the elements or selection explorer. Select and add the attributes to the list on the right to bind them to the layer. The other attributes will still be available for other functions like attribute queries and information reports. Note that the number of bound attributes has an impact on network and memory usage as well as the size of Mapbox vector tiles and thus can reduce the overall performances. Therefore, attributes should only be bound when necessary.
Geometry angle (layers of points only)
Angle attribute
This section is only available for layers of points. In this section, select a numeric attribute that contains the rotation angles for the symbols representing the points of the layer. If you select an attribute of the angle, the symbols will be displayed with a rotation following this attribute value.
Units of angular measure
Choose the rotation unit to apply: degrees or radians
Direction
Choose the rotation direction. Angle values can be interpreted clockwise or counterclockwise.
Origin of rotation
Choose the origin of the rotation to apply: geographic (north) or arithmetic (east).
Request mode
Load by tile (automatic)
The data is requested by rectangular zones (tiles) defined by a predetermined fixed grid that covers all the layer data.
Structuring layer data in tiles makes data management more efficient, for network transfers, memory management and cache storage. When you finish the settings and press Finish, JMap calculates the best configuration for the grid and applies them to the layer. This mode offers the best performance because once a tile has been extracted from a data source, it can be cached for a certain amount of time and reused effectively.
This is the recommended mode for most applications.
Load by tile (manual)
The data is requested by rectangular zones (tiles) defined by a predetermined fixed grid that covers all the layer data.
This option allows you to set the grid manually. The default value is 1 x 1. You can modify it.
Warning: If the grid is not properly configured, this can have a negative impact on the system’s performance or lead to operational problems.
Load by region
The data is requested by random regions, according to the user’s navigation actions on the map. Each time the layer needs to be displayed in the application, a new request is sent to JMap Server and the data is extracted again from the spatial data source.
This mode is very dynamic as no caching is used, and users can see data changes at every map manipulation (zoom, pan, etc.).
Note however that it is much more intensive for JMap Server and, if not used properly, it can affect the system’s general performance. This mode must be used for dynamic data. Typically, this data is found in a relational database and can be randomly modified.
This is the case for layers that are editable by JMap.
Advanced (optional)
Transformation
Apply a translation: Translate each geometry of the layer by X units horizontally and Y units vertically. The original data is not affected. Generalize geometries: Generalize (simplify) geometries using the specified tolerance. For a given geometry, all nodes that are closer together than the tolerance are eliminated. In addition, all nodes that are located on the same straight line are eliminated. The original data is not affected. Reduce precision (better performance): Use data compression to improve performance. In some rare situations, this option can noticeably reduce data precision. From JMap Server Dakar, this option is unchecked by default for new layers to avoid performance issues. Layers configured in earlier versions of JMap are not affected.
Caching
This section allows you to define server data caching rules for the vector data and its attributes. The cache is on the server. This improves performances because once data is in the cache, JMap Server does not need to load it again from the data source. Activate server data caching for this layer: Use this option to enable or disable data caching on the server for this layer. Automatically build the cache when the data source is updated: If caching is enabled, this tells JMap Server to flush and rebuild the cache for this layer, when the corresponding spatial data source gets updated. Building the cache in advance helps to prevent delays for the users. Building the cache may take a long time, depending on the volume of the data. Cache timeout: This instructs JMap Server to cache the data no longer than the specified time period. When the timeout is reached, the data is requested again from the data source. This is mostly useful for spatial data sources that get their data from spatial data servers to which JMap Server is connected (Oracle Spatial/Locator, ESRI geodatabases, PostGIS, MySQL Spatial, etc.). Update layer cache after I click “Finish”: Select this option to have the cache built immediately for this layer. Building the cache may take a long time, depending on the volume of data.
Base Filter
SQL conditions: SQL conditions are used to filter the elements of the spatial data source. Only the elements that satisfy the SQL conditions will be on the layer. This allows you to create many layers showing different data using the same spatial data source. SQL conditions are interpreted directly by the database system so the syntax resembles that of an SQL WHERE clause. However, you must always indicate the name of the table in the database in the SQL clause. WHERE keyword is not necessary.
Exemple
WORLD_CITIES.JMAP_ID < 100
where WORLD_CITIES is the table name. If you specify only JMAP_ID <100, the layer is not displayed.
Image format
Select the image format to use for image transfers between JMap Server and JMap Pro applications. For air photos, JPEG usually gives the best results.
Image format parameters
Only used with JPEG image format to specify the quality factor (1 means excellent quality and low compression while 0 means low quality and high compression).
Test with different values to determine what fits your needs.
A value of 0.5 is usually a good compromise. Example
quality=0.6
Background color
Tells JMap Server what color to use in the background of the images. Any area where there is no data will be filled with this color.
Use background color as transparent color
Tells JMap Server to use the background color as the transparency color. Using transparency allows the map images to be used on top of other layers without completely hiding them.
Layer
Select the layer from the WMTS server that you wish to use to create the layer. Only layers who have the same projection as the project are selectable.
Style
Select the layer style.
Name
The name for the layer. Names attributed to layers in the same project must be unique. By default, the name of the associated spatial data source is used.
Description
An optional text to describe the layer. In JMap applications, this text can be viewed by users in a mouseover bubble on the layer name.
Published
Determines if the layer is published or not. See Publishing layers for more information.
Visible
Determines if the layer is visible or not when the project is opened. Users can make layers visible or invisible in JMap applications.
Selectable
Determines if elements of the layer will be selectable or not when the project is opened. Users can modify selection options in JMap applications. By default, the elements of the new layers that you create are not selectable.
Show in overview
Determines if the layer will appear in the map overview, if present. This overview simplifies map navigation.
Listed
Determines if the layer will be listed in the layer manager in JMap applications. A layer that is not listed appears on the map normally.
Minimum scale
Minimum scale in order for the layer to be visible. Allows the layer to become invisible when the user zooms out too much.
Maximum scale
The maximum scale in order for the layer to be visible. Allows the layer to become invisible when the user zooms in too much.
Non modifiable
(Applies to JMap Pro only) Determines if the users are allowed to modify these values. Modifying these scales on the JMap Pro side for layers that contain a high number of elements could cause very long queries that use a lot of resources or even lead to unusual responses from the JMap Pro application or JMap Server.
Dynamic
Select this option to activate the dynamic refresh.
Refresh every
Specify the delay between each refresh.
Name | Enter a name for the new group. The name must be unique. |
Description | Optionally enter a description for the new group. This description will be visible to users. |
Visible | Makes the group initially visible when the project is opened. All visible layers inside the group will be displayed. |
Always listed | Ensures the group is always listed (displayed in the layer management window ) even if it contains no layer. By default, empty groups are not listed. A group can be empty if it contains no layer, if all the layers it contains are not listed or if the user doesn’t have the permission to see the layers of the group. |
Image | This option allows you to select an image (an icon) to display with the group of layers.
Press Choose to open the file browser and select the image file.
The image size should not exceed 100 |
Labeling parameters |
Label text | The text of the label. Static parts will be displayed as is and Unlike mouseover bubbles, labels don't support HTML formatting or hyperlinks. See the following examples:
|
Label style |
Font | Select the font to use to display the labels. |
Size | Select the size of the font. |
Bold, Italic, Underline, Striked through | Select the font attributes. |
Outlined | Select this option to display an outline around the label text. This makes it easier to read labels on the map. |
Use antialiasing | Select this option to enable antialiasing. |
Text color | Select the color of the label text. |
Outline color | If the Outlined option is selected, choose the color of the outline. White is the default. |
Automatic labeling | Select this option to enable automatic labeling. |
Minimum scale | Minimum scale over which automatic labeling will be activated. |
Maximum scale | Maximum scale under which automatic labeling will be activated. |
Label position | The position of the label in relation to the map element is determined based on a grid, with nine possible positions. This position can be fixed or dynamic. Fixed: The label is always displayed at the selected position. This is the default option. Dynamic: The position of the labels of the layer varies according to the relative priority established for each position of the grid. This function allows you to display the maximum number of labels avoiding overlapping conflicts of labels. Possible values are: 0 Blocked, 1 High, 2 Medium, and 3 Low. The default value of the center position is 1. At first JMap attempts to place the label in the center position. If this position is occupied by another label, JMap places the label in another lower priority position (Medium or Low) to minimize conflicts. Once you have defined the relative priorities in the grid, you must check the Dynamic placement box to activate the function. |
Label offset | Enter an offset in X and Y to modify the position of the label text. |
Layer priority | This parameter allows you to assign the layer a priority over other layers for displaying its labels. This priority is relative, depending on the other layers that are present. The available values, from lowest to highest priority, are the following: Normal, Above Normal, High, Very High, Maximum. For example, the labels of a layer with a High priority are displayed before the labels of a layer whose priority is lower (Normal or Above Normal). |
Priority by attribute | This parameter allows you to assign a display priority to the elements of a layer based on the value of an attribute. This priority is relative and depends on the other elements that are present in the same layer. For example, in a road network layer in which road sections are categorized according to their importance, the labels of the most important sections have a higher display priority than the labels of the less important sections. The attribute can be numeric or alphanumeric, and it must be possible to organize the values in ascending or descending order. Check this option to select the attribute to use for the prioritization in the drop-down menu. This icon is used to establish whether the priority gradient is in the ascending or descending direction of the values. |
Allow labels overlapping | Allow the labels of one layer to overlap and to overlap the labels of other layers. This option overrides the global project setting that prevents label overlapping. This can be useful to ensure that all labels of this layer are displayed. |
Prevent label duplication | Select this option to avoid having the same label text displayed many times. Useful for displaying street names. |
Parse numeric labels | If label contains text and numbers, display only numeric values. Useful when you want to display only highway numbers using an attribute containing other text (e.g. "Highway 40" becomes "40"). |
Oriented labels (along the line) | Only for line elements. Select this option to display the label text along the lines. |
Curved labels | Only for line elements. Select this option to have the label text follow curved lines. |
Proportional size | By default, label text is always displayed at the specified font size, independently of the scale of the map. Use this option to have the label text size adjusted proportionally to the scale of the map. The text will be displayed at its specified font size when looking at the map at the specified reference scale. When the scale of the displayed map is changed, the text size will be modified accordingly. |
Background symbol | Select this option in order to choose a symbol that will be displayed behind the label text. Note that the label text should fit in the selected symbol. This is used mainly for highway shields containing highway numbers. |
Draw frame | Select this option to draw a frame around the label text. You can also select the color of the background of the frame as well as the color of its border. |
Rotation | Select this option if you want the labels to have a rotation. Angle attribute: You can select a numeric bound attribute that contains the rotation angle of the text. The labels will follow this rotation. Rotation direction: If an angle attribute is used, select the direction of the rotation. |
Follow map rotation | Select this option to have the labels rotated with the map if the user sets a map rotation. |
Follow symbol position | Check this option if you want the labels to follow the symbol when an offset is applied to it. |
Dynamic placement | Select this option to enable dynamic placement of the labels. This option allows you to enable or disable the dynamic placement settings you configured in the Label position section. |
Extensions which are compatible with JMap NG and JMap Survey applications must be configured and activated on the project to make them accessible to the users of these applications.
To configure the extension, in the project configuration interface select the tab with the extension name. Once the configuration is complete, press Save.
To activate the extension, slide the extension switch in the Extensions section of the project configuration interface.
The Installed Extensions section provides details on configuring extensions in JMap Server.
Connection type (Direct/Server)
If Direct is selected and a JMap Pro application fails to connect to the WMS server, the connection mode will revert to Server.
Note that if JMap Server is behind a firewall/proxy, it may need proxy authentication settings in order to access the Internet.
See JMap Server Settings for more information.
Output format
The list of output formats offered by the WMS server. You can select the format to use.
Background color
Tells the WMS server what color to use in the background of the map images. Any area where there is no data will be filled with this color.
Use background color as transparent color
Tells the WMS server to use the background color as the transparency color. Using transparency allows the map images to be placed on top of other layers without completely hiding them.
S.R.S.
The list of Spatial Reference Systems offered by the WMS server for the layer. You can select the one to use. Make sure the selected SRS is consistent with the project projection because JMap cannot reproject images received from WMS servers.
Available layers
The list of layers the WMS server is publishing. If you hold your mouse pointer on a layer name, its description will display automatically, along with its attributes.
The attributes determine if the layer is Queryable (supports GetFeatureInfo requests), Cascaded (comes from another WMS server) or Opaque (not transparent, i.e. the layers found under it will not be visible).
Selected layer(s)
Metadata |
|
Type | Indicates the type of data for the attribute. |
SQL Type | Indicates the SQL type of the data for the attribute. |
Indexed | Check this box to have the attribute indexed. |
Title |
Format pattern |
The style of a layer determines the graphical representation of its spatial elements on the map. For example, the style of a line is determined by its thickness, color, dash pattern, etc. In JMap, each layer can have multiple styles. The style used depends on several factors.
Different styles can be configured for different scales. For example, a layer can have a single style for all scales while another layer can have one style for scales greater than 1:20000 and another style for scales smaller than or equal to 1:20000.
Layers also have selection styles. These styles are used to display selected elements at different scales. The selection styles are generated automatically from the layer styles but they can be customized for each layer.
The presence of thematics on a layer will override the layer styles.
When a thematic is active on a layer, the style of each element is determined by the value of its attributes and the thematic's parameters. See Thematics for more information.
As of JMap Server Jakarta, polygon layers with three-dimensional representation are supported in JMap NG applications. This representation of a third dimension is called an extrusion, and it can be configured when defining the style of the layer. The Extrusion section explains the details of this configuration.
You can define one or more styles for a layer.
If there are many styles, each one will be used within a certain range of scales.
By default, one style exists for each layer and it covers the full possible scale range.
The Style tab in the layer configuration interface allows you to manage the layer's styles.
To add a new style, press Add. In the style configuration interface, you must define the maximum scale from which the new style will be used. Its minimum scale will automatically be set to infinity or to the maximum scale of the next style.
To remove a style, select it from the list and press Delete.
The greater scale style cannot be deleted.
When deleting styles, the remaining styles will be adjusted to cover the full possible scale range.
Once you have configured one or more styles, you can click on Create template (located to the right of each style) to create a new style template from one of the layer's styles. The style template will automatically be linked to the layer. See Style Templates for more information.
JMap Pro users can change the style of layers and save their changes by creating cartographic contexts. These contexts can be shared with other users and made public to all users who access the application.
JMap Web and JMap NG users can save a map by creating a customized map.
When the JMap administrator modifies the style of a layer, the JMap Pro, JMap Web and JMap NG users working with contexts may not be able to view the style changes made by the JMap administrator. To force the update of the layer style in the contexts, click on Force update... (located to the right of each style). By doing so, the style changes will be reflected in all the contexts of JMap Pro applications and in all the customized JMap Web and JMap NG maps that contain the layer.
You have the option to use an existing style template or to configure your own style. If you want to use a style template, click on Use a style template. You will then choose to refer to it or to copy it.
If no style template is used, you need to configure the parameters that will define the style. Start selecting Default style.
Style configuration interfaces are different depending on the type of element (points, lines, polygons, text, etc.). Some style parameters are common to many element types but others are specific to certain types.
Antialiasing is a method of representing perfect, continuous vectors on imperfect, discontinuous display devices so that they look as perfect as possible. In every style configuration section in JMap Admin, antialiasing is enabled by default, which improves the appearance of your maps. However, display performances are reduced when antialiasing is enabled, so use it judiciously.
The following figure shows an example of a polygon border with antialiasing (left) and without antialiasing (right).
Partial object transparency can be used for every type of map element. A map element with a transparency value of 0% will be completely opaque while one with a 100% value will be invisible.
The following figure shows an example of a polygon with a transparency value of 50% (left) and one with a transparency value of 10% (right).
There is a selection style for each style of the layer. The selection styles are used to represent the elements when they are selected on the map. By default, the selection styles are generated automatically using the layer's basic styles and the project's default selection color.
To modify the selection style, unselect the Generate from default style option and adjust the style parameters as needed.
The style of polygonal layers allows you to configure a three-dimensional representation of the polygons.
In the configuration interface for the layer's style parameters, under the Extrusion section, check Enabled to enable extrusion in JMap NG applications. This function is disabled by default.
Click on Configure to open the extrusion configuration window.
Click on Delete to delete the extrusion configuration.
In addition to configuring the style of a layer, you can also create graphical representations to analyze the distribution of point data.
Clustering, as its name implies, creates clusters of points on the screen. Special symbols are used to graphically represent these clusters on the map and display the number of elements they contain.
Heat maps are used to graphically represent the concentration distributions of a type of object or event on the territory. The more the color of a zone is intense, the more the concentration is high.
Administrate style template
Allows an administrator to modify the style template.
Access style template
Allows an administrator to access a style template to view its content and to use it.
1 |
2 | Layer parameters configured when it was created. The hyperlink allows you to access the spatial data source that contains the layer data. |
3 |
4 |
5 |
6 | Layer visibility thresholds; shows the limits between the minimum and maximum scales for displaying layer elements. |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
Dynamic filters are used to display certain elements of the layer that match the user's criteria.
JMap Pro applications support dynamic filters for layers that load by region or tile. JMap Web applications support dynamic filters for layers that load by region.
Dynamic filters are defined using an attribute, an operator, and values for the attribute. A dynamic filter can be composed of several attributes. Operators vary depending on the attribute type.
Text-type attributes provide full or partial match operators as well as the presence of null values. Up to 2048 unique values are supported in drop-down menu mode. For attributes who have more unique values than this number, value selection is done by entering the values in the range.
Numeric type attributes offer quantitative operators.
Date type attributes provide time operators and calendars for choosing dates. Dynamic time operators can also create mobile windows from a selected date.
To create a dynamic filter:
On the Dynamic Filters tab in the layer settings interface, press to add an attribute.
Select an operator and values in the appropriate ranges. You can add as many attributes as you want. To remove an attribute from the filter, select it and click on the minus icon .
Check the Enabled box to make the dynamic filter active when a user opens an application.
Click on Save to save the dynamic filter.
Click on the filter name to open its interface and edit it.
equals: This operator filters a layer's elements to display the elements whose attribute value (regardless of its type) is equal to one of the values selected by the JMap administrator.
does not equal: This operator filters a layer's elements to display the elements whose attribute value (regardless of its type) is different from the values selected by the the JMap administrator.
greater than: This operator filters a layer's elements to display the elements whose attribute value (numeric or date) is greater than the value selected by the JMap administrator.
greater or equal to: This operator filters a layer's elements to display the elements whose attribute value (numeric or date) is greater than or equal to the value selected by the JMap administrator.
less than: This operator filters a layer's elements to display the elements whose attribute value (numeric or date) is less than the value selected by the JMap administrator.
less or equal to: This operator filters a layer's elements to display the elements whose attribute value (numeric or date) is less than or equal to the value selected by the JMap administrator.
contains: This operator filters a layer's elements to display the elements whose attribute value (text) contains the value selected by the JMap administrator.
does not contain: This operator filters a layer's elements to display the elements whose attribute value (text) does not contain the value selected by the JMap administrator. This is the same as making a query with the WHERE clause attribute_name NOT LIKE '%value%'.
is empty: This operator filters a layer's elements to display the elements whose attribute (text) does not have a value.
is not empty: This operator filters a layer's elements to display the elements whose attribute (text) has a value.
is null: This operator filters a layer's elements to display the elements whose attribute value (regardless of its type) is null.
is not null: This operator filters a layer's elements to display the elements whose attribute value (regardless of its type) is not null.
is between: This operator filters a layer's elements to display the elements whose attribute value (numeric or date) is within the range defined by the two values entered by the JMap administrator.
is not between: This operator filters a layer's elements to display the elements whose attribute value (numeric or date) is not within the range defined by the two values entered by the JMap administrator.
last: This operator filters a layer's elements to display the elements whose date attribute value is within the range (expressed in years, months, week(s), day(s), hour(s)) defined by the JMap administrator.
interval: This operator filters a layer's data based on time ranges defined using a start date, an end date and a reference date. The user therefore has a tool to display data that varies over time.
The layer must contain at least two date and/or timestamp attributes, one of these being the start Date/Time, and the other being the end Date/Time. The values of these dates can be NULL to indicate a start date that goes a long way back or an end date that is very far in the future.
A reference date is also needed. This date can be a specific date (in the past or in the future) or a current Date/Time, which indicates the present moment.
Only layer elements whose reference date is between the start and end date are displayed in the map.
The following figure illustrates this filter.
In JMap, forms are used for attribute queries to enter the search parameters, to enter attribute values of editable layers and to manage data stored in databases. This is always done in relation with the elements of a layer. A type of form called a subform can also be accessed from another form.
The JMap administrator designs the forms using the form designer. Afterwards, users can use them in JMap Pro, JMap NG and JMap Survey. Depending on access permissions, users can use data entry forms to view, add, modify or delete data.
To enter the attributes of a layer’s elements, JMap generates a default form if none has been created. This simple form shows all available attributes. In general, it is much more convenient to create a form adapted to your needs.
The following sections explain the form creation process in detail and the functionality of each type of form.
Mouseover bubbles are meant to display information about the elements they are pointing to. This information includes text, attribute values, hyperlinks, images, etc. The JMap administrator determines what information is displayed in the bubbles of each layer.
The content of mouseover bubbles can be formatted using HTML tags. Mouseover bubbles can also contain JavaScript programs.
The Mouseover tab of the layer configuration interface provides the tools to configure it.
You must provide the text that will be used as the content of the bubble. This text can be comprised of static parts (displayed as is), variable parts (replaced at display time by another value), simple JavaScript programs, and HTML tags. For instance, the elementValue(city)
function will be replaced at display time by the value of the city attribute for the pointed element.
The mouseover syntax is comprised of various functions that will determine the content of the bubbles. Functions and their parameters are generally not case sensitive. For instance, ev(city)
is equal to Ev(CITY)
.
The following table explains the various available functions:
The content of the bubble can be formatted using simple HTML tags. Mouseover bubbles do not support CSS or advanced tags such as <DIV>
. The following HTML tags are supported and frequently used in mouseover:
<B>, <I>, <U>, <A>, <IMG>, <TABLE>, <BR>
You can insert hyperlinks in mouseover bubbles. These hyperlinks can be clicked, and they allow users to open HTML pages or to open or download files.
Mouseover supports a function to locate map coordinates or elements using a special URL syntax. A hyperlink is displayed in the bubble, and when it is clicked, the map locates the specified element(s) or region. This function is only available in JMap Pro.
You can specify a URL that opens an HTML page to display in the mouseover bubble (only supported in JMap Pro). The HTML page will occupy 100% of the bubble. The syntax is as follows:
$URL{http://awebsite.com}
The specified URL can be static or it can come from an attribute. It can also use attribute values as parameters, as shown below:
$URL{http://awebsite.com?param1=ev(ATTRIB_A)¶m2=ev(ATTRIB_B)}
Form configuration of a layer is about designing the form and establishing validation rules.
The interface of the form designer allows you to define the content and layout of the forms used to enter attributes and perform queries.
Forms are organized in a grid, and you can configure the number of rows and columns. Columns and rows can be added to the grid at any moment. All empty rows at the bottom of the form and empty columns at the right of the form will be automatically eliminated when the form is saved.
Each cell of the grid can contain a component of the form (label, text entry field, value list, etc.) but each component can also span several cells horizontally.
Each form can have one or more sections. The user can move from one section to another within a form. This can be especially useful if the form is long or complex.
The following image shows the main parts of the form designer.
Most form components must be associated with either a layer attribute, a database field or a search criterion, depending on the type of form created. The Label, Photo, and Group components are exceptions to this rule.
Each type of component has its own configuration window. The settings allow you to control the behavior and appearance of the component. The following table describes some of the settings that are common to several components. A comprehensive description of available components is provided further below.
The following table describes the various components available to create forms and their specific settings. Note that some components are not available to create attribute queries.
If you configure a database form you must ensure that the parameters of a component of the form are compatible with the characteristics of the corresponding field in the database.
For example, if a text field in the database is 50 characters long, the corresponding Text component of the form must have a maximum number of characters of 50.
The following functions can be used to initialize form components.
You can define validation rules for each component, in order to decrease errors when users of JMap applications enter values for the component. Rules can also be created at the form and subform level. The Form validation rules section presents this topic.
Only JMap Pro, JMap NG and JMap Survey applications take component validation rules into account. These rules are ignored in JMap Web applications.
The rules that you define at the component level allow in particular to:
Make a field “read-only” or “required” according to the values of other fields of the form.
Calculate the values of certain fields.
JMap uses JSonLogic, a programming language which allows to develop the syntax of the rules and to validate them because it offers evaluation libraries of logical expressions in all languages. You can build logical, mathematical or string expressions.
The rules at the component level allow three types of expressions:
Layer attribute forms and database forms and subforms allow you to define global form validation rules based on multiple fields. You can also define validation rules at the component level.
The rules validate the values of the fields on the client side, that is, the values that the users of JMap applications enter in the forms. The validation takes place when the form is saved, which is not done if the rules are not respected.
Only JMap Pro, JMap NG and JMap Survey applications take form validation rules into account. These rules are ignored in JMap Web applications.
To configure the rules of a form or a subform, open the configuration interface of the form or subform that interests you:
From a form's configuration interface, press the Rules button. The interface displays a table of the rules configured for the form.
Press Create to create a new rule or press a rule name to edit it.
Press Save.
You can create multiple rules for the same form.
Information reports are used to display descriptive information regarding map elements. These reports can display attributes extracted from the underlying spatial data source or information from databases outside JMap. Each layer can have zero, one or more reports. The information reports are presented as web pages or PDF documents.
The Reports tab of the layer configuration interface provides the tools to configure reports.
The tab shows the list of existing reports for a layer. In JMap applications, reports are presented in this order. You can change the order using the Modify menu.
To create a new information report, press Create.
To delete a report, press Delete.
There are three different types of reports: Basic, Advanced and Custom.
Basic reports are generated as web pages. They contain features to be printed and exported in Excel. Tables containing the values can be sorted by clicking on the column headers. You can also configure the names of the fields to be displayed in the reports.
Advanced reports are based on the BIRT reporting tool (http://www.eclipse.org/birt/). A default report template is provided with JMap. You can also use the BIRT report Designer application to create custom reports or to edit the template provided in order to adapt it to your needs (add a logo, change the colors, etc.). For more information on report development, visit the BIRT website (http://www.eclipse.org/birt).
Reports can be generated in HTML or PDF format. Geographic map integration is also supported.
With advanced reports, you can choose the report template you wish to use.
By default, two templates are provided with JMap: a basic report template and a report template with an integrated geographic map. Each one of these templates is also available in two versions: one version is for a single element and the other is for a selection of multiple elements.
You can create your own report templates based on the existing templates and add them to those provided by JMap. You can then select your templates to configure reports.
The report template files (.rpttemplate) are placed in the JMAP_HOME/applications/templates/reports directory.
Your templates must be placed in the single or multiple sub-directory, depending on whether they are in single element or multiple element version.
Custom reports are external to JMap and can be called using a URL. These reports can come from reporting tools (e.g. Crystal Reports, Jaspersoft, etc.) or from simple web pages.
A special syntax allows you to format the parameters to be passed in order to open the report.
Basic and advanced reports can take their data from layer attributes or from an external database connected to JMap.
Select the Current layer option to create a simple report that will only query the layer attributes (read below for the External database option). Afterwards, select the attributes to include in the report using the check boxes. Only the selected attributes will be displayed to the user; the others will be excluded from the report. Lastly, you can specify titles for the attributes; these will be displayed to the user instead of the actual attribute names.
Selecting the External database option will instruct JMap to display information taken from another database, instead of the layer. This option allows you to query any database that has a field corresponding to one of the layer's attributes.
For reports that take their data from an external database, you can define the names of the fields to be displayed in the report, instead of using the field names in the database. Click on Captions to define these field names.
Database forms are used to manage data stored in databases that are external to JMap. They allow you to add new data as well as modify or delete existing data.
You can create several database forms for one layer.
Each database form has its own permissions to control which users can make changes to the data.
These forms can be used to manage data using a 1 to 1 relationship with a layer’s data. In this case, a record is added when an element is created, and this record is usually deleted when the element is deleted.
They can also be used to manage data using a 1 to N relationship with the layer data. In this case, a special type of form called a subform is used and is always associated with a table form component. Refer to the section for more information on this topic.
Configuring this type of form is an advanced JMap function that requires writing SQL queries to extract, add, modify and delete data.
To create a database form, in the Form section of the Forms tab of the layer configuration interface, press Create.
You must enter a name for the new form. Afterwards, you must select the type of form to create, Database, then select the database containing the data to be used in the forms.
At the following step, a window allows you to enter the form’s SQL queries. These queries are used to extract, add, modify, and delete data.
The SELECT query is required, but the others are optional.
Only operations for which SQL queries have been provided can be performed.
A special syntax is used for SQL query configuration. In general, each line of this syntax must end with a semicolon (;). The syntax is not case sensitive.
The following table provides a detailed explanation of how this syntax works.
The following table provides a detailed explanation of each parameter in the database form creation window.
Subforms are database forms that are opened from a Table component that exists in another form. They are normally used to manage data that has a 1 to N relationship with the layer’s elements. They could be used to manage data for inspections on assets (N inspections can be associated to the same object), for example. They are configured similarly to the other database forms.
To create a subform, open the Subform tab on the Forms tab in the layer parameters menu, then click on Create.
You must enter a name for the new form and select the database containing the data to be used in the forms.
At the following step, you must configure the SQL queries of the subform, as explained above for the creation of a database form.
Several levels of subforms can be nested in a subform. They are used to manage data having a 1 to N relationship with the subform’s records. For example, they can be used to manage the data of interventions arising from an inspection performed on an asset (N interventions can be associated with 1 inspection).
A nested subform is opened from a Table component found in the subform it is associated with.
The following figure shows a preview of the nested subforms from our example, in JMap Pro.
Database forms have their own permissions. The Permissions button appears in the form configuration interface.
The Permissions section has two tabs: Permissions and Owners. The owners are the only ones who can manage the administrative permissions for the project, manage the list of owners and delete it.
Available permissions are described in the table below.
The sections , and describe the steps to create forms and subforms. The examples mentioned refer to the tables in the following figure:
The Permissions button appears on the Layers tab in a project's configuration interface and is enabled when at least one layer is selected. It is also displayed in the layer's configuration interface.
This section has two tabs: Permissions and Owners. The owners are the only ones who can manage the administrative permissions for the layer, manage the list of owners and delete it.
A list of users and groups with permissions appears in the Permissions tab. Click on to add new users or groups.
Available users and groups are configured in the JMap Server section of JMap Admin. Refer to the section for more information about managing users in JMap Server.
Only users and groups who already have permission to open the project containing the layer can be granted permissions to that layer.
Layer permissions are divided into two categories: administrator permissions and user permissions.
The layers selected among those that are available appear in this list. Click on to add a new layer to this list. You can select the style to be used. A default style is always provided. Click on to delete a selected layer.
You can change the title of the attribute. This icon allows you to provide the title in multiple languages.
Specify a format pattern for displaying SDS items. The pattern must follow Java standards. For more details on this topic, read the following article: .
General information configured when creating the layer. This button provides direct access to the section settings configuration interface.
Bound attributes This section presents a list of attributes related to the layer. Click on the to open the configuration window of its properties. This button is used to update the statistics of the attributes.
Cache Information about the layer's Mapbox cache. Indicates whether the cache is enabled, whether a due date is set, the number of cached tiles, and usage metrics. Press to update the cache or press to delete it.
JMap Cloud This section allows the layer to be shared in JMap Cloud platform. Section provides details on this function.
This section presents the layer's thematics. Click on the name of the thematic to access its configuration interface.
This section presents information on the labels.
This section describes the mouseover configured for the layer.
This section presents the reports configured for the layer.
This section presents information about forms configured for the layer. Click on the form name to access its configuration interface.
These buttons allow you to edit the layer configuration or delete it as well as to access the .
Tabs provide access to the sections , , , , , , , and . The which require the configuration of parameters at the layer level add tabs.
Creating a nested subform is done by following the same steps to . Examples of queries are displayed in the table of the section.
A list of users and groups with permissions appears in the Permissions tab. Click on to add new users or groups.
Available users and groups are configured in the JMap Server section of JMap Admin. Refer to the section for more information about managing users in JMap Server.
Transparency
Specify the partial transparency of the line.
Arrow type
Specify the arrow option to use: None: No arrow. Forward: Place an arrow on the line pointing toward the last point of the line. Backward: Place an arrow on the line pointing toward the first point of the line.
Arrow position
If an arrow is used, determines the relative position of the arrow. A value of 50% places the arrow in the center of the line.
Line thickness
Specify the thickness of the line, in pixels.
Line color
Specify the color of the line.
Stroke style
Specify the stroke style (dashed, solid, with border, etc.) to use to draw the line. JMap provides many stroke styles.
Border thickness
If the line has a border, specify its thickness.
Border color
If a line stroke with a border is used, specify the color of the border.
Use antialiasing
Select this option to enable antialiasing.
Transparency
Specify the partial transparency of the polygon.
Transparent fill
Select this option to have the inside of the polygon completely transparent.
Fill color
Specify the color of the interior of the polygon.
Stroke style
Specify the stroke style (dashed, solid, with border, etc.) to use to draw the border of the polygon. JMap provides many stroke styles.
Border thickness
Specify the thickness of the borders of the polygon.
Border color
Specify the color of the border of the polygon.
Pattern
Specify the fill pattern to use. JMap provides many patterns.
Pattern color
If a pattern is used, specify the color of the pattern.
Transparent pattern fill
If a fill pattern is used, select this option to make the pattern background completely transparent.
Use antialiasing
Select this option to enable antialiasing.
Transparency
Specify the partial transparency of the text.
Font
Specify the font used to display the annotation text.
Bold
Select this option to use bold text.
Italic
Select this option to use italic text.
Underlined
Select this option to use underlined text.
Striked through
Select this option to use strikethrough text.
Outlined
Select this option to use outlined text. Outlined text has an outline that may be of a different color. This helps make the text on the map more readable.
Outline color
If outlined text is used, specify the color of the outline.
Text color
Specify the color of the text.
Transparency
Specify the partial transparency of the image.
Base
Select the numeric attribute that indicates the height of the terrain on which the polygon is found.
Height
Select the numeric attribute that indicates the height of the polygon.
Transparency
Specify the partial transparency of the extruded polygons.
Distance
Minimum distance (in pixels) between 2 points in order for them to form a cluster.
Minimum elements
The minimum number of elements required to create a cluster.
Symbol
Symbol used to represent a cluster on the map.
Label
The settings of the label (font, color, etc.) that will display the number of elements in a cluster.
Radius
The radius used to display the density map around each point.
Weight
Numeric attribute that determines the weight of each point to display the density map. The more the weight is high, the more the color is intense. This parameter is optional.
Opacity
Determines the degree of opacity for the display of the density map.
Intensity
Defines the intensity of the colors based on the concentration of points. If the intensity is lower, more points will be needed to produce intense colors.
Display points
Allows you to display the points of the layer under the density map. The points will be hidden by the density map if the opacity is very high.
Mouseover
Enter the content of the mouseover bubble. See sections below for an explanation of the syntax.
Background color
Select the background color of the mouseover bubble.
Prevent text duplication
Select this option to prevent the same text from being repeated many times within the same bubble. This can happen when pointing to many map elements on the same layer that have the same mouseover content (e.g. street segments at an intersection).
Minimum scale
Activate this option and enter the minimum scale from which the mouseover bubble must be displayed.
Maximum scale
Activate this option and enter the maximum scale from which the mouseover bubble must be displayed.
elementValue(attrib) or ev(attrib) attrib: the name of an attribute
Replaced by the value of the bound attribute whose name is passed as a parameter for the pointed element.
For example, ev(id)
will be replaced by the value of the id attribute for this element.
elementId()
Replaced by the element identifier.
polygonArea()
Replaced by the area of a pointed polygon type element.
lineLength()
Replaced by the length of a pointed line type element.
centroid()
Replaced by the coordinates of the geometric centroid of the element's geometry.
format(attrib, format) attrib: the name of a date or numerical attribute format: the desired date format
Replaced by a number or date that was formatted according to a specific format.
Example
format(date_insp, dd/MM/yyyy)
where date_insp is the name of an attribute containing a date and dd/MM/yyyy is the desired date format, as indicated in the documentation of the java.text.SimpleDateFormat Java class.
Example
format(attrib, ##0,00)
where attrib is the name of an attribute containing a number and ##0,00 is the desired number format, as indicated in the documentation of the java.text.DecimalFormat Java class.
ifNull(attrib, value) attrib: the name of the attribute to test value: the value to display if attrib is null
Replaced by the value value only if the value of the attrib attribute is null.
If the attribute value is not null, nothing is displayed.
Example
ifNull(temp, N/A)
Displays N/A if the value of the temp attribute is null.
Example
ifNull(attrib_a, attrib_b)
Displays the value of the attrib_b attribute if the value of the attrib_a attribute is null.
ifNotNull(attrib, value) attrib: the name of the attribute to test value: the value to display if attrib is not null
Replaced by the value only if the value of the attrib attribute is not null.
If the attribute value is null, nothing is displayed.
Example
ifNotNull(land_value, $)
Displays only if the value of land_value is not null.
subString(attrib, startIx, endIx) attrib: the name of the attribute for which a part must be extracted. startIx: starting position in the character string. endIx: ending position in the character string.
Replaced by a portion of the value (as a character string) of the attrib attribute, between the startIx position and endIx position.
Example
subString(name, 0, 5)
Replaced by the first five characters of the name attribute value. If this value is Montreal, the mouseover will display Montr.
encode(attrib, encoding) attrib: the name of the attribute to code encoding: the name of the encoding
Replaced by the value of the attrib attribute once it is encoded with the specified character encoding (UTF-8, CP437, ISO 8859-1, etc).
Example
encode(name, UTF-8)
Replaced by the value of the name attribute encoded in UTF-8 characters.
<script> code JavaScript</script>
Runs the JavaScript code found between the tags. In JavaScript, the attribute values of the elements are accessible through the elementValue()
or ev()
function.
Mathematical operations or character string operations can be performed on attribute values. To display content in the mouseover, the script must call on the print()
function.
Example
<script>
print ( ev(population) / ev(area) );
</script>
Calculates and displays the result of the value of the population attribute divided by the value of the area attribute.
Example
<script>
var KM_IN_MI = 0.621371;
var dist_mi = ev(km) * KM_IN_MI;
print('ev(osm_name)');
print(dist_mi.toFixed(1) + " mi");
</script>
Converts the distance in kilometers contained in the value of the km attribute into miles.
Displays the value of the osm_name attribute and the distance in miles with a decimal figure.
<a href="download:file URL">some text</a>
JMap supports a special hyperlink syntax that allows a user to download a file by clicking on the link.
The file to download can come from a http: or a file: URL.
Example
<a href="download:http://someserver/123/report.pdf">Download</a>
Displays a link that can be used to download the report.pdf file from the web.
Example
<a href="download:file://D:/123/report.pdf">Download</a>
Displays a link that can be used to download the report.pdf file from a Windows file system folder.
photosAsThumbnails()
Replaced by smaller versions of the images attached to the element.
The user can click on a thumbnail to open the full size image.
photosAsThumbnails(title)
photosAsThumbnails(date)
photosAsThumbnails(title,date)
With these options, the title and/or date will be displayed with each thumbnail.
It is very important that you do not add any spaces between title, the comma, and date.
projectName()
Replaced by the name of the current project.
userName()
Replaced by the user code of the user that is currently connected.
sessionId()
Replaced by the identifier of the current session.
host()
Replaced by the name of the host or address of the JMap Server instance to which the application is connected.
port()
Replaced by the port number (http or direct) of the JMap Server instance to which the application is connected.
date()
Replaced by the current date and time.
Mouseover locate example
Description
<a href="locate:region;-73;45;5;5">Locate</a>
Displays a Locate hyperlink. When clicked, locates the region defined by x=-73, y = 45, width = 5, height = 5 in the same map. This is expressed in the map's units.
<a href="locate:object;subway;name;'atwater'">Locate</a>
Displays a Locate hyperlink. When clicked, locates the elements on the subway layer that have their attribute name equal to atwater in the same map.
<a href="locate:object;subway;name;'a%'">Locate</a>
Displays a Locate hyperlink. When clicked, locates the elements on the subway layer that have their attribute name starting with letter a in the same map.
<a href="locate:object;subway;name;'atwater';1000">Locate</a>
Displays a Locate hyperlink. When clicked, locates the elements on the subway layer that have their attribute name equal to atwater in the same map. The resulting map has a scale of 1 : 1000.
<a href="locate:object;subway;name;'atwater':target=Result">Locate</a>
Displays a Locate hyperlink. When clicked, locates, in a new map called Result, the elements on the subway layer that have their attribute name equal to atwater. If a map called Result already exists, it is reused. If the name of the map was new, a new map (with an automatically generated name) would be created each time.
Functions
username()
Replaced by the user’s code.
fullname()
Replaced by the user’s full name.
date()
Replaced by the current date.
datetime()
Replaced by the current date and time.
uuid()
Replaced by a Universally Unique Identifier (UUID).
Required
You can enter a Boolean expression that indicates when the field is required.
That is, if the expression you enter is respected (it is true), the field is mandatory.
The expression implies values from other fields on the form.
Example
{" == ": [{" var ":" STATUS "}," done "]}
This expression for the MATERIAL field, indicates that when the user enters the value “done” in the STATUS field, he must enter a value for the MATERIAL field to be able to save and close the form.
Note: This expression is exclusive with the Required parameter of the component. If you check the Required parameter, this field is always mandatory and the Required range to define a logical expression is not available. If you do not check the Required parameter and define a rule, the field becomes mandatory only when the rule is respected.
Read only
You can enter a Boolean expression that indicates when the field is in read-only mode.
That is, if the expression you enter is respected, the field is read-only.
The expression implies values from other fields on the form.
Note: This expression is exclusive with the Read only parameter of the component. If you check the Read only parameter, this field is always Read only and the Read only range to define a logical expression is not available. If you do not check the Read only parameter and define a rule, the field becomes Read only at the moment that the rule is respected.
Calculated
You can enter a mathematical or character strings expression to calculate the value of the field.
The result of this rule becomes the value of the field.
Example
{" * ": [2, 3.1416, {" / ": [{" var " : "DIAMETER"}, 2]}]}
This expression calculates the value of the CIRCUMFERENCE field from the value of the DIAMETER field.
Name
Enter a name for the rule.
Expression
Enter the logical expression that defines the rule. The syntax is that of JSonLogic. You can enter logical and / or mathematical expressions.
The expression must be respected for the form to be validated and closed. The user of a JMap application (Pro, Survey, NG) must enter the correct data for the fields concerned by the expression in order the expression to be respected (is true) and the form can be saved and closed.
Exemple
{“!”:[
{“and”:[
{“==”:[{“var”:“STATUT”},“done”]},
{“or”:[
{“==”:[{“var”:“MATERIAL”},“”]},
{“==”:[{“var”:“INSP_DATE”}, null]},
{“==”:[{“var”: “DIAMETER”}, null]},
{“<=”:[{“var”:“DIAMETER”}, 0]}
]}
]}
]}
This expression indicates that when the value of the STATUS field is “done”, the MATERIAL, INSP_DATE and DIAMETER fields must be initialized (their value cannot be null or 0).
Note: Currently JMap cannot validate expressions that contain date type fields.
Message
Enter the error message that appears when the logical expression is False. You can enter the message in multiple languages.
Exemple
Fields MATERIAL, INSP_DATE and DIAMETER cannot be null or empty if STATUS is 'Done'
Configuration
Title
The title of the report.
Extract data from
Current layer: Obtain report data directly in the layer attributes. Refer to Current layer. External database: Obtain report information from an external database connected to JMap. The database must contain a field that links to an attribute of the layer. Refer to External database.
Template (single)
Template used for reports on a single map element.
Template (multiple)
Template used for reports on multiple map elements.
Attributes
Title
Text to be displayed in the report instead of the attribute name.
Format
HTML: The report is generated as a web page. Tools allow you to export and print the report's content. If the report is created for multiple map elements, its content can be sorted by clicking on the column headers. PDF: The report is generated in PDF format. This format is better suited for printing because the page layout is better. However, the content of this type of report is more static compared to the HTML report.
Title
The title of the report.
Extract data from
Current layer: Obtain report data directly from layer attributes. Refer to Current layer. External database: Obtain report data directly from an external database connected to JMap. The database must contain a field that links to an attribute of the layer. Refer to External database.
Template (single)
Template used for reports on a single map element. Two templates are available: inforequest.rpttemplate: Basic template containing a table, arranged vertically. inforequestMap.rpttemplate: Similar to basic template but also contains a geographic map. Refer to Report templates.
Template (multiple)
Template used for reports on multiple map elements. Two templates are available: selectionreport.rpttemplate: Basic template containing a table, arranged horizontally. selectionreportMap.rpttemplate: Similar to basic template but also contains a geographic map. Refer to Report templates.
Title
The title of the report.
Report URL
Enter the URL that will allow you to open the external report. You will probably have to pass certain parameters in the report URL to identify the elements for which you wish to open a report. The parameter values usually come from the bound attributes of map elements. A special syntax is used to format the parameters.
For example, if your report must be called by this URL:
http://myserver/reports/myreport?id=3then,
if the 0 attribute contains the parameter values, the following syntax must be used:
http://myserver/reports/myreport?id=%0
However, if your report can include information on a selection of multiple map elements, the parameter syntax can take one of two different forms. If your report must be called by the following URL:
http://myserver/reports/myreport?id=3,4,5then,
if the 0 attribute contains the parameter values, the following syntax should be used:
http://myserver/reports/myreport?%param[%0,'id',',']
This syntax uses the expression %param[Attribute, Parameter, Separator]
.
If your report must be called by this URL:
http://myserver/reports/myreport?id=3,id=4,id=5then,
if the 0 attribute contains the parameter values, the following syntax should be used:
http://myserver/reports/myreport?%param[%0,'id']
This syntax uses the expression %param[Attribute, Parameter]
. It is also possible to include other variables to compose the URL, such as %f
, %p
, %u
, %h
, etc. Refer to Supported variables for more information.
%n
Replaced by the corresponding bound attribute value for the element. For example, %0 refers to the 1st bound attribute, %1, to the second one, etc.
%f
Replaced by a formatted number or date.
There are 2 possible formats:
%f[%n^D^dd/MM/yyyy]
where %n
refers to an attribute containing a date, D indicates that we want to display a formatted date and dd/MM/yyyy
is the format pattern, as indicated in the Java class java.text.SimpleDateFormat documentation.
%f[%n^N^##0,00]
where %n
refers to an attribute containing a number, N indicates that we want to display a formatted number and ##0,00
is the format pattern, as indicated in the Java class java.text.NumberFormat documentation.
%p
Replaced by the currently opened project name.
%u
Replaced by the name of the user currently logged in.
%s
Replaced by the current session id.
%h
Replaced by the host name or address of the JMap Server instance the client is connected to.
%o
Replaced by the port number (http or direct) of the JMap Server instance the client is connected to.
%t
Replaced by the current time (date and time).
Attributes
Database
Select the database from which the report data will be extracted. The database to query must have been configured in JMap Admin beforehand.
SQL query
Enter the SELECT SQL query that will be used to extract the data from the database. This query can have several tables. The query must include the key field used to join with a layer attribute.Afterwards, you must click on Execute in order to execute the query once.
Join fields
Table
Select the table containing the join field.
Field
Among the fields in the selected table, select the field that will be used to join with the layer.
Attributes
Select the layer attribute that will be used to join with the data from the database.
ev(attrib) or elementValue(attrib) | This function returns the value of the attribute specified as a parameter for an element. Example
Returns the value of the element’s CITY attribute. |
fv(field) or formValue(field) | This function returns the value in the form for the field specified as a parameter. The name of the table must be the prefix of the field name. Example
Returns the value entered in the form component associated with the TABLE.NAME field of the database. |
ei() or elementId() | This function returns the id of the element. It can be the jmap_id field, or another field, as configured in the spatial data source. |
$variable | Allows you to create and initialize variables that can be used in the various expressions. For the INSERT query of a form, a variable containing the unique identifier of the inserted record must be used. Example
Creates a |
nti(table, field) or nextTableId(table, field) | This function returns the next value to use as a numeric identifier for the table and field specified as parameters. The specified field must exist in the specified table and must be an integer field. The function determines the maximum value existing in the table and returns this value incremented by 1 (max + 1). This function is useful when adding a new record in the database when the table has a unique identifier. Example
Creates and initializes a $id variable with the value of the next INSPECTION_ID identifier in the INSPECTIONS table. If the maximum value present is 100, the value returned is 101. |
Database | Select the database containing the data that must be managed by the form. |
SELECT query | The SQL query that provides the data used to populate the form fields. All the fields that are returned by this query can be used to configure the form’s components and also within other queries defined in the form using the Example of a query for a database form (1 to 1):
In this example, all the fields of the ASSET_INFO table are obtained and available to configure the form components. The ASSET_ID field is used to link towards the element of the ASSETS layer using the
Example of a query for a database form (1 to N):
In this example, all the fields of the INSPECTION table are obtained and available to configure the subform’s components. The ASSET_ID field is used to link towards the element of the ASSETS layer using the If the
In this example, all the fields of the INSPECTOR table are obtained and available to configure the subform’s components. The INSPECTION_ID field is used to link towards the element of the INSPECTION table using the
In this example, all the fields of the INTERVENTION table are obtained and available to configure the subform’s components. The INSPECTION_ID field is used to link towards the element of the INSPECTION table using the fv(field) function. |
Field of the unique identifier | The SELECT query must include a unique identifier field (numeric or alphanumeric). Select the field that must be used as a unique identifier.
|
INSERT query | SQL query that inserts new data in the database. Configure this query only if the form must allow records to be added to the database. You must define a variable that contains the value of the unique identifier for the new record. Example of a query for a database form (1 to 1):
In this example, the data of the form is inserted in the ASSET_INFO table when the INSERT SQL query is executed. The values of the ASSET_INFO.ASSET_YEAR, ASSET_INFO.BRAND and ASSET_INFO.ASSET_HEIGHT fields are provided by the values entered in the form using the The value of the ASSET_INFO.ASSET_ID variable is provided by the Example of a query for a database form (1 to N):
In this example, a $id variable is created and initialized with the next value (max + 1) of the ID field from the INSPECTION table. The form data is inserted in the INSPECTION table when the SQL INSERT query is executed. The values of the INSP_DATE and INSP_COMMENT fields are provided by the values the user entered in the subform using the The value of the INSPECTION_ID field is provided by the $id variable. The value of the ASSET_ID field is provided by the
In this example, a $id variable is created and initialized with the next value (max + 1) of the ID field from the INSPECTOR table. The form data is inserted in the INSPECTOR table when the SQL INSERT query is executed. The values of the INSPECTION_ID, CONTACT_INFO and TEAM fields are provided by the values the user entered in the subform using the The value of the INSPECTOR_ID field is provided by the
In this example, a $id variable is created and initialized with the next value (max + 1) of the ID field from the INTERVENTION table. The form data is inserted in the INTERVENTION table when the SQL INSERT query is executed. The values of the INSPECTION_ID, WORK_ORDER and FOLLOW_UP fields are provided by the values the user entered in the subform using the The value of the INTERVENTION_ID field is provided by the $id variable. |
Variable with the ID of the new element () | Select the variable containing the value of the unique identifier of the new record inserted in the table. It must be defined with the INSERT query. In order for your data to be recorded in the database (the photos, for example), you must define and select this variable.
|
UPDATE query | SQL query that updates the data in the database. Configure this query only if the form must allow data to be updated. Example of a query for a database form (1 to 1):
In this example, the form data is used to update the ASSET_INFO table when the UPDATE SQL query is executed. The values of the ASSET_YEAR, BRAND, and ASSET_HEIGHT fields are provided by the values the user entered in the form using the The WHERE clause allows you to update the record containing the element’s unique identifier, ASSET_ID, also using the Example of a query for a database form (1 to N):
In this example, the subform data is used to update the INSPECTION table when the UPDATE SQL query is executed. The values of the INSP_DATE and INSP_COMMENT fields are updated, and they are provided by the values the user entered in the form using the The WHERE clause uses the
In this example, the subform data is used to update the INSPECTOR table when the UPDATE SQL query is executed. The values of the CONTACT_INFO field are updated, and they are provided by the value the user entered in the form using the The WHERE clause uses the
In this example, the subform data is used to update the INTERVENTION table when the UPDATE SQL query is executed. The values of the WORK_ORDER and FOLLOW_UP fields are updated, and they are provided by the value the user entered in the form using the The WHERE clause uses the |
DELETE query | This SQL query deletes the data from the database. Only configure this query if the form must allow data to be deleted. Example of a query for a database form (1 to 1):
In this example, the record corresponding to the element’s ASSET_ID attribute value is deleted from the ASSET_INFO table using the Example of a query for a database form (1 to N):
In this example, the record corresponding to the inspection’s unique identifier is deleted from the table using the The records of the INTERVENTION and INSPECTOR nested subforms that correspond to the inspection’s unique identifier are also deleted from the table when the inspection is deleted.
In this example, the record corresponding to the inspector’s unique identifier is deleted from the table using the
In this example, the record corresponding to the intervention’s unique identifier is deleted from the table using the |
Add data | Allows a user or group to use the form to add new data in the database. |
Modify data | Allows a user or group to use the form to modify existing data in the database. |
Delete data | Allows a user or group to use the form to delete data existing in the database. |
Symbol
Select the symbol that will be used to represent the elements. The symbol can be a vector symbol or an image.
Vector symbols are provided with JMap and offer special features. They can be resized without distortion and their border and fill color can be modified. However, they cannot be customized easily.
JMap offers image libraries, which include SVG images. These image libraries are accessed under the Images tab. You can also provide your own image libraries. Their quality will be decreased if they are resized, unless you use SVG images.
Size
Specify the size of the symbol. A value of 1 corresponds to the original size of the symbol or image.
Proportional size
Select this option if you want the size of the displayed symbols to vary in proportion with the map scale. You must enter the reference scale that will display the normal size of the symbols.
Use antialiasing
Select this option to activate antialiasing.
Transparency
Specify the partial transparency of the symbol.
Offset (x,y)
Adjust the original point of the symbol by offsetting the symbol by X and Y according to the specified values. The original point corresponds to the exact coordinates of the point element.
Rotate symbol with the map
Select this option to have the symbol rotated when the map is rotated. If this option is not selected, the symbol will always have its default angle, regardless of the map rotation.
Rotation
Specify the rotation to apply to the symbol.
Border thickness
(For vector symbols only) Specify the border thickness of the vector symbol.
Border color
(For vector symbols only) Specify the color of the lines of the vector symbol.
Transparent fill
(For vector symbols only) Select this option to have the inside of the vector symbol completely transparent.
Fill color
(For vector symbols only) Specify the color of the interior of the vector symbol.
Mouseover content
Display
City : ev(CITY)
A simple example of static text with the value of an attribute.
City: ev(CITY)
(ev(COUNTRY))
Example containing static parts and displaying 2 attribute values on 2 lines.
<b>ev(STATION_NAME)</b>
<a href="ev(URL)">Site web</a>
An example of basic formatting using HTML tags and a hyperlink where the URL comes from the value of the URL attribute.
<b>ev(DESCRIPTION)</b>
<img src="ev(IMAGE_URL)" height="175" width="234" />
An example of an HTML tag that takes the image URL from the value of the IMAGE_URL attribute.
Area :
ev(AREA_KM2) km2
<script>
var SQ_KM_IN_SQ_MI = 2.58998811;
var area_sq_mi = ev(AREA_KM2) / SQ_KM_IN_SQ_MI;
print(area_sq_mi.toFixed(1) + " sq. mi");
</script>
An example of a <script>
tag with JavaScript code.
The value of the AREA_KM2 attribute is converted from square kilometers to square miles.
<table style="border:3px solid black; border-radius:5px; background: #1fc8db; color:white">
<thead> <tr> <th style="padding: 5px" class="">Name</th> <th style="padding: 5px" class="actions">FirstName</th></tr> </thead>
<tbody> <tr> <td style="padding: 5px" class="">Gratton</td> <td style="padding: 5px" class="actions">Bob</td> </tr> </tbody>
</table>
An example of formatting with a style attribute.
1
Drag a component to a cell in the form. All available cells are highlighted.
2
3
These tabs allow you to access the different sections.
4
5
6
7
Attribute
Select the layer attribute or the query variable to which this component is associated. This is the attribute or variable that the form component will provide.
Required
Read only
Select this option to make this a read-only component. The user will not be able to modify the content. This option should be used to modify a component with a default value.
Column span
By default, each component occupies only one cell. For a component that spans several cells horizontally, enter the number of cells the component will span. Cells occupied by a spanned component are labeled Spanned.
Tooltip
This text is displayed in a tooltip when the user places the mouse pointer on this component.
Label (prefix)
Enter static text that will appear above the component.
Label (suffix)
Enter static text that will appear on the right of the component.
Width (pixels)
Specify the width in pixels of the component entry field, excluding the suffix label. The default value is 100. The width of each column of the form will automatically be the same as the widest component in the form.
Default value
Optionally enter a default value to initialize the data entry field. You can use certain functions to initialize the default value of a component.
Label
Static text to be displayed in the form.
The text’s alignment (left, right, center) can be specified, along with the font style used to display the text. Certain functions can be used in the label text.
Text
A field used to enter an alphanumeric value. The associated field must be alphanumeric or numeric. Input mask: An input mask can be used to control the format of the value entered. Multiline: (alphanumeric fields only) If this option is enabled, the entry field will cover several lines of text, making it easier to enter longer text. Max. number of characters: (alphanumeric fields only) Determines the maximum length of the text a user can enter. This must comply with the restrictions of the database field containing the data. Range validation: (numeric fields only): Allows you to define a range of accepted values (e.g. from 0 to 100).
List (single choice)
A list of values from which only one value can be selected.
The associated field must be numeric or alphanumeric.
The values in the list can be provided in several different languages if your project supports multiple languages. The list can be dynamic, which means its content can be modified dynamically based on the selection of a value from another list. For instance, when selecting a country in a list, another list will be refreshed dynamically to display only the cities of the selected country. Parent attribute If the list must be dynamic, select the parent attribute. In order to link list B (child) to a list A (parent), you must begin by selecting the parent attribute for list B (the attribute associated to list A).
If there is a change in the value selected in list A, the content of list B will be updated.
The values of list B are determined by the relationship between its values and the values of the parent attribute.
If list B has only one value, it is selected automatically.
The values in the list can be entered manually or they can be taken from a database or another source: Values Enter the values in the space provided, indicating, for each one, the parent value (only if the list is dynamic), the value to use in the database and the label to display in the list.
This value will be used as the data.
The label is only used for the information the user will see.
If the value and the label are the same, enter the same value twice. If the list is not dynamic, leave the parent value blank. Get values from a database You must select the database from which you wish to obtain the values.
Afterwards, enter an SQL query that will be executed to obtain the parent values (only if the list is dynamic), the values, and the labels to be displayed. Normally, labels must be unique and sorted.
Example
List of countries, available in English and in French. This list is not dynamic. It is associated with a COUNTRY attribute.
select * from MY_TABLE where ITEM_TYPE = 'Country' order by ITEM_VALUE;
In this example, the ITEM_VALUE field contains the value, the ITEM_LABEL_EN field contains the name of the country in English, and the ITEM_LABEL_FR field contains the name of the country in French.
There is no parent value because the list is not dynamic (it does not have a parent list).
Example
List of cities, available in English and in French. This list is dynamic. Its parent attribute is COUNTRY, which is associated with the previous list. It lists the cities for the country selected in the parent list.
select * from MY_TABLE where ITEM_TYPE = 'City' order by ITEM_VALUE;
In this example, the ITEM_VALUE field contains the value, the ITEM_LABEL_EN field contains the name of the city in English, and the ITEM_LABEL_FR field contains the name of the city in French.
The PARENT_VALUE field contains the parent value.
Important: The SQL query of a child list must include the field that allows you to establish the relation with the parent values. The previous example used select to include all the fields in the queries.
Note: At times, values to be displayed in a list come from a table associated to a spatial data source stored in JMap Server’s System database. In such a case, the name of the physical table cannot be known. To solve this, you can use this simple approach: instead of entering the name of the table, enter the ID of the layer preceded by the acronym “DS” between dollar signs $
.
Example
select distinct ID_CITY, CITY from $DS27$ order by CITY
Provider Other sources may be available to provide the values and labels. If this is the case, you can select this option and choose the source in the list of available sources.
List (multiple choices)
A value list from which one or more values can be selected.
The associated field must be alphanumeric.
The value saved in the field is the list of selected options, separated by commas (,). The values in the list can be entered manually or they can come from a database or another source.
Refer to List (single choice) for more information. Refer to Multiple values for the same parameter section in Attribute Queries for more information about query configuration.
Check box (true or false)
Populates the associated field for which there are only 2 possible values.
The 2 possible values must be specified and be character strings (e.g. true or false) or numerical values (e.g. 0 or 1).
If the associated field is boolean, you must use true and false. Checked value: Value to be recorded if the check box is selected. Unchecked value: Value to be recorded if the check box is not selected.
Calendar (single date)
Allows you to select a date.
The layer attribute or the field used for the query must be of one of the following types: date, datetime or timestamp. Date format: This is the format that the calendar component will use to display the selected date. If the user enters the date manually, he or she must also use this format (e.g. dd/MM/yyyy, yy/MM/dd H:ss, etc.).
Photo (unavailable for attribute query forms)
This component allows the user to insert images in a form. In JMap Survey, it allows the user to take photos with the device’s integrated camera. In JMap Pro, JMap Web or JMap NG, the user can select existing images to insert in the form or in the subform.
This component cannot be present more than once in the same form or subform. For a layer attributes form, the photos can be stored in the JMap Server System database (in this case, no configuration is required) or in an external database.
When this component is added to a database form, the photos must be stored in an external database. You must then define all required parameters for storing the photos.
Storage:
Choose the JMap option to store the photos in JMap’s System database (only available for layer attribute forms). Photos selected by the users are copied in the JMAP_HOME\db\documents directory, and the relation between the layer element and the photo is added to the JMAP_DOCUMENTS table in the System database.
Note: Photo title field and Photo comment field are new features of JMap Server Istanbul. If you update your JMap Server Hanoï to JMap Server Lima, to allow JMap users to add a title and comments to photos, you must edit the forms to select the fields in the table that will respectively contain the title and comments of the photos.
Tree (tree of values)
This component displays a value tree structure with N levels. The user can select a value in the tree, leaf or branch.
This value will be stored in the associated attribute.
The associated attribute must be alphanumeric.
The values of the tree can be provided in several languages if your project supports multiple languages. The tree shows a parent-child data structure, like the dynamic lists that are linked to one another.
However, unlike dynamic lists, the tree is associated to just one attribute.
The tree’s values can be entered manually or they may come from a database or another source: Values Enter the values in the space provided as you build the tree structure. For each value entered, you can define the parent (or the root of the tree). Get values from a database You must select the database from which you wish to obtain the values. Afterwards, enter an SQL query that will be executed to get the values from a table with a parent-child relationship.
Example Tree containing countries (level 1) and cities (level 2), available in English and French.
select * from MY_TABLE;
In this example, the ITEM_VALUE field contains the value, the ITEM_LABEL_EN field contains the name of the country or city in English, and the ITEM_LABEL_FR field contains the name of the country or city in French.
The PARENT_VALUE field contains the parent.
With this configuration, JMap will build the following tree:
Table (unavailable for attribute query forms)
Allows you to manage data originating from databases external to JMap and for which a 1 to N relationship exists with the layer elements.
Example
Suppose a points layer represents fire hydrants in JMap (Assets), and a database external to JMap contains data on the inspections performed on these fire hydrants.
For each fire hydrant, 0, 1 or several inspections can be performed. In the attributes form (Assets form) of the fire hydrants layer, the table allows you to display inspection data regarding a fire hydrant, where each line in the table represents an inspection.
Depending on the permissions configured, the table can also be used to add, modify or delete the inspection data.
Subforms can be nested in a form or a subform. In the following example, each inspection can have 0, 1 or several interventions associated with it. In this case, the table displays the data of the interventions performed during each inspection.
The table is always associated with a subform. This subform defines how external data is accessed and allows this data to be entered. The subform must be created before the table can be configured.
Subform: Select an existing subform that will be used to populate the values associated with the table.
Fields: Allows you to manage the fields displayed in the table. These are the fields of the subform associated with the table. You can modify the field names, their display order, and their visibility in the table. It is also possible to modify the format of numeric and date fields. The table parameters allow you to define the external data fields that will be displayed in the table and their order of appearance.
For more information on using external data with JMap forms, refer to the Database Forms section.
Group (groups components together)
This component is used to group form components together.
A frame with a title will be drawn around the components belonging to the same group.
Insert this component in the cell of an empty row to start a new group. This component automatically spans all cells of the row.
ataIt cannot be inserted on a row that already has other components.
Remote access |
View this layer | Allows a user to view a layer in JMap’s applications. By default, the everyone user (everyone who has permission to open the project) is authorized to view any new layer. To restrict access to a layer, you must remove this permission from everyone and only add it to the users of your choice. |
Add elements | Allows a user to add new elements on the layer and enter attribute values using the form associated with the layer. Editing must be enabled on this layer in order for this permission to be available. |
Modify elements | Allows a user to modify the geometries of the elements (move, add/remove nodes, etc.) found on the layer. Also allows the user to modify attribute values using the form associated with the layer. Editing must be enabled on this layer in order for this permission to be available. |
Delete elements | Allows a user to delete existing elements on the layer. Editing must be enabled on this layer in order for this permission to be available. |
Modify attribute values | Allows a user to open the form of a layer’s element attributes and to modify their values. Editing must be enabled on this layer in order for this permission to be available. |
Copy / export elements | Allows a JMap Pro user to copy the data of the layer to another layer, or to export the data of the layer using the JMap Exportation extension. |
Options |
|
Edit only own elements | Allows the user of a JMap application to modify the geometries, the values of the attributes or to delete only the elements that he has created in the layer. The user cannot edit the elements of the layer that were created by other users. |
These forms are used to enter the attribute values of an editable layer.
A layer can have only one attribute entry form.
The user must have the required permissions to modify the values of a layer’s attributes. Refer to the Layer Permissions section for more information.
To create a form for entering attributes for a layer, in the Form section of the Forms tab of the layer configuration interface, press Create.
Enter a name for the new form. You must then select the type of form to create, Layer attributes. Click on Save.
Afterwards, select Form layout in the settings menu to go to the form designer and add components.
Each component of the form must be associated with an attribute of the layer.
The component provides the attribute value, and the value is updated when the user closes the form and saves the changes. Refer to the Form Layout section for more information.
The Permissions button appears in the form configuration interface.
The Permissions section has two tabs: Permissions and Owners. The owners are the only ones who can manage the administrative permissions for the project, manage the list of owners and delete it.
Available users and groups are configured in the JMap Server section of JMap Admin. Refer to the Users and Groups section for more information about managing users in JMap Server.
The available permission is:
Thematic mapping is the production of maps to express information about a specific phenomenon. Examples of thematic maps include: polygons representing sectors of a city colored differently based on the crime rate of each sector; points representing cities displayed using different symbol sizes based on the population in the city, etc.
In JMap, you can create thematic maps using the bound attributes of a layer. Depending on the values of their attributes, map elements will then be displayed differently. Using JMap Admin, you can create as many thematic maps as you want and you can also create many thematics using the same layer.
JMap NG and JMap Survey apps do not support thematics with NULL values. Map elements with NULL values are not displayed in these applications. To solve this problem, you can replace the NULL value by NA, ND or another value.
In JMap, there are two main categories of thematics: and .
To create a thematic, press Create in the Thematics tab of the layer settings.
Thematics that use a classification will separate map elements into a finite number of categories (also called classes), each having a specific style. When a map element belonging to such a thematic is displayed, it uses the style of the category it is part of in order to render itself on the screen.
Graduated styles thematics use a graduation of one or more visual variables to represent the elements of the different categories. Examples of such graduations include: the fill color of polygons that is graduated from white to red, the size of point symbols that is graduated from size 1 to size 5, the line width of elements that is graduated from 1 to 4, etc. In all cases, there is a finite number of categories and every element of the layer falls into one of those categories. Only a numeric attribute can be used for this type of thematic.
To create a new thematic of this type, you need to select the numeric attribute to use, define the number of categories, select the range calculation method, and define the category styles.
The next section allows you to define the styles of the categories. There are two possibilities: create custom range styles or use predefined color schemes.
You must define the from and to values of the style by indicating the style variables that will vary (e.g. border thickness, symbol size, fill color, etc.). The category styles are then generated by interpolation between the from and to styles. Optionally, a third style can be used to create an inflexion point. If an inflexion is defined, the generated styles will pass through the inflexion point at the specified position in percentage. The interface is different based on the element type of the layer.
Instead of manually defining styles, you can select a color scheme to generate the styles of the thematic's categories.
Graduated symbols thematics draw symbols superposed on the elements they qualify. The symbol sizes are graduated according to a finite number of categories based on a numeric attribute. The symbols can be used with any type of map element. Only numeric attributes can be used for this type of thematic.
Individual values thematics represent all elements that have the same attribute value with the same style. This type of thematic is not using a range of values for each category but rather a specific value. The maximum number of unique different values is 512. If your layer has more different values, it will not be possible to create this type of thematic on that layer. Numeric and alphanumeric attributes can be used with this type of thematic.
To create a new thematic of this type, all you have to do is select the attribute to use and follow the steps of the thematic configuration wizard:
Individual custom values thematics are similar to individual values thematics except that you can define your own values, instead of being limited to values already present in the data. This is useful when you create thematics using a data set that does not contain all the known possible values for an attribute. When new data is later added to this data set, the new values will be handled properly by this type of thematic.
Proportional quantities thematics represent map elements using a continuous variation of a visual variable (e.g. symbol size, fill color, etc.) based on a numeric attribute or set of attributes.
Proportional symbols thematics draw circular symbols superposed on the center of the elements they qualify. The symbol sizes are determined by interpolation between the minimum and maximum values of the attribute. Only numeric attributes can be used for this type of thematic.
To create a new thematic of this type, you need to select the numeric attribute to use and define the from and to styles. The symbol size and color will be interpolated between the from and to values.
Pie charts thematics draw pie chart diagrams on the center of the elements they qualify. This type of thematic works with one or many numeric attributes. Each part of the diagram (piece of the pie) is associated with a different attribute. The size of the diagram is proportional to the sum of the attribute values. Only numeric attributes can be used for this type of thematic.
To create a new thematic of this type, you need to select one or more numeric attributes to use and define the chart style.
Bar charts thematics draw bar chart diagrams on the center of the elements they qualify. This type of thematic works with one or many numeric attributes. Each bar of the diagram is associated with a different attribute. The size of the diagram is proportional to the sum of the attribute values. Only numeric attributes can be used for this type of thematic.
Several different methods can be used to calculate the ranges of values for the categories of thematics using classifications. These methods are described below.
Once the thematic has been created, you are brought to the interface that displays its general information and that allows you to specify the legend, give titles to the classes, and edit or delete the thematic.
For classification thematics, you can unselect classes you do not want to display, and you can also give a title to each class.
Enabled thematics are displayed automatically when the layer is displayed in JMap on the client. Disabled thematics are still available but are not displayed by default. They need to be enabled by the user to be displayed. You can enable and disable thematics from the thematics section in JMap Admin.
In JMap Survey applications, the layers are displayed with the thematics enabled by default. The thematic legend is not displayed. Users cannot change the appearance of the layer.
In JMap applications, thematics are displayed in the order they are defined in JMap Admin. It is important to set the order appropriately because some thematics can completely hide others if they are placed on top. Use the Modify menu from the list of thematics in order to modify their order.
You can delete a theme by selecting it and pressing Delete.
To provide your own images, place them in the following directory: JMAP_HOME/JMapAdmin/icons Supported image formats are svg, gif, png and jpeg. If subdirectories are created, they will be seen when browsing the image directory. This allows you to organize your image library. You can also upload new images by clicking on in the symbol selection window. The maximum image size is 100 Mb.
/
Click on to create a new section, to delete an existing section or to rename a section. Click on to reset the entire form.
Click on the and buttons to insert empty rows or columns where required.
The symbol indicates that the component is in read-only mode.
The symbol indicates a required field.
The button allows you to modify the component's parameters. The button allows you to remove the component from the form.
Determines if this is a required field. The user cannot submit the form until all required fields have been populated. To make a field optional, you must unselect this option. Required fields are identified with a in the form designer.
The following examples use the MY_TABLE table.
Choose the External option to store the photos in the database or in the directory of your choice. The relation between the layer element and the photo is stored in the table and database of your choice. If you select External, you must define the entire configuration that follows. Delete photos with elements: Select this option if you want the photos associated with an element to be deleted automatically if the element is deleted. This option is not enabled by default. Database: Select the database where the photos must be stored. This database must be configured beforehand in JMap Admin. Table: Select the table that will contain the information on the photos. This table must have the following structure. The name of the table and fields may vary. The BLOB field is not required if the photos are stored on the drive and not in the database. Refer to the Photos persistence option for more details. Photo ID field: Select the field in the table that will contain the photo’s unique numerical identifier. Element ID field: Select the field in the table that will contain the attribute identifying the layer element. This attribute is called the key attribute and it is selected when the spatial data source associated with the layer is created. File name field: Select the field in the table that will contain the name of the file for the photos. Photo title field : Select the field in the table that will contain the photo’s title. Photo comment field : Select the field in the table that will contain the photo’s comment. This field contains 255 characters. Photos persistence: Choose the Database option to save the photos directly in the database, in a BLOB field existing in the table. You must then select the BLOB field. Choose the Disk option to save the photos in a folder of the server’s file system. You must then enter the photos folder that will contain the photo files.
The following example uses the MY_TABLE table.
The following figure shows the Assets form designer, with the Table component. This component is used to display the data from inspections, which is entered using the Inspections subform.
The following figure shows the design of the Inspections subform with the Table components. These components are used to display data on the interventions and inspectors, which is entered using the nested Interventions and Inspectors subforms.
Allows a user to access this layer through a JMap Server to JMap Server connection. This permission must be granted to the account of the user who established the secure connection between both JMap Servers. For more information on this topic, refer to the section.
A list of users and groups with permissions appears in the Permissions tab. Click on to add new users or groups.
There are several methods for calculating the ranges of values for the categories of this type of thematic. See for more information.
There are several methods for calculating the ranges of values for the categories of this type of thematic. See for more information.
The creation process is the same as for , as described above.
The creation process is similar to , except that you have the option to modify the list of individual values by adding, removing or modifying categories:
The creation process is similar to , as described above.
Click on to save the settings.
Click on to save the settings.
Modify attribute values
Allows a user or group to use the form to modify values of layer attributes.
Attribute |
Attribute | Select the numeric bound attribute to use. |
Do not draw elements with out-of-sample values | If this option is selected, elements with values outside of the value range will not be displayed. This can happen when the data is modified after the thematic was created. |
Create a category for null values | Select this option if you want null values to be represented in the thematic. |
Use inflexion point at | Select this option to use an inflexion point and specify the position of the inflexion. |
Edit base style | Use this link to modify the style of the layer without leaving the Thematics section. The base style is used to produce the styles of the categories. |
Type | 3 types of color schemes are available: Sequential: The colors form a gradient of sequential colors (e.g. from white to red). Diverging: The colors form a gradient with a central color (e.g. from blue to white to red). Here emphasis is placed on central categories. Qualitative: Colors do not follow any sequence. |
Reverse order | Check this box to reverse the order of the colors in the palette. |
Apply to | You can choose to apply the palette to the available visual variables (e.g. fill, border, etc.), depending on the type of element on the layer. |
Pie charts thematic |
Attributes | Select one or more numeric attributes. Each attribute will be represented by a piece of the pie chart. The size of the chart will be determined by the sum of those attribute values. |
Do not draw elements with out-of-sample values | If this option is selected, elements with values not present in the value sample will not be displayed. This can happen when the data is modified after the thematic was created. |
Ignore negative values | Select this option to ignore negative values. |
Pie chart style |
Chart size | Select the from size (smaller) and the to size (bigger). The chart size will be determined by interpolation between these two values. |
Border thickness | To draw a border around the chart, select a non zero border thickness. |
Start angle | Select one of the directions to use as the starting angle of the chart. The first piece of the pie chart will start at the specified angle. |
Draw shadow | Select this option to draw a shadow for the pie charts. |
Labels | Select the label type (or none) to indicate the value or relative percentage of each piece of the pie chart. |
Colors | Select the color of each portion of the pie chart. |
Equal ranges | The ranges will have equal sizes between the minimum and the maximum values (e.g. 0-10,10-20, 20-30). |
Equal count | The range limits will be calculated so that an equal count of elements falls in each category. |
Standard deviation | The range limits will be calculated so that the average value falls in the middle of the categories and each category range size is equal to the calculated standard deviation value. |
Defined interval | The range size is user-defined and constant for all categories, starting from the minimum value, and adding the defined interval for each category. |
Percent ranges | The range for each category is expressed as a percentage of the full value range (e.g. 4 categories with 20%, 20%, 35% and 25%). The total must be equal to 100%. |
Custom ranges | All range limits are user-defined. |
Legend title | Enter a title for the legend. |
Legend subtitle | Enter a subtitle for the legend. |
Dynamic legend | For classification thematics only. Select this option to make the legend dynamic. This type of legend is constantly refreshed to show only the classes that are visible on the map displayed. |
Symbols in the legend | For proportional quantities thematics only. Select the number of symbols you want to display in the legend. The minimum is 2 symbols indicating the extreme values. |
Categories |
Categories | Enter the desired number of categories. |
Range method |
Remove duplicated categories | In some cases, several categories can have the exact same value limits. Select this option to avoid having identical categories. This can happen with very small data sets or if limits are rounded to big numbers. |
Round at | Select the precision to use to round category range limits. It is often more useful to have rounded limits than very precise ones (e.g. country populations rounded to the nearest million). |
Attribute |
Attribute | Select the bound attribute to use. It can be numeric or alphanumeric. |
Do not draw elements with out-of-sample values | If this option is selected, elements with values not present in the value sample will not be displayed. This can happen when the data is modified after the thematic was created. |
Create a category for null values | Select this option if you want null values to be represented in the thematic. |
Categories |
Sort the categories in ascending or descending order. |
Style |
Base style | You can select the basic style of the thematic. |
Colors Schemes | Select Allows you to select a predefined color scheme. |
Nulle value style | Allows you to select the style for the null value category (elements in the layer with a null value for the attribute). |
Value | Allows you to filter a category value. This is useful when you have a thematic with many categories. |
Style |
Attribute |
Attribute | Select the bound attribute to use. It can be numeric or alphanumeric. |
Do not draw elements with out-of-sample values | If this option is selected, elements with values not present in the value sample will not be displayed. This can happen when the data is modified after the thematic was created. |
Create a category for null values | Select this option if you want null values to be represented in the thematic. |
Categories |
Values |
Sort the categories in ascending or descending order. |
Style |
Base style | You can select the basic style of the thematic. |
Colors Schemes | Select Allows you to select a predefined color scheme. |
Nulle value style | Allows you to select the style for the null value category (elements in the layer with a null value for the attribute). |
Value | Allows you to filter a category value. This is useful when you have a thematic with many categories. |
Style |
Name | Enter a unique name for the thematic. This name will be visible by users. |
Description | You can provide a description for the thematic. |
Type | Select the type of thematic you wish to create. The following steps will depend on the type of thematic you have chosen. |
Select the method used to determine the bounds of the value ranges. Refer to for more information.
Allows you to define a style for each category. You can use a .
Enter the value of the category you want to add. Press to add the category.
Allows you to define a style for each category. You can use a .