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 has a System database that contains JMap Server’s configurations and geometry tables. This database is mandatory and generally should not be modified. It cannot be deleted and should only be manipulated by advanced users. See section JMap Server System Database for more information.
JMap Server is a map-based integration platform. It offers a quick way to connect all systems and consolidate all data belonging to an organization. All the information is then published on a map. By providing real-time access to all data on a single interface, JMap Server enables managers, GIS analysts and non-technical users to make better decisions and take action quickly.
As an integration platform, JMap Server solves issues related to the lack of interoperability within certain organizations. A neutral platform, JMap Server can connect to any system or IT environment without disrupting what is already in place.
As a map-based platform, JMap Server provides its users with a series of GIS tools, which are available as desktop, web or mobile applications.
JMap Server is managed in its entirety through the JMap Admin application. This web interface allows administrators to perform tasks such as integrating databases, creating projects, disseminating maps, and managing security.
This site contains documentation in English addressed to:
Administrators
Application Users
Extensions Users and Administrators
Developers
Knowledge base
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 is used to display a table of existing databases and to show their statuses.
The following screen captures show the graphical user interface of JMap Admin. The different parts of the interface are described below.
When you click on the name of a database in the Database section, the Database configuration interface displays.
This interface has buttons to Edit, Reinitialize, Deactivate or Delete the database. The button allows you to access the SQL Console and Permissions sections.
Several subsections display information on the database. The parameter values indicated were defined when the database connection was created. Refer to Creating Databases for the details of each parameter. These parameters can be modified 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: Status, 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.
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 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.
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.
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.
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 for more information.
See section for more information.
See section for more information.
See section for more information.
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.
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.
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.
Parameters
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.
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.
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.
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.
Deleting a connection to JMap Server deletes this connection’s entire configuration.
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.
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 Admin provides a generic SQL console that can be used to view database structures, execute SQL queries, inspect the content of tables, test for query execution speed, etc. All configured databases are accessible through this console.
When performing an SQL query, the query execution is subject to security permissions granted to the user connected to the database. See section for more information about specifying the user for database connections.
Query results are displayed in a new window. The results of the INSERT, UPDATE, and DELETE requests are grouped in the same tab. The results of SELECT type queries appear in separate tabs.
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.
Note: 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 page listing the connections and follow the required steps.
When you click on the name of a connection, the Remote connection configuration interface displays.
In the details section of a spatial data source, click on Permissions to access the permissions section. You can also modify permissions in batches. To do this, select several data sources in the list and click on Permissions.
A list of authorized users and groups displays. Click on to add new users or groups. The available users and groups are configured in the JMap Server section of JMap Admin. Refer to the section for more information on managing users in JMap.
Only administrator permissions are associated with spatial data sources.
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 and JMap Pro applications.
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 template management section can be accessed by clicking on Metadata templates in the Spatial data section.
Click on Create to create a new template. The interface shows the following options.
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.
JMap Server can read ADF and E00 files as a spatial data source. These files are normally produced by ESRI’s Arc/Info software.
Spatial data sources 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 and 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 vector SDS with JMap Cloud, a cloud based platform developed by K2 Geospatial.
You must first connect to JMap Cloud. The 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.
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 or data sources and when using shared layers.
JMap Server manages connections towards other JMap Servers by placing them in pools.
Note that 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 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).
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.
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 for more details on this topic.
A spatial data source in JMap Server, as its name implies, is any source that can provide spatial data. 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.
Some spatial data sources work with a file reader to load spatial data from files in various formats (e.g. MID files, SHAPE files, image files, JPEG photo files, etc.). Other data sources access the data stored on remote 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. 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.
Spatial data sources are listed in the Spatial data section in JMap Admin. The table displayed presents basic information about each data source. When you click on the name of a data source, a details section is displayed. This section presents some useful information about the spatial data source and provides some management functions associated with it.
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.
admin.filebrowser.roots=c:/data/DataGeo|Data;d:/data2|Data2
In this example, two root folders are created, named Data and Data2.
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.
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 JMap Admin, you can update a data source by clicking on Update in its information section. You can also update several data sources simultaneously by selecting them in the section displaying the list of data sources and clicking on Update.
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 Schedule from that data source’s details section or in the list 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 JMap Server section.
You can delete spatial data sources by clicking on Delete from the data source’s information section. You can also delete data sources by selecting them in the section listing the sources and then clicking Delete. 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:
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 list of spatial data sources.
JMap Server can read ESRI File geodatabases as a spatial data source.
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 for more information on database connection configuration.
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.
The attribute configuration window contains two tabs: Metadata and Attribute sample. This button is used to update the statistics of the SDS.
Status
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.
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. |
Settings |
|
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. |
Parameters |
|
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. |
Read | Yes |
Write | No |
Parameters |
|
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. |
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. |
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. |
Read | Yes |
Write | No |
Parameters |
|
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 |
Parameters |
|
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. |
Attributes |
|
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 |
Parameters |
|
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. |
Metadata |
|
Type | Indicates the attribute’s data type. |
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. |
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. |
Metadata |
|
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 template |
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. |
SQL console |
|
Database | Select the database to use. |
View structure | Click on to open a window that allows you to navigate in the structure of the database. You can see the schemas, the tables and views, and information about each field of a table or view. |
Max. rows | When executing a SELECT SQL query, you can enter a value to limit the number of returned rows. |
Auto commit | If performing SQL transactions (e.g. INSERT, UPDATE), select this option to validate the transactions automatically (SQL COMMIT command). Otherwise, you will need to perform the validations manually. |
Test for speed only | When executing an SQL query, select this option to repeat the query a certain number of times and display the execution times. |
SQL Query | Enter the SQL query to execute. The result will be displayed in a table. |
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 | JMap Cloud. This section allows you to share the vector SDS in the JMap Cloud platform. |
5 | Attributes. This section presents a list of SDS attributes. |
6 | References. This section lists the projects and layers that use this SDS. A legend indicates which layers are referenced. |
7 | These buttons allow you to edit, update or delete the SDS configuration. A button also allows to make the vector SDS of file type editable. |
8 |
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 |
6 |
Permissions for spatial data source |
|
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. |
GPX is an XML-based GPS data exchange format. JMap Server can read GPX files as a spatial data source.
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 EDIGEO files as spatial data sources.
JMap Server can read MID/MIF files as a spatial data source. These files are generally produced by MapInfo applications.
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.
JMap Server can read KML files as spatial data sources.
JMap Server can read GeoJSON files as a spatial data source.
JMap Server can read shape files as a spatial data source. They are generally produced by ESRI applications.
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 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 TAB files as spatial data sources. These files are usually produced with MapInfo applications.
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 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 Spatial is the format used to store JMap’s spatial and descriptive data. It is based on the WKB format ().
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 . 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 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 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 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.
Note that it is also possible to create a JMap project by importing an existing layer configuration from an ArcGIS REST service. Refer to for more information.
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 for more information.
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.
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 for more information.
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 for more information.
This icon allows you to provide the title in multiple languages.
This article offers more details: .
Click on to add a new section.
Click on to delete a section.
Click on to add a new field.
Click on to delete a field.
The section provides details on this function.
Clicking on the will open a window, allowing you to configure its properties.
The menu provides access to the , and sections.
Buttons to edit, , or the connection.
This menu allows you to access the section of the remote connection.
Read
Yes
Write
No
Parameters
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
Parameters
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
Parameters
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.
Read
Yes
Write
No
Parameters
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.
Read
Yes
Write
No
Parameters
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 External Attributes 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.
Read
Yes
Write
No
Parameters
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
Parameters
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
Parameters
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
Read
Yes
Write
No
Parameters
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 |
Parameters |
|
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 - Only SQL Server supports all CRUD operations (create, read, update and delete). Other databases only support reading. |
Parameters |
|
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 | No |
Read | Yes |
Write | Yes |
Parameters |
|
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 |
Parameters |
|
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. |
Read | Yes |
Write | Yes |
Parameters |
|
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. |
Read | Yes |
Write | Yes |
Parameters |
|
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. |
JMap Server can use the OpenStreetMap map as a raster data source. No parameters need to be configured for this type of data source.
Read | Yes |
Write | Yes |
Parameters |
|
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 . |
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 | Yes |
Parameter |
|
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 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.
Web Feature Service (WFS) is a standard proposed by the Open Geospatial Consortium 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 and 1.1.0 to be used as a spatial data source.
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 7 Kathmandu 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 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 databases containing geometries that have been coded according to WKB and WKT standards (http://en.wikipedia.org/wiki/Well-known_text).
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 Creating Databases for more information on this topic.
With this type of data source, it is possible to read ECW or JPG2000 image files or to connect to an ECWP server (ERDAS Image Web Server) to obtain images. It is not possible to configure both at the same time.
Note: 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.
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.
Note: 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.
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 can connect to ArcGIS Server and ArcGIS Online REST services to access WMTS-type raster data published by this type of service.
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. The figure presents the translation interface for a project supporting 3 languages.
If translations are not provided in all available languages for certain text elements, the text will automatically be displayed in the default language.
To create a new project, press Create in the section listing the projects. 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.
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.
Read
Yes
Write
No
Parameters
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
Parameters
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
No
Parameters
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
Parameters
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
Yes
Parameters
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.
Parameters
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.
Read
Yes
Write
Yes
Parameters
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.
Parameters
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.
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 form designer. Afterwards, users can use them in JMap Pro, JMap Web, JMap NG and JMap Survey.
Like data editing forms, attribute query forms are created using the form designer. 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 Creating attribute queries section for more information on optional parameters in queries.
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 from the Projects section.
In JMap Admin, the administrator can see a list of existing personal layers. It can be displayed by personal layer or by user. When selecting a personal layer, you can see which users have access to it. When selecting a user, you can see which personal layers the user has access to. You can also click on a personal layer in the list to open its details section.
To delete a personal layer, select it in the list and press Delete. Be aware that 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, press Publish and select the project in which the layer will be inserted.
The Projects section in JMap Admin displays a list of existing projects. From this section, projects can be created, cloned or deleted.
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. Note that 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.
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 |
Available languages |
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 |
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 |
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. |
Parameters |
URL | URL of the service of an ArcGIS REST layer.e.g. |
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. |
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. |
Parameters |
|
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. |
Parameters |
|
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. |
Web Map Tile Service (WMTS) is a standard offered by the Open Geospatial Consortium 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.
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.
From the project detail section, press Permissions to access the project permissions section. A list of currently allowed users and groups is displayed. Press to add new users or groups and automatically grant them the Open this project permission. The available users and groups are configured in the JMap Server section in JMap Admin. See Managing User Accounts and Groups for more information about managing users in JMap.
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 Managing Permissions 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 Layer Permissions 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.
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.
You can access the query configuration section by clicking on Queries in the Projects section.
To create a new query, press the Create query button in the Attribute queries section. This will 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.
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.
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.
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.
To use a style template, click on Use a style template from any style configuration interface. See for more information.
You can access the style template configuration section by clicking on Style templates in the Projects section.
To create a new style template, press Create.
To delete a style template, select it in the list and press Delete.
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.
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.
It opens a JMap Pro application offering most of the functionality of JMap Pro applications. You can validate the project configuration.
The JMap Pro preview does not allow data editing. Data editing can be done in a JMap Pro type application in which the JMap Edition extension is enabled.
You can also delimit the initial view of the project, when it is opened in JMap Pro applications. Click on . A rectangle displays to delimit the initial view. When you close the preview, the geographic coordinates of the initial view are automatically saved.
Project properties, layers with their associated spatial data sources, order and hierarchy of layers are reproduced in JMap Cloud. Warning, the link between the project in JMap Server and the project in JMap Cloud is not preserved, therefore, changes in the properties or the order or hierarchy of the layers in the project on JMap Server are not synchronized with JMap Cloud .
To synchronize the project with JMap Cloud:
In the project configuration interface, press Sync with JMap Cloud…. A window opens offering you some options:
Name: 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.
Copy: 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.
Copy and synchronize automatically: 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 layer and its spatial data source are automatically synchronized with JMap Cloud.
Select an option and press OK. Since there is no link between the project in JMap Server and the project in JMap Cloud, no information is provided about the project on JMap Cloud.
Press again Sync with JMap Cloud…. A new window opens. This indicates that some layers of the project are already synchronized with another project on JMap Cloud. The options offered are:
Skip these layers: The synchronization will not affect the layers already synchronized.
Associate the synchronization with the selected project: The synchronization will create the whole project in a new project on JMap Cloud.
The options for the project layers are similar to those described in point 1.
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.
Extensions which are compatible with the new generation applications, JMap NG and JMap Survey, must be configured and activated to make them accessible to the users of these applications which publish the project.
To enable the extension, slide the switch in the Extensions section of the project configuration interface.
There are two aspects to organizing layers in a project. One is to define the 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. The other aspect is to create a logical hierarchy based on the nature of the layers. In other words, this allows the creation of 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.
To start organizing the layers, open the Layers section of the project.
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.). In addition, you can open a window displaying all the layers and reorder them using drag-and-drop actions.
To organize layers in groups, open the tab named Hierarchy. 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.
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 section.
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 section.
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 for more information on this topic. Mapbox vector tiles can be produced in advance and cached. The following 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.
Enter the URL of the ArcGIS Server REST service (e.g. ). Afterwards, click on Load to show the list of available layers.
To create a new group, click on the Create group button. To modify the order of groups, click on the Modify button 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 . To delete a group, select it in the list and click on Delete.
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.
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.
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.
Copy and synchronize manually: 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 layer and his spatial data source are not automatically synchronized with JMap Cloud. You can launch a manual synchronization by pressing in the JMap Cloud section of the layer configuration interface () and the spatial data source ().
To configure the extension at the project level, click on the extension name in the menu. Once the configuration is complete, press Save.
The chapter provides details on the configuration of extensions in JMap Server.
Parameters
URL
Enter the GetCapabilities URL that will return the capabilities of the WMTS server. The URL should be similar to this one: http://www.server.com/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities
Examples: https://basemap.nationalmap.gov/arcgis/rest/services/USGSHydroCached/MapServer/WMTS/1.0.0/WMTSCapabilities.xml and http://cite.deegree.org/deegree-webservices-3.4-RC3/services/wmts100?service=WMTS&request=GetCapabilities
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.
Query
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.
Style templates |
|
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. |
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. |
Layer group |
|
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 |
Permissions
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.
Permissions
Open this project
Allows a user to open a project from a JMap application.
1 | General information. Information configured when creating the project. |
2 | 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. |
3 | 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. |
4 |
5 | References. This section indicates the deployed applications that use this project. |
6 | 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 . |
7 |
8 | 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. |
9 |
10 |
The layer general settings section is accessible by clicking on the settings drop-down menu, then selecting General in the layer details section. This section allows you to specify basic layer parameters. These parameters are described below, along with the visibility thresholds.
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.
The layer configuration interface allows you to access layer information as well as parameter configuration functions such as style, labels, or reports.
The raster layer configuration interface contains the General information, Layer parameters, and Visibility thresholds sections.
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 several different types of permissions for a project’s layers. The following tables describe each one of these.
To modify layer permissions, press in order to select the users and groups to which you wish to grant permissions. Only the users and groups who are already authorized to open the project containing the layer can be granted permissions associated with this layer.
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.
Warning: 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 section 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.
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.
Warning: 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.
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 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 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. To manage the styles of a layer, press Style from the layer settings menu.
To add a new style, press . 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 . Note that 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 for more information.
JMap Pro users can change the style of layers and save their changes by creating . 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. 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.
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 section provides more details on this topic.
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 or a in a separate window or a 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.
These buttons allow you to , modify or delete the project configuration.
The menu allows you to access the , , and sections as well as the section.
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.
For classification thematics, you can unselect classes you do not want to display, and you can also give a title to each class. Click on to save the settings.
General
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.
Scale thresholds
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 refresh
Dynamic
Select this option to activate the dynamic refresh.
Refresh every
Specify the delay between each refresh.
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
You can change the title of the attribute. This icon allows you to provide the title in multiple languages.
Format pattern
Specify a format pattern for displaying SDS items. The pattern must follow Java standards. For more details on this topic, read the following article: https://docs.oracle.com/javase/tutorial/i18n/format/decimalFormat.html.
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. |
Custom range styles |
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. |
Color schemes |
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. |
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. |
Method | Description |
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 |
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. |
Style parameters |
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. |
Style parameters |
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. |
Style parameters |
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. |
Style parameters |
Transparency | Specify the partial transparency of the image. |
Extrusion |
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. |
Parameters |
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. |
Parameters |
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. |
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 | Enter the value of the category you want to add. Press to add the category. |
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 |
Style parameters |
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. |
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
JMap Cloud. This section allows the layer to be shared in JMap Cloud platform. Section Sharing a layer with JMap Cloud provides details on this function.
6
Layer visibility thresholds; shows the limits between the minimum and maximum scales for displaying layer elements.
7
Thematics. This section presents the layer's thematics. Click on the name of the thematic to access its configuration interface.
8
Labels. This section presents information on the labels.
9
Mouseover. This section describes the mouseover configured for the layer.
10
Reports. This section presents the reports configured for the layer.
11
Forms. This section presents information about forms configured for the layer. Click on the form name to access its configuration interface.
12
These buttons allow you to edit the layer configuration or delete it.
13
The menu provides access to the sections General, Permissions, Style, Thematics, Labels, Mouseover, Forms and Reports. This menu also provides access to the configuration interfaces of JMap extensions which require the configuration of parameters at the layer level.
Permissions |
|
Remote access | 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. |
Permissions |
|
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. |
New thematic |
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. |
The layers of a project are displayed in the Layers section, which may be accessed from the JMap Admin project configuration interface. In the List 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. The Hierarchy tab displays the groups and subgroups with the layers that compose them. The tasks you can perform from this tab are detailed in the Organizing Layers section.
In the List tab of the Layers section of a project, you can perform the tasks described in the table. For some tasks, you must select more than one layer.
This button allows you to access the Permissions section, where you can configure the permissions of the selected layers. See Layer Permissions for more details.
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.
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.
To configure mouseover for a layer, click on Mouseover in the details section of the layer.
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)}
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:
Press Dynamic Filters in the layer settings menu.
Click on the plus icon 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 a JMap Pro or JMap Web application.
Click on Save to save the dynamic filter.
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.
These forms are used to enter the attribute values of an editable layer. Only one attribute entry form can exist per layer. 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 that will be used to enter a layer’s attributes, select Forms in the layer’s settings menu, then click on 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 Designer section for more information.
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.
The functions supported by labels are the same as those supported by mouseover. For more information on these functions, refer to the Mouseover section.
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.
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 section 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.
As of JMap Server Kathmandu HF9, the tile loading request mode is modified, considering two tile loading modes, automatic and manual. The settings prior HF9 are in Load by tile (manual) mode. 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.
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.
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.
Unpublishing an existing layer can be useful to make it unavailable to the users without actually deleting it.
JMap Server allows you to share layers between projects that are on the same server or that originate from remote servers that are connected. Layer sharing allows you to manage data more effectively (avoids duplication, saves time) by reusing existing layers instead of creating new layers in each project. When the original layers are modified, the changes can automatically be viewed in all projects that have referenced layers pointing towards these shared layers. Referenced layers cannot be modified directly, save a few basic settings. Only the original shared layer can be modified.
From the Kathmandu version, JMap Server can share layers with the cloud-based geospatial platform JMap Cloud developed by K2 Geospatial. So JMap Server layers with their configuration can be consumed by JMap Cloud users. The sharing is done only in the direction of JMap Server towards JMap Cloud.
The figure presents the layer sharing between projects on the same server and on different servers. The properties of the Rivers layer cannot be modified in projects 1 and 3. The original layer is in project 2.
If you wish to share a project’s layers in order to access them from another JMap Server, you must assign a special remote access permission to a user for these layers. In order to do this, access the project layers section for which you wish to share these layers.
Select one or more layers.
Click on Permissions.
Select the Remote access permission. The account used must match the user account through which the connection to this JMap Server was established. If you are using a group, the aforementioned user account must be included within it.
To stop layers from being shared, simply remove the Remote access permission from these layers.
To access existing layers from different projects located on the same JMap Server or shared layers on other JMap Servers, you must click on Add and select Clone / Reference in the layers section of the project to which you would like to add these layers.
In the Clone / Reference layers section:
Select a JMap Server from which you wish to clone or reference layers. If you choose Local server, you can select the projects and layers of the local server without these being shared. The other servers in the list are the JMap Servers for which a JMap Server to JMap Server connection exists. Refer to the JMap Server to JMap Server Connections section for more information on creating JMap Server to JMap Server connections.
Select the project from which you wish to clone or reference layers. Once the project has been selected, the list of available layers displays.
Select the layers you wish to clone or reference and move them to the list on the right.
Select the Clone or Reference option.
If you choose the Clone option, the selected layers will be duplicated towards your project. They will be exact copies of the original layers, but there will be no connection between the copies and the original layers. You can modify the copies without affecting the originals. If you delete a cloned layer, this doesn’t affect the original layer. If you delete the original layer, this doesn’t affect its cloned layers. However, duplicated layers always use the same spatial data source as the original layer. If this data source is modified or deleted, this will affect the duplicated layers.
If you select the Reference option, the original layers will be accessed by reference. This means that a direct connection will be maintained between the layers of your project and the original layers. You will not be able to modify these layers in your project. If the original layers are modified, the changes will appear wherever references to these layers exist, after a short delay. If you delete a referenced layer, the original layer will not be affected. If you delete the original layer, the referenced layers will no longer work and will have to be deleted manually.
You can share a vector layer with the JMap Cloud the geospatial platform developed by K2 Geospatial, by copying or synchronizing it with JMap Cloud.
To synchronize a layer with JMap Cloud, in the JMap Cloud section of the layer configuration interface:
Project: Select the project on JMap Cloud in which the layer will be created.
Copy: This function creates a copy of the layer (configuration and data) and its spatial data source in JMap Cloud. No JMap Server → JMap Cloud link is created. If the layer is updated on JMap Server, the data is not synchronized with JMap Cloud.
Copy and synchronize automatically: This function creates a copy of the layer (configuration and data) and its spatial data source in JMap Cloud. A JMap Server → JMap Cloud link is created. If the layer is updated on JMap Server, the data is automatically synchronized with JMap Cloud.
Select an option and press OK.
When the layer is synchronized with JMap Cloud, the JMap Cloud section presents the following information:
Id: The JMap Cloud layer ID.
Project: The name of the project in JMap Cloud.
Status: The current layer status. While synching, this show the current sync task. Otherwise, it show the JMap Cloud layer status.
Last Updated: Indicates the last time the layer was synched.
Automatic synchronization: If ON and an update occurs on JMap Server, the data is automatically synchronized with JMap Cloud.
You can share or synchronize several vector layers in batch with JMap Cloud. In the Layers section of the project, in the List tab:
Select the layers you want to synchronize with JMap Cloud. Currently, only vector layers can be shared with JMap Cloud.
Press the Sync with JMap Cloud button. If all the layers are already synchronized with JMap Cloud, they are directly updated in JMap Cloud. If at least one of the layers is not shared or synchronized with JMap Cloud, a window opens offering you several options:
Project: Select the project on JMap Cloud in which the layers are created.
Copy: This function creates a copy of the layers (configuration and data) and their spatial data sources in JMap Cloud. No JMap Server → JMap Cloud link is created. If there is an update on JMap Server, the data is not synchronized with JMap Cloud.
Copy and synchronize automatically: This function creates a copy of the layers (configuration and data) and their spatial data sources in JMap Cloud. A JMap Server → JMap Cloud link is created. If there is an update on JMap Server, the data is automatically synchronized with JMap Cloud.
Layers already synchronized are updated in JMap Cloud.
JMap applications diffuse data that is organized into projects to end users. Currently, there are two families of applications: traditional applications and new generation applications. require the application to be deployed, while connect to the JMap Web API to access the projects directly.
This chapter contains a section that describes the operation of new generation applications, and another section to guide administrators in creating and managing deployed traditional applications.
Deploying a JMap application consists of preparing the application and putting it online so it can be accessed by users. You must select the desired options (application type, activated extensions, access controls, etc.) to customize the application according to your needs. To allow a user to open a deployed JMap application, simply give the user the application URL.
Deployed JMap applications are placed online in the web server integrated to JMap Server. They can also be copied manually to other web servers.
The deployment section displays a list of applications that have already been deployed.
To create a new application deployment, click on the Create button in the Deployed applications section. Some parameters will be common to all types of applications. The following tables describe these parameters.
The following steps depend on the type of application you selected. Refer to the following sections: , and .
Once you have deployed applications, you can perform certain management tasks on them from the Deployed Applications interface of the Deployed section.
Editing an existing application allows you to go through all configuration sections again and change any options as needed. Double-click on the application’s name and select Edit.
Select an application to duplicate it.
Updating a deployed application means deploying it again, overwriting the existing version. This is equivalent to editing an existing application and keeping all the same options. Updating applications is useful when you install a new version of JMap to make sure your deployed application uses all the latest library versions. You do not need to update deployed applications when the data or the project changes.
If you want to temporarily make a deployed application unavailable, you simply need to unload it by selecting it in the list and pressing Unload. When an application is unloaded, users can no longer start it using its URL. If you want to make it available again, simply press Load to reload it.
If an application’s type is External, you can download that application’s .war file in order to deploy it on another web server. Select the application and click on Download.
Deleting an existing deployed application deletes all files related to this application. There is no way to undelete an application (you need to redeploy it). Note that when deleting an application, none of your data or configurations (projects, layers, data sources, databases, etc.) are deleted nor affected in any way.
If you select a deployment, you can access the Permissions section of the application.
The service.war file containing the JMap REST services is downloaded to your computer for deployment on another server.
The report.war file containing the report service is downloaded to your computer for deployment on another server.
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.
To configure reports for a layer, click on Reports in the layer's details section.
The reports section 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 arrows. 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.
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.
Some require the configuration of specific parameters at the layer level. To access the extension configuration interface, press and then the name of the extension. Once the settings are configured, press Save.
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 .
Allows you to define a style for each category. You can use a .
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.
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 name of an attribute 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.
Direct mode implies that the communicates directly with the WMS service that returns the image. Pro, Web, NG and Survey 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 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.
To share layers between projects on the same JMap Server, no action is required. Layers can be accessed freely from any project on the same server. Refer to for more information.
In the permission management interface, select the user account or group to which you wish to assign the remote access permission (you can add user accounts and groups by clicking on ).
Once the layers have been shared, they can be selected from the remote JMap Server and inserted in this server’s projects. Refer to for more information.
You must first connect to JMap Cloud. Section provides details on this topic. If this step is not completed, a message in the JMap Cloud section of the layer configuration interface indicates it.
Press Synchronize with JMap Cloud. A window opens and offers you several options:
Copy and synchronize manually: This function creates a copy of the layer (configuration and data) and its spatial data source in JMap Cloud. A JMap Server → JMap Cloud link is created. If the layer is updated on JMap Server, the data is not automatically synchronized with JMap Cloud. You can launch a manual sync by pressing .
Once the layer is synchronized with JMap Cloud, the icon appears in the list of project layers, in the JMap Cloud column.
Press to remove the JMap Server → JMap Cloud link for the layer. It is no longer possible to synchronize the layer, manually or automatically. The layer on JMap Cloud is not deleted.
Copy and synchronize manually: This function creates a copy of the layers (configuration and data) and their spatial data sources in JMap Cloud. A JMap Server → JMap Cloud link is created. If there is an update on JMap Server, the data is not automatically synchronized with JMap Cloud. You can launch a manual synchronization by pressing in the configuration interface of layers and spatial data sources that have been modified.
Select an option. When the synchronization is finished, the layers display the icon in the JMap Cloud column of the project layers list.
For more information on external applications, see .
Click on this button to access the following functions:
The securityRealm.war file is downloaded to your computer. This file is used in single sign-on (SSO) by authentication servers (, ) to communicate with JMap.
Advanced reports are based on the BIRT reporting tool (). 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 ().
Mouseover
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.
Function
Description
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.
Labeling parameters
Label text
The text of the label.
Static parts will be displayed as is and ev(attrib)
functions will be replaced by the corresponding bound attribute values.
Unlike mouseover bubbles, labels don't support HTML formatting or hyperlinks.
See the following examples:
Country: ev(country)
Country: Canada
City: ev(city) (ev(country))
City: Paris (France)
Population: ev(pop)
Population: 2150000
Labels also support JavaScript programming to perform mathematical operations as well as operations on character strings using attribute values. The print function is used to print content in the label.
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>
leads to:
Area:
91935.7 km2
31635.6 sq. mi
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
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.
Spatial data source |
|
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:
where WORLD_CITIES is the table name. If you specify only JMAP_ID <100, the layer is not displayed. |
Raster layer |
|
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. |
WMTS raster layer |
|
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. |
Attributes |
Title | Text to be displayed in the report instead of the attribute name. |
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. |
New generation applications such as JMap NG and JMap Survey connect to the JMap Web API to access projects. They are built on technologies that allow them to evolve over time and to be fully customized by the developers of client organizations.
The JMap administrator does not need to configure a deployment, as would be the case with traditional applications; the applications connect to and consume the projects directly. While this simplifies the administrator’s work since there is no deployment to elaborate, it is critical to follow project configuration best practices to ensure the optimal performance and relevance of the new generation applications. Indeed, for applications of this type, projects must be designed with a view to their end use. A single project can be disseminated in several different traditional applications based on specific needs, but it is disseminated directly and in its entirety in new generation applications.
JMap’s new generation applications work with vector data organized into vector tiles, resulting in a heavy workload for the Web browser, contrarily to JMap Web, for example, whose workload is mostly handled by JMap Server.
If the deployed traditional applications can be hosted in a proxy, in the case of new generation applications, JMap’s Web APIs are hosted in a proxy.
The Mapbox vector tiles used in new generation applications ensure smooth image rendering, while also offering smooth and efficient three-dimensional navigation. However, using Mapbox vector tiles creates some application limitations:
The administrator cannot define customized base maps for projects. The base maps provided by Mapbox must be used. Maps from Google Maps, Bing or OpenStreetMaps cannot be used.
The applications have the Web Mercator projection system, specifically the EPSG:3857 reference system. The project can have another projection system, but when vector tiles are generated by Mapbox, the vector data is reprojected to ESPG:3857. In this case, the project images are not displayed in the applications.
Some practices make projects more appropriate for use with new generation applications:
The project must be designed based on its end use; each NG application must open the entire project.
A project with few layers makes it easier to display the application by reducing the Web browser’s workload.
Generating vector tiles can take a certain amount of time, depending on the size of the data. Vector tiles are generated for specific zoom levels (approximately 20). Each tile contains the data describing the geometries and attributes. They are light and allow the style to be changed on the fly when a user is browsing the map.
You can create tile caches for projects. This article contains the detailed procedure to produce vector tile caches.
JMap NG applications open in a Web browser. They can be used to display data two and three-dimensionally, to navigate the data three-dimensionally, to query, measure and edit editable data, and to create and print customized maps.
The administrator must provide the URL of the NG service to users. The users will then be able to access the JMap server’s projects based on the permissions for each project.
The URL is in the following form: http://SERVERADDRESS:PORT/services/ng
where SERVERADDRESS:PORT is the IP address or domain in which JMap Server is installed. Here are two examples:
https://jmap7dev.jmaponline.net/services/ng
http://192.168.0.106:8080/services/ng
The documentation for developers offers other options to initiate JMap NG.
JMap Survey applications are mobile applications that are used to collect data in the field in offline mode (without Internet access). This application replaces the traditional JMap Mobile application.
Similarly to JMap NG, JMap Survey allows the user to connect to a specific project from a JMap server. The administrator must then provide the URL of the JMap server and the name of the project.
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
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.
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. |
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) |
Template |
|
Application type | There are four types of JMap applications. Each type of application has different features that are adapted to different needs. Custom application templates can also be added; these can be variants of the types offered by default. JMap Pro applications: This type of JMap application offers advanced functionality. It requires more IT resources, and a Java Runtime Environment (JRE) must be installed (Java is no longer required if you use the new deployment mode with an installation program). JMap Web applications: This type of JMap application is lighter and you can run it from a web browser or a mobile web browser. It doesn’t offer as many advanced features as JMap Pro applications. WFS Service: This type of application is a vector data web service destined to provide data to third-party applications through the Web Feature Service standard protocol. WMS Service: This type of application is a web service for the production of map images. It is destined to provide maps to third-party applications using the Web Mapping Service standard protocol. |
Identification |
|
Name | Enter a name for the new deployed application. Names must be unique. The name can contain spaces and any other characters. |
Type | Select the deployment type, either local or external. Local: The application service will be deployed directly in JMap Server. External: Select this option for applications that must be deployed on a web server that is external to JMap Server. The application service will not be deployed in JMap Server. Instead, a .war file will be created. This file must be copied onto the external web server. A Download button in the deployment section allows you to download the .war file. |
Protocol |
Application host | The host name or IP address that will be included in the URL of the deployed application. If your server has several IP addresses, specify the one that must be used. If you have selected the External deployment type, make sure you enter the name or address of the external web server where the application will be deployed. |
Application port | The TCP/IP port used in the URL of the deployed application. |
Relative path | The path used in the URL of the deployed application, taken from the name given to the application. |
Configuration |
Title | The title of the report. |
Extract data from |
Template (single) | Template used for reports on a single map element. |
Template (multiple) | Template used for reports on multiple map elements. |
Advanced reports |
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 |
Template (single) |
Template (multiple) |
General information |
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. |
Variable | Display |
%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 |
%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). |
Layers
Add - Create
Initiates the creation of a new layer. Refer to Creating Layers.
Add - 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.
Add - Import…
Allows you to import layers one by one from a project exported from another JMap server. Refer to Importing layers.
Permissions
Allows you to configure permissions for the selected layers. Refer to Layer Permissions.
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.
Delete
Deletes the selected layers.
Update - Bulk edit…
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.
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 Creating Databases for more information.
JMap Web applications use an approach based on the production of map images generated by JMap Server. The images can be produced as a series of tiles that are adjacent to one another, for each scale level. Lower scale levels contain a small number of tiles (small scale, few details on a large portion of territory), while higher scale levels typically contain a large amount of tiles (large scale, many details on a large portion of territory).
These images are created on request when users navigate on the map in web applications. Producing these images demands a lot of work from JMap Server and therefore can cause significant delays in these applications. To improve performance, it is recommended to use a tile cache system. This system caches each tile once it is produced and can also ask JMap Server to produce all images of each layer in advance. This operation can require several hours of work during which JMap Server will be very busy. In addition, the sum total of the cached tiles can require considerable storage space. Afterwards, this will greatly accelerate navigation in web applications, since all images will have been produced and made available.
JMap Server is compatible with the open source product GeoWebCache (http://geowebcache.osgeo.org). However, to improve integration with JMap Admin, K2 Geospatial provides its own slightly adapted version of GeoWebCache. Visit the K2 Client Portal to download the GeoWebCache installer for JMap Server.
To use GeoWebCache in conjunction with JMap Server, JMap Admin must be configured to provide JMap with the settings to connect to GeoWebCache. These settings are entered in the section JMap Server / Settings.
The URL to GeoWebCache indicates the JMap Server address that communicates with GeoWebCache. Providing more than one URL towards GeoWebCache enables web and mobile applications to launch more image queries simultaneously, which improves performance when loading the map. These URLs must use domain names or IP addresses that point to the same GeoWebCache instance (e.g. cache1.jmaponline.net, cache2.jmaponline.net).
The username and password configured allow JMap Server to connect to GeoWebCache and send it commands. For instance, JMap Server can ask GeoWebCache to create, delete or update tile caches. These settings must match the configuration in GeoWebCache. Read below for more information on configuring GeoWebCache.
See the JMap Server Settings section for more information on configuring these settings.
GeoWebCache is not included with JMap and must be installed separately. For more information on installing and configuring GeoWebCache, read the following article.
If GeoWebCache is correctly installed and configured, you can use it with JMap Web applications. Usage of GeoWebCache for this type of applications is configured when these are deployed. It is when you configure layers that you can select the Cached option. See JMap Web Applications.
In the information section of a web or mobile application that has already been deployed, there is a subsection titled Cached layers. This subsection displays the list of layers for which the Cached option was activated. This section allows you to manage caching and access the GeoWebCache management console.
For each layer, click on Seed to launch the production of the tile cache. This process can be cancelled by clicking on Cancel. To delete the cache for a layer, click on Delete. Cache production can take a very long time. If you wish to manage the cache directly in the Geowebcache interfaces, click on Manage in Geowebcache.
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.
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:
Press Create. The window for creating a rule is displayed.
Press Save.
You can create multiple rules for the same form.
The sections Layer Attributes Forms, Database Forms and Attribute Query Forms describe the steps to create forms and subforms. The examples mentioned refer to the tables in the following figure:
The following settings apply to JMap Pro applications.
Click on Finish to complete the deployment process.
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 subforms 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, select Forms in the layer parameters menu. Make sure you open the Forms tab, then click on 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, select Forms in the layer parameters menu. Make sure you open the Subform tab, 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. Creating a nested subform is done by following the same steps to create a subform. Examples of queries are displayed in the table of the Creating a database form section.
The following figure shows a preview of the nested subforms from our example, in JMap Pro.
Database forms have their own permissions. Available permissions are described in the table below.
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.
To configure the rules of a form or a subform, open the configuration interface of the form or subform that interests you:
Press Create. The window for creating a rule is displayed.
Press Save.
You can create multiple rules for the same form.
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 Creating Databases for more information on this topic.
The following settings apply to JMap Web applications.
This type of application requires a layer configuration that may differ from the configuration existing in the project to be disseminated. JMap Web displays map images that are generated by JMap Server from the project layers. An image will often contain the data of several layers combined together.
The images produced can either be tiled (images with fixed sizes) or not tiled (images with variable sizes). In the case of tiled images, they can be generated in advance or on demand, and they can be cached to improve performance. Images that are not tiled are always generated on demand. In general, tiled image layers offer better performances and a smoother user experience, but they may add border effects and overload the server if there are a lot of them.
Base layers are used to display a map in the background. The data of base layers is static and cannot be queried by JMap. Only one base layer can be displayed at a time in the application, but if several are available, the user can select one.
Base layers can be made up of layers from the JMap project or they may come from external sources (OpenStreetMap, Google Maps, Bing Maps, WMTS, Mapbox). When they are produced by JMap Server, tiled, and cached, they can be shared by several JMap Web applications.
The following settings apply when creating a JMap layer (static or dynamic) for JMap Web.
The geographic properties of JMap Web allow you to redefine certain project properties for this application. This type of application can generate a significant workload on JMap Server and a large storage space if you use a GeoWebCache server. By reducing the global extent of the map and maximum scale, you can help reduce the load and improve performance. By default, JMap Web will use the same properties as those defined in the project.
The following parameters apply to JMap Web applications.
JMap standard features can be extended to provide new specialized functions. This is done using JMap extensions. A JMap extension is an optional module that can be plugged into JMap Server and/or JMap applications in order to provide the desired set of new functions. Some JMap extensions already exist and are available as separate products, and some others will be available in the future. Organizations can also develop their own extensions using the JMap SDK.
The Extensions section in JMap Admin shows the list of existing extensions of each type. The extension types are Server, Client, Mobile, and Web.
JMap Server extensions add new functionality on the server side. They can include their own configuration interfaces, which are integrated to JMap Admin. Simply click on the name of a server extension to access its configuration interface.
Server extensions can be enabled or disabled by clicking on the Enable and Disable buttons. Disabled extensions are inactive and cannot process requests. Extensions can also be reinitialized by pressing the Reinitialize button. In this case, they are stopped and restarted, which can be useful if an extension must read configuration files that have been modified, for instance.
JMap Client extensions add functionality to JMap Pro applications. Generally, an extension adds a new toolbar or new menu items to an application. Using the application deployment tool, you can select the extensions that will be included in a JMap Pro application. Refer to the section for more details on this topic. JMap Client extensions are presented in this section for information purposes only.
JMap Web extensions add functionality to JMap Web applications. JMap Web extensions are presented in this section for information purposes only.
Since JMap NG and JMap Survey applications do not deploy, it is at the project and layer level that some of the extensions need to be configured. The sections and provide details on how to configure these extensions.
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 for more information.
/
See for more information.
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.
The protocol to be used for communication between the JMap application and JMap Server. Select https for secure communication. If the HTTPS protocol is not configured in JMap Server, this option is not available. For more information on using the HTTPS protocol, refer to the section.
Current layer: Obtain report data directly in the layer attributes. Refer to . 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 .
Current layer: Obtain report data directly from layer attributes. Refer to . 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 .
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 .
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 .
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 for more information.
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 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 documentation.
Press to open the menu and select the Rules option. The interface that lists the rules is displayed.
Click on to add a logo that will be displayed on the map.
Press to open the menu and select the Rules option. The interface that lists the rules is displayed.
To add a layer, click on .
The administrator permissions of JMap Server extensions define the extension’s administration rights for users authorized to use JMap Admin. Client, Web, and Mobile extensions are not affected by permissions. For more information on concepts related to permissions and administration roles in JMap Admin, refer to the section.
Read
Yes
Write
Yes
Parameters
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.
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.
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'
Application options
Project
Select the project to open when JMap Pro is started.
Language
Select the language to use in JMap Pro. The elements of the graphical interface (menus, buttons, text in windows, etc.) will be in the selected language.
If you select the Automatic option, the language of the graphical interface will be the same as the language defined in the regional options of the user’s system.
If the aforementioned language is not supported by JMap, the language of the interface will be set to English.
The project configuration (names of layers, mouseover bubbles, etc.) will be in the selected language, provided translations into this language are available in the project. If you select the Automatic option, the language of the project will be the same as the language defined in the regional options of the user's system. If the user's system language is not available in the project, the default language defined in the project will be used.
Map rotation
You can define the rotation to be applied to the map when opening the application.
Controlled access
This option allows you to determine if access to this application must be controlled. If this option is activated, an authentication window will appear when the application is launched. If this option is not selected, the project must allow anonymous sessions.
Enable single sign-on
Select this option to activate single sign-on for this application. Note that single sign-on must be configured on JMap Server for this option to be available.
When JMap Pro is started, if single sign-on cannot work, an authentication window will be automatically displayed. Refer to the Single Sign-On section for more information.
Embedded in the browser
Select this option to integrate the JMap application in a web browser window as a Java applet. Otherwise, the application will open in its own window. Note: This option is not recommended because Java execution is no longer supported by most web browsers.
Show deployment name in the application title bar
Select this option to show the deployment name in the application title bar. This is useful when multiple application are open.
Advanced
Connection type
Select the connection method to be used between the client application and JMap Server. Direct connections are usually appropriate for internal use; proxy connections are destined to users outside the local network. Proxy connections use the HTTP protocol and therefore can go through firewalls more easily.
Max. memory for data
Select the maximum amount of memory that can be used to store vector data in the client application. When this limit is reached, the application will free up memory by deleting old data in order to store new data. The default value of 128 MB is appropriate for most sets of data but you may have to adjust it when you have a large amount of data to display.
Max. Heap size
Select the maximum amount of memory that can be assigned to the application to store all the settings and data needed to run it. This memory includes the memory previously configured for vector data. This amount of memory should always be higher than the maximum memory for data. The default value of 512 MB is suitable for most applications, but you may have to adjust it in some cases. Note that the amount of memory used by the application process (as seen in task managers) can exceed this value.
Display this message in login window
You can optionally add a message that will be displayed in the login window to all of the application’s users.
Display projects list in login window
Select this option to display a list of available projects in the connection window. Users can then choose the project they wish to open. The project’s security settings will be used to determine whether or not a user is authorized to open a particular project.
Do not list users
Select this option to hide the list of users in the deployed application. This application can be useful if you must hide the accounts of internal users when you deploy an application that is accessible to the general public via the Internet. The users list serves various purposes, such as sharing contexts and sending maps by email.
Parent path of .jmap folder
This advanced setting allows you to specify a different location than the default for the .jmap folder. This folder contains JMap Pro settings and cached data. Specify the desired location of the .jmap folder.
Example:
C:/permanent_folder
Will give you this final folder:
C:/permanent_folder/username/.jmap
Map options
Show map overview by default
Select this option to display the overview window when the application opens.
Display scalebar
Select this option to display a graphic scalebar in each application map. The user can add or remove the bar during his/her session.
North arrow
Select this option to display a graphical arrow pointing north in every map of the application. The user can add or remove the arrow during his/her session. You can decide which model you wish to use, its size, and where it will be positioned on the map.
Logos
Position
Defines the position of the logo on the map.
Offset X
Defines a horizontal offset value in relation to the selected position.
Offset Y
Defines a vertical offset value in relation to the selected position.
Transparency
Indicate the partial transparency of the logo (0% = opaque, 100% = invisible).
Extensions
Name of extension and version
Extensions available for JMap Pro applications are indicated here. Select the ones you wish to deploy with the application. Extensions will usually add new windows, menus or toolbar to the application.
Toolbar visible
Select this option to make the toolbar of the selected extension visible when the application starts up. Otherwise, the user can display the toolbar on request.
GUI visible
Select this option to display the windows and other components of the selected extension’s graphical interface when the application starts up. Otherwise, the user can display them on request.
Extra parameters
Some extensions can take entry parameters when the application starts up. If this is the case, these parameters can be inserted in this field for the selected extension.
Syntax for database forms
ev(attrib) or elementValue(attrib)
This function returns the value of the attribute specified as a parameter for an element.
Example:
ev(city);
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:
fv(table.name);
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:
$city = EV(city);
Creates a $city
variable initialized with the value of the element’s CITY attribute.
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:
$id = nextTableId(inspections, inspection_id)
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.
Form properties
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 fv()
function.
The query must contain a condition to link a layer attribute with a database field.
Example of a query for a database form (1 to 1):
SELECT * FROM ASSET_INFO WHERE ASSET_ID = EI();
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 ei()
function.
If the ei()
function returns a value in text format, you must place the statement between apostrophes to view the value:
SELECT * FROM ASSET_INFO WHERE ASSET_ID = 'EI()';
Example of a query for a database form (1 to N):
Example with the Inspections subform:
SELECT * FROM INSPECTION WHERE ASSET_ID = EI();
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 ei()
function.
If the ei()
function returns a value in text format, you must place the statement between apostrophes to view the value:
SELECT * FROM INSPECTION WHERE ASSET_ID = 'EI()';
Example with the Inspectors nested subform:
SELECT * FROM INSPECTOR WHERE INSPECTION_ID = FV(INSPECTION_ID);
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 fv(field)
function.
Example with Interventions nested subform:
SELECT * FROM INTERVENTION WHERE INSPECTION_ID = FV(INSPECTION_ID);
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.
Example of a query for a database form (1 to 1): ASSET_INFO.ASSET_ID
Example of a query for a database form (1 to N), Inspections subform: INSPECTION.INSPECTION_ID
Example of a query for a database form (1 to N), Inspectors nested subform: INSPECTOR.INSPECTOR_ID
Example of a query for a database form (1 to N), Interventions nested subform: INTERVENTION.INTERVENTION_ID
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):
$id = ei(); INSERT INTO ASSET_INFO (ASSET_ID, ASSET_YEAR, BRAND, ASSET_HEIGHT) VALUES (EI(), FV(ASSET_INFO.ASSET_YEAR), FV(ASSET_INFO.BRAND), FV(ASSET_INFO.ASSET_HEIGHT));
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 fv(field)
function.
The value of the ASSET_INFO.ASSET_ID variable is provided by the ei()
function.
Example of a query for a database form (1 to N):
Example with Inspections subform:
$id = nti(INSPECTION, INSPECTION_ID);
INSERT INTO INSPECTION (INSPECTION_ID, ASSET_ID, INSP_DATE, INSP_COMMENT) VALUES ($id, EI(), FV(INSPECTION.INSP_DATE), FV(INSPECTION.INSP_COMMENT));
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 fv(field)
function.
The value of the INSPECTION_ID field is provided by the $id variable.
The value of the ASSET_ID field is provided by the ei()
function.
Example with Inspectors nested subform:
$id = nti(INSPECTOR, INSPECTOR_ID);
INSERT INTO INSPECTOR (INSPECTOR_ID, INSPECTION_ID, CONTACT_INFO, TEAM) VALUES ($id, FV(INSPECTOR.INSPECTION_ID), FV(INSPECTOR.CONTACT_INFO), FV(INSPECTOR.TEAM));
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 fv(field)
function.
The value of the INSPECTOR_ID field is provided by the \$id
variable.
Example with Interventions nested subform:
$id = nti(INTERVENTION, INTERVENTION_ID);
INSERT INTO INTERVENTION (INTERVENTION_ID, INSPECTION_ID, WORK_ORDER, FOLLOW_UP) VALUES ($id, FV(INSPECTION_ID), FV(INTERVENTION.WORK_ORDER), FV(INTERVENTION.FOLLOW_UP));
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 fv(field)
function.
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.
Example of a query for a database form (1 to 1): $id
Example of a query for a database form (1 to N), Inspections subform: $id
Example of a query for a database form (1 to N), Inspectors nested subform: $id
Example of a query for a database form (1 to N), Interventions nested subform: $id
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):
UPDATE ASSET_INFO SET ASSET_YEAR = FV(ASSET_INFO.ASSET_YEAR), BRAND = FV(ASSET_INFO.BRAND), ASSET_HEIGHT = FV(ASSET_INFO.ASSET_HEIGHT) WHERE ASSET_ID = FV(ASSET_INFO.ASSET_ID);
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 fv(field)
function.
The WHERE clause allows you to update the record containing the element’s unique identifier, ASSET_ID, also using the fv(field)
function.
Example of a query for a database form (1 to N):
Example with Inspections subform:
UPDATE INSPECTION SET INSP_DATE = FV(INSPECTION.INSP_DATE), INSP_COMMENT = FV(INSPECTION.INSP_COMMENT) WHERE INSPECTION_ID = FV(INSPECTION.INSPECTION_ID);
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 fv(field)
function.
The WHERE clause uses the fv(field)
function to retrieve the value of the record’s unique identifier.
Example with Inspectors nested subform:
UPDATE INSPECTOR SET CONTACT_INFO = FV(INSPECTOR.CONTACT_INFO), TEAM = FV(INSPECTOR.TEAM) WHERE INSPECTOR_ID = FV(INSPECTOR.INSPECTOR_ID);
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 fv(field)
function.
The WHERE clause uses the fv(field)
function to obtain the value of the record’s unique identifier.
Example with Interventions nested subform:
UPDATE INTERVENTION SET WORK_ORDER = FV(INTERVENTION.WORK_ORDER), FOLLOW_UP = FV(INTERVENTION.FOLLOW_UP) WHERE INTERVENTION_ID = FV(INTERVENTION.INTERVENTION_ID);
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 fv(field)
function.
The WHERE clause uses the fv(field)
function to obtain the value of the record’s unique identifier.
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):
DELETE FROM ASSET_INFO WHERE ASSET_ID = FV(ASSET_INFO.ASSET_ID);
In this example, the record corresponding to the element’s ASSET_ID attribute value is deleted from the ASSET_INFO table using the fv(field)
function to obtain the value of the element’s identifier.
Example of a query for a database form (1 to N):
Example with Inspections subform:
DELETE FROM INSPECTION WHERE INSPECTION_ID = FV(INSPECTION.INSPECTION_ID); DELETE FROM INTERVENTION WHERE INSPECTION_ID = FV(INSPECTION.INSPECTION_ID); DELETE FROM INSPECTOR WHERE INSPECTION_ID = FV(INSPECTION.INSPECTION_ID);
In this example, the record corresponding to the inspection’s unique identifier is deleted from the table using the fv(field)
function to obtain the value of the identifier.
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.
Example with Inspectors nested subform:
DELETE FROM INSPECTOR WHERE INSPECTOR_ID = FV(INSPECTOR.INSPECTOR_ID);
In this example, the record corresponding to the inspector’s unique identifier is deleted from the table using the fv(field)
function to obtain the value of the identifier.
Example with Interventions nested subform:
DELETE FROM INTERVENTION WHERE INTERVENTION_ID = FV(INTERVENTION.INTERVENTION_ID);
In this example, the record corresponding to the intervention’s unique identifier is deleted from the table using the fv(field)
function to obtain the value of the identifier.
Form permissions
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.
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'
Read
Yes
Write
Yes
Parameters
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.
Application options
Project
Select the project to open when JMap Web is started.
Language
Select the language to be used in JMap Web.The elements of the graphical interface (menus, buttons, text in windows, etc.) will be in the selected language.
If you select the Automatic option, the language of the graphical interface will be the same as the language defined in the regional options of the user’s system. If the aforementioned language is not supported by JMap, the language will be set to English.The project configuration (names of layers, mouseover bubbles, etc.) will be in the selected language, provided translations into this language are available in the project.
If you select the Automatic option, the language of the project will be the same as the language defined in the regional options of the user’s system. If the user’s system language is not available in the project, the default language defined in the project will be used.
Map rotation
You can define the rotation to be applied to the map when opening the application.
Controlled access
This option determines if access to this application must be controlled. If this option is activated, an authentication window will display at application startup. If this option is not selected, the project must allow anonymous sessions.
Docked layers panel at startup
Determines if the sidebar (containing the list of layers and searches) will be displayed when the application opens.
Continuous zoom
This option allows you to zoom continuously on the map. If this option is not selected, the zooms are made in predetermined increments. This option is automatically disabled if Google Maps is displayed as a base map. This option is selected by default for new web deployments from JMap Server Cairo.
Geolocation tool
Select this option to activate the geolocation tool in the application. The option will only be available if the application is deployed with the HTTPS protocol. If this option is not selected, the geolocation button will be absent from the user interface.
Data editing tools
Select this option to activate the data editing tools for element geometries and their attributes. Even if these tools are activated, the user must have the necessary permissions to modify the data of a layer.
Selection tools
Select this option to activate the selection tools in the application. If this option is not selected, the selection button will be absent from the user interface.
Google tools
Select this option to activate the address search, directions, and Street View from Google. Important: You must make sure you use this option in accordance with Google’s license agreement.
Sharing tools
Select this option to enable sharing tools (link to this map, integrated map, create an image). If this option is disabled, the sharing menu will not appear in the user interface.
Share on social networks
If the sharing tools option is selected, you can select this option to enable map sharing on social networks (Facebook, Linkedin, Twitter).
GeoWebCache
Username
If you are using a GeoWebCache server, enter the user account that GeoWebCache must use to access the deployed application and selected project. It is absolutely necessary that this user account have the appropriate permissions to open the project associated with this deployed application. Refer to the Using a GeoWebCache Server section for more information.
Password
Enter the password that GeoWebCache must use to access the deployed application and associated project.
Advanced
Cross-Origin Request Sharing
Select this option if JMap Web needs to be embedded in a website whose domaine name (DNS) is different from that of the application.
X-Frame Options
This field offers a range of options for the JMap Web application to be called from an iframe.
X-Frame Authorized Referers
In this field, add any domain URL authorized to call the JMap Web application in an iframe. URLs must be separated by semicolons.
Example: http://172.17.101.14:8082; http://172.17.101.15:8083.
Session timeout
Check this option to log the user out after a given period of inactivity.
REST API Address
JMap Web requires JMap Server’s REST services. Enter a different address for the REST services if they were deployed on another server.
Properties
Layer name
Name that identifies the layer. This name will be presented to the user in the application’s layer manager. The name must be unique.
Image format
Select the format used to produce the layer images. For layers with air or satellite photos, the jpeg format usually offers the best compression rates. However, this format does not allow you to adjust the transparency of the layer, which is opaque.
Base layer
Determines whether or not the layer will be a base layer.
Visible
Determines if the layer will be initially visible or invisible when the application opens. This option does not apply to base layers.
Listed
Determines if the layer will be displayed in the layer list presented to the users. A layer may be displayed on the map without being displayed in the list of layers.
Tiled
Determines whether or not the layer images will be tiled. Static layers are automatically tiled.
Cached
Select this option if you want GeoWebCache to be used to cache the tiles generated for this layer. This option is available only for static layers. Refer to the Using a GeoWebCache Server section for more information.
Layer composition
Available layers
List of project layers available to include in the new layer.
Selected layers
List of layers selected to be included in the new layer. You can define the display order of the project layers that make up the new layer. All selected layers will be drawn together in the images produced by JMap Server.
Map thumbnail
Choose
When the layer is a Base Map, you can select an image to represent it as a thumbnail in the application. The image to be uploaded must have a size of 100x100 pixels, otherwise it will be modified to reach this size. If you do not select an image, the thumbnail will display a default image.
1
Use these tools to redefine the initial and maximum extents, as needed. By default, the project’s extent values are used. Limiting the maximum extent of the map can greatly reduce the size of the cached data for this type of application. The maximum extent is represented by the solid line. The initial extent is represented by the dotted line.
2
Zoom to… The Zoom to… function allows you to find data on the map. In some cases, the extents known by JMap can be incorrect, and the map displayed by default can seem empty. In order to help you locate the data correctly, this tool allows you to zoom in on the extent of a specific layer or on the extent of the entire project. Once the data has been located, you can reset valid initial and maximum extents.
3
Maximum scale This setting allows you to redefine the maximum scale of the map to limit the user’s ability to enlarge the map. By default, the maximum scale defined in the project configuration is used but another scale can be specified. Specifying a smaller maximum scale allows you to considerably reduce the size of cached data for this type of application.
4
Level/Scale Displays the list of zoom levels and scales that will be used by the application. The levels are determined by the maximum scale and maximum extent. Allow additional levels This option allows JMap Web, in certain situations, to display the map at larger scales (closer zoom) than those normally used. The largest scale normally used is approximately 1:1000. If the maximum scale defined previously is larger than 1:1000 (e.g. 1:500), you must select this option to allow JMap to zoom closer. Most base maps (Google Maps, Bing Maps, OpenStreetMap, Mapbox) cannot display well at scales larger than 1:1000.
5
Maximum extent The maximum extent settings are displayed below the map (X, Y coordinates of lower left point, width, height, in the coordinate system of the project). You can also enter the values directly in the respective fields.
Permissions |
|
Administrate extension | Allows an administrator to access the extension’s configuration sections and modify the settings. |
Parameters |
|
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. |
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
Form component settings
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.
Form components
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 Kathmandu, 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.
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.
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.
Types of layers
JMap dynamic layer
JMap dynamic layer (entire project)
JMap static layer
Google Maps
Add a base layer that displays the Google Map. In order for this layer to display correctly with the other layers, the projection of the JMap project must be identical to the projection used by Google Maps, i.e. WGS84 / Pseudo-Mercator (EPSG:3857). You can choose the types of maps (Roadmap, Terrain, Satellite, Hybrid, etc.) that you wish to add. Important: In order for this layer to appear, you must enter a Google Maps API key in your configuration. In the layer configuration interface, the existing key is displayed, but you cannot edit it in the interface. Refer to the JMap Server Settings section for information on how to enter or edit a Google Maps API key. You must make sure you use this option in accordance with Google’s license agreement.
Bing Maps
Add a base layer that will display the Bing Map. In order for this layer to display correctly with the other layers, the projection of the JMap project must be identical to the projection used by Bing Maps, i.e WGS84 / Pseudo-Mercator (EPSG:3857). You can choose the types of maps (Road, Aerial, Aerial With Labels, etc.) that you wish to add. Important: In order for this layer to appear, you must enter a Bing Maps API key in your configuration. In the layer configuration interface, the existing key is displayed, but you cannot edit it in the interface. Refer to the JMap Server Settings section for information on how to enter or edit a Bing Maps API key.You must make sure you use this option in accordance with Microsoft’s license agreement.
OpenStreetMap
Add a base layer that will display the OpenStreetMap map. In order for this layer to display correctly with the other layers, the projection of the JMap project must be identical to the projection used by OpenStreetMap, i.e. WGS84 / Pseudo-Mercator (EPSG:3857). Important: You must make sure you use this option in accordance with OpenStreetMap’s license agreement.
Mapbox
Add a base layer that will display the Mapbox map. In order for this layer to display correctly with the other layers, the projection of the JMap project must be identical to the projection used by Mapbox, i.e. WGS84 / Pseudo-Mercator (EPSG:3857). Important: You must make sure you use this option in accordance with Mapbox’s license agreement.
GeoWebCache
Create a static JMap layer by reusing an existing tile cache that is available in GeoWebCache. For more information, refer to the Using a GeoWebCache Server section.
WMTS layer
Add a layer from a server that is compatible with WMTS (version 1.0.0). You must give the layer a name, indicate if you want the layer to be visible when the application opens, and also indicate if you want it to be listed in the Layers menu.
You can use one of the project’s existing layers or directly connect to an external source to obtain the data.
If using the latter option, you must provide the GetCapabilities URL that will return the capabilities of the WMTS server.
The URL should be similar to the following: http://www.server.com/wmts?SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetCapabilities For example: https://basemap.nationalmap.gov/arcgis/rest/services/USGSHydroCached/MapServer/WMTS/1.0.0/WMTSCapabilities.xml Afterwards, you must select the layer to add to the JMap Web application. Only layers who have the same projection as the project are selectable.
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.
Producing vector tiles with JMap
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.
WFS and WMS services consume JMap Web type sessions. Your license must contain JMap Web sessions if you want to deploy WFS or WMS services. The section contains more details about sessions.
Web Map Service (WMS) is a standard set forth by the that defines how client applications can obtain map images from a server that is compatible with the standard.
JMap Server can act as a WMS server. If you implement a WMS web service, other applications can query JMap Server via the WMS protocol for the selected project.
Once the service has been deployed, you can click on Launch to display a web page containing 2 hyperlinks: the first one is the getCapabilities request you must provide to the applications that wish to query JMap’s WMS service. The second one is an example of a getMap request that allows you to obtain a map image.
Web Feature Service (WFS) is a standard presented by the that defines how client applications can obtain vector data and its attributes (GML format) from a server that is compatible with WFS.
JMap Server can act as a WFS server. If you implement a WFS web service, other applications can query JMap Server via the WFS protocol for the selected project.
Once the service has been deployed, you can click on Launch to display a web page containing a hyperlink towards the getCapabilities request you must provide to the applications that wish to query JMap’s WFS service.
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 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.
Dynamic layers can be tiled or not tiled, but they are always generated on demand and they cannot be cached. They are a good option for data that changes often or that requires more interactivity. The user can control the visibility of each layer composing the dynamic layer. Users can also display thematics and their legends, edit data, make selections, etc. A dynamic layer offers a high level of interactivity with the layers it is comprised of.
Dynamic layers for the entire project are a special type of dynamic layer that presents the layers of the project with their organization (hierarchy of groups and layers). They are a quick way to deploy an application that accurately represents a JMap project. However, since they are always dynamic and can be comprised of many layers, their performance isn’t optimal when there are many users. A dynamic layer for the entire project shows the layer structure as it is defined in the project. It offers a high level of interactivity with all of the layers.
Static layers are always tiled and often cached. They are a good option for data that does not change often. They can be base layers or non-base layers. They are less interactive than dynamic layers. Users can see a static layer’s composition (unless it is a base layer) but they will not be able to control the visibility of each one, nor can they request the display of thematics or edit data. However, it is possible to display mouseover bubbles and make selections on the layers that make up a static layer. JMap static layers can be used as base layers.
Application options |
|
Project | Select the JMap project that will be accessible via the WMS service. |
Controlled access | Select this option if the WMS service must be secured through HTTP authentication. The selected project must allow anonymous access if this option is not selected. |
Application options |
|
Project | Select the JMap project that will be accessible via the WFS service. |
Controlled access | Select this option if the WFS service must be secured through HTTP authentication. The selected project must allow anonymous access if this option is not selected. |