Location Intelligence Module

Vector tile support

Spectrum Spatial now supports the Mapbox vector tile (MVT) v2.1 format for tile generation and rendering. The MVT format can be used as an alternative to or in addition to raster image formats (PNG, GIF, JPG/JPEG), in the Map Tiling Service and the Web Map Tile Service (WMTS). The tile builder utilities for both tiling services support the MVT format as output using the new format parameter. The format parameter has replaced the image parameter; however, for older installations the image format will still work.

Vector tiles have several advantages over raster tiles:

  • They can render faster.

  • They can be smaller than an equivalent image tile.
  • They allow you to apply different styles in the client application without needing to generate multiple tile sets for each style on the server.

A vector tile (the MVT payload) contains at least one layer. It can include feature layers and group layers (pie, bar, line linkage, line chart, graduated symbol layers, and label layers are not supported in this release). The ability to configure named tiles to use the MVT format has been added to Spatial Manager. In addition, you now have the ability to use a named table or named layer as a reference resource instead of a named map when you create or modify named tiles in Spatial Manager.

All sample named tiles in the repository have been updated to include the vector tile format. A JavaScript example for vector tiles served by WMTS is also available in the JavaScript Examples application (from the Spectrum Spatial section of the Welcome Page, click the View Examples link located under the JavaScript API tab).

For more information, see the "Vector Tiles" topic in the Development section of the Spectrum Spatial Guide.

Spatial aggregation support

Large data visual analysis is now supported for SQL Server point tables. You can perform this analysis on both XY columns (where longitude and latitude and or XY values are stored as separate scalar values) and geometry columns (where point geometries are stored using SQL Server types Geometry or Geography).

Spectrum Spatial supports spatial aggregation (also known as spatial clustering) using a geohash ID to make tables scale-aware, allowing for better visualization of large amounts of data. For example, you can aggregate sum of sales or number of points that you want to represent in a map.

Tables that are scale-aware allow clustering of multiple point geometries into a single point within a grid. The MI SQL query language supports scale when a SearchBySQL REST query has aggregation functions. This includes the new MI_AggregateCentroid function that returns the centroid of the minimum bounding rectangle (MBR) of an aggregated set of geometry objects.

As the clustered point data is accessed by the client as vector data (in GeoJSON format), the client application can apply various styles to the data (including graduated symbols and different color ranges) and can also present the data as client-side heat maps.

For detailed information on geohash IDs and how to make tables scale-aware, see the "Support for Spatial Aggregation" topic in the Resources and Data section of the Spectrum Spatial Guide.

Write TAB support

Spectrum Spatial now supports write access to MapInfo TAB (native) and native extended TAB (NativeX) files in Windows operating systems. Using the Write Spatial Data stage and the Feature Service insert, update, and delete operations, you can now write records to native TAB files within certain limits.

Note: Reading from a TAB file using the Read Spatial Data or Query Spatial Data stage and performing an update or delete on the same TAB file using the Write Spatial Data stage in the same flow is not recommended, because in some cases it creates a deadlock situation. This will work only if the commit interval is greater than the number of records reading from the same TAB.

A new sample named table has been added (WorldModifiableNamedTable) that is set to be writable; all the remaining sample named tables have been set to read-only. A setting has also been added to Spatial Manager that allows you to enable the read-only attribute for qualifying TAB files (native and NativeX in Windows 64-bit) when creating and editing named tables. This does not take into account, however, whether the TAB file metadata has a read-only flag or is read-only on the file system.

For the REST insert operations, there is also a new response field (SuccessfulInserts) for native TAB files that indicates the number of successful rows inserted for the Insert request. This is different than the Insert response for other data providers where primary keys are returned. The commit interval will be ignored for insert, update, and delete operations on native TAB files.

For more detailed information about support for write operations with native TAB files, see the "MapInfo Native TAB" topic in the Resources and Data section of the Spectrum Spatial Guide, under the Data Access heading.

Performance and memory enhancements

  • A PGD index file is a supplemental file to the TAB file set that improves distance calculation performance. PGD index files can make performance for native, native extended (NativeX), and seamless TABs comparable to that of GSB files. A PGD file is helpful when the data you are searching is based on lines and regions and you are using:
    • the Point in Polygon stage, when you are including distance
    • the Find Nearest stage, when input is a point (whether or not you are including distance)
    • SearchNearest operations in the Feature Service, with an input point and a line or polygon search table
    A new command-line utility, PGD Builder, has been added that generates this specialized index file. This utility can be downloaded from the Spectrum Spatial section of the Welcome Page, under PGD Builder on the Utilities tab. A link to the documentation for PGD Builder is also available on the Welcome Page next to the download link for the utility.
  • A validator has been added to the connection pooling properties that will allow delegating the isValid method to the database driver. For more information, see the Administration section of the Spectrum Spatial Guide.
  • The geometry operations are completely on the Spectrum side of the service; they are no longer part of the remote component.

Location Intelligence Stage enhancements

The Location Intelligence Module stages in Enterprise Designer have been updated to improve usability.

  • The output field types in several Spatial Calculator operations (Area, Distance, Distance to Edge, Envelope Coordinates, Get Centroid, and Intersection) have changed from string to numeric (double). This allows them to now be compared to when used in other stages like Query Spatial Data, where the types are also numeric. Instances of these operations in previous versions will still work.
  • The input field types in Create Point Geometry (Longitude and Latitude) have changed from string to numeric (double). Instances of this stage in previous versions will still work.
  • The same grid to display output that was added to the redesigned Find Nearest and Point in Polygon stages in version 12.0 has been added to the Query Spatial Data, Read Spatial Data, and Write Spatial Data stages. The new "Include" and "Output Field Name" columns, which are available on both the Query Spatial Data and Read Spatial Data stages, allow you to easily select rows and edit output field names instead of entering them in a SELECT clause in the MISQL field (where double-quotes were required for Centrus database table names). This grid is a simple way for to include, exclude, and rename output fields.

GeoJSON support for WMS

GeoJSON is now a supported format for a WMS GetFeatureInfo response. A value of application/json can now be specified for the INFO_FORMAT input parameter in either supported version of WMS (1.1.1 or 1.3).

Third-party cache support for WMTS

In addition to the default file-based tile cache, WMTS now supports third-party cache implementations that are compliant with the JCache (JSR-107) specification. Apache JCS2.1, for example, can be used to put the cached tiles into a single disk file or even in a database (see the JCS2.1 document for more details). To use a JCache implementation, specify the provider class in the Cache section in WMTS service configuration. All required jars (third-party cache implementation and dependencies) must be placed in Spectrum\server\modules\spatial\lib in order for Location Intelligence Module to find the classes. See the Spectrum Spatial Guide for more detailed information.

New NoSQL data provider

A new data provider has been added for this release. The NoSQL Data Provider is a lightweight data provider implementation, based on the Extensible Data Provider public API, for querying custom data in a NoSQL database. It provides a basic framework that allows users to easily extend to access data in NoSQL for Big Data use cases even without SQL support, such as a Neo4j graph database.

This NoSQL Data Provider delegates the database-specific portions to an ITableHandler class that must be implemented by a user. The ITableHandler class creates the table metadata information, using a database-specific client (JDBC or otherwise) to conduct the query. It can also manipulate the results before returning them if needed. See the CSVTableHandler.java in the NoSQL Data Provider Bundle for an example of a table handler that can access point geometries in a CSV file. This bundle can be downloaded from the Spectrum Spatial section of the Welcome Page, under Sample Applications. API documentation is also included in this download.

New MapInfo SQL functions

The MI_GeoHash function has been added to the MapInfo SQL language. This geometry function returns a geohash index for a given geometry at a given precision.

The MI_AggregateCentroid function has also been added. This function returns the centroid of the minimum bounding rectangle (MBR) of an aggregated set of geometry objects.

Map Uploader enhancements

  • Labels are now rendered when applying a Bar or Pie theme using the Map Uploader tool.
  • The Map Uploader tool alerts users when a data source already has a named table associated with it and populates all of the input fields accordingly, preventing duplicate resources from being created.

Changes to database support

Support has been added for SQL Server 2016 and discontinued for SQL Server 2008.