Built-in coordinate system data include EPSG data up to EPSG 9.8.2 (previous data was up to EPSG 8.9). This adds about 1000 systems and transforms, deprecates a number of previous systems, etc.
New coordinate system type: Equal Earth. Built-in coordinate system data include EPSG systems based on Equal Earth.
New coordinate transform type: NADCON. Built-in coordinate system data include EPSG transforms based on NADCON. NADCON transforms use grid files, usually named XXX.LAS and XXX.LOS. Using a NADCON transform searches for these files in the Manifold folders (~\SHARED, etc). If one or both of the required files is not found or otherwise cannot be loaded (no permissions to read, corrupted data, or something similar), the transform logs the name of the file that failed to load and returns NULL values for the coordinates.
New coordinate transform type: NTv2. Built-in coordinate system data include EPSG transforms based on NTv2. NTv2 transforms use a single grid file, usually named XXX.GSB. If the file fails to load, the transform logs the name of the file and returns NULL values for the coordinates.
The Coordinate Base dialog allows setting the default transform from the edited base lat/lon system to WGS84 to NADCON or NTv2, and specifying the names of grid files to use. Browsing for a grid file allows picking a file outside of the Manifold folders, however, the transform will only use the name of the file and will always try to load the file only from the Manifold folders (otherwise the definition of the coordinate system is going to be tied to the machine).
Parsing coordinate systems supports WKT2. Printing coordinate systems supports WKT2 through the new CoordSystemWkt2 query function.
Coordinate system conversions support prime meridians. The Coordinate Base dialog shows prime meridians for base lat/lon systems and allows editing them for custom base lat/lon systems. (This was a long-standing omission. No more.)
Loading built-in coordinate system data looks for deprecated transforms and never uses them as default transforms to WGS84. (Deprecated transforms come from EPSG. Transforms are normally deprecated either because previously submitted data for a transform was incorrect, or because there is a newer transform which is better than the old one for some reason. In the latter case the deprecated transform is mostly fine, however because a lot of deprecated transforms fall into the former case, we just never use a deprecated transform as the default.)
Converting coordinates between coordinate systems better optimizes scales and shifts, reducing errors.
Coordinate transforms that use grid files can load grid files from a compressed GRIDS.DAT file. The GRIDS.DAT file has to be at the top of ~\SHARED folder (that is, it has to be at ...\SHARED\GRIDS.DAT, similarly to how ICUDTL.DAT has to be at ...\SHARED\ICUDTL.DAT or it won't load). The file contains 170+ grids referenced by EPSG: traditional NADCON, HARN NADCON, NTv2 grids for Australia, Austria, Brazil, Canada, France, Germany, Ireland, Japan, Netherlands, New Zealand, Portugal, Spain, Switzerland and the UK.
http://www.manifoldsoftwarelimited.mobi/downloads/grids.dat (233 MB)
Grid files loaded by coordinate transforms are cached. The cache is limited by 16 MB in 32-bit and unlimited in 64-bit.
Changing the coordinate system of a component displays available transform paths and allows picking a specific transform to use. For each transform path, the dialog displays the name of the transform, the names of referenced grid files if the transform uses grid files, and the reported accuracy if it is available. Deprecated transforms are shown with distinctive icons. (Transform paths are available when converting between EPSG systems. Several conversions with multiple transform path, any direction: EPSG:4312 <-> EPSG:4258, EPSG:4204 <-> EPSG:4326, EPSG:4267 <-> EPSG:4269.)
Built-in coordinate system data has been optimized to load faster. Legacy coordinate system data used in Manifold 8 superceded by GRIDS.DAT has been removed, reducing the size of installation packages noticeably.
New query functions:
- CoordSystemMatchEpsg - takes a coordinate system definition and returns an EPSG code corresponding to it. The EPSG code is taken from the name, the definition of the referenced EPSG system is then checked against coordinate system parameters sans local scales and offsets.
- CoordSystemMatchEpsgBase - takes a coordinate system definition and returns an EPSG code corresponding to its base lat/lon coordinate system. The EPSG code is taken from the name of the base, the definition of the referenced EPSG system is then checked against datum parameters.
- CoordTransformChoices - takes a pair of coordinate systems and returns a table of transforms that can be used to convert coordinates between them.
- CoordConverterMakePath - takes a pair of coordinate system and a conversion path hint, and returns the coordinate converter object that can be used to convert coordinates between the systems. The conversion path hint can be either 'EPSG:xxx' with the EPSG code of the transform to use in path, or 'GRID:xxx' with the name of the grid file of the transform to use in path. (For a list of transforms that could be used to convert coordinates between the specified systems, use CoordTransformChoices.)
New transform templates:
- Viewshed Area, Visible from All - takes an image, a drawing with observers, visibility parameters and computes an area visible from all observers.
- Viewshed Area, Visible from Any - as above, but computes an area visible from any observer.
- Viewshed Image, Visibility of All - takes an image, a drawing with observers, visibility parameters and computes an image with a visibility index from all observers (a positive value if a pixel is visible, a negative value if it is not, the magnitude of the value conveys how visible or invisible the pixel is).
- Viewshed Image, Visibility of Any - as above, but computes an image with a visibility index from any observer.
- Viewshed Image, Visible Count - as above, but computes an image with the number of visible observers for each pixel.
Connecting to SQL Server supports the old SQL Server driver named SQLOLEDB. This allows working with SQL Server on systems which do not have the newer driver from SQL Server native client: SQLNCLI10 / SQLNCLI11.
Connecting to SQL Server supports the newest SQL Server driver named MSOLEDBSQL. This driver appeared fairly recently as a result of Microsoft un-deprecating OLE DB, and is recommended for all modern uses of SQL Server. The current latest version of the driver is available from:
(Fix) Connecting to SQL Server via ADO .NET no longer sometimes fails due to connection string version unsupported by the driver.
The Edit Schema dialog only allows creating indexes on computed fields in MAP files, not on other data sources.
The main menu and context menus allow using access keys (Alt-F-O for File - Open, etc). The names of all commands have been altered to specify access keys. If a menu includes multiple commands with the same access key, pressing it cycles between these commands without invoking them. Access keys for commands with plain key shortcuts without any modifiers (eg, M = Move Coordinates) coincide with those shortcuts.
The main menu and context menus honor the global system setting for showing access keys: only show access keys if the menu was activated using the keyboard and hide access keys if the menu was activated using the cursor (the default) or always show access keys.
Metes and bounds data in the Record pane are processed with higher tolerance for angles, to avoid turning tangent curves to non-tangent prematurely.
(Fix) Reading GDB data no longer sometimes produces NULL geoms. Exporting GDB no longer sometimes fails. (We had multiple regressions in this dataport, we think we have them all fixed.)
(Fix) Importing GDB with a table that contains multi-patch geometry no longer fails to import that table and stops the import.
End of list.