Release 9 for Fast GIS

Release 9


How to Buy


Contact


Manifold Users

  • Defense
  • Intelligence
  • Health and Human Services
  • Federal, State and Local
  • Communities
  • Facilities Management
  • Land Administration
  • Taxation
  • Public Works
  • AEC
  • Economic Development
  • Elections and Redistricting
  • Urban Planning
  • Homeland/National Security
  • Disaster Management
  • Fire and Emergency Services
  • Law Enforcement
  • Oil and Gas
  • Forestry
  • Mining
  • Insurance
  • Health and Medical
  • Retail
  • Agriculture
  • Computational Finance
  • Manufacturing
  • Transportation
  • Real Estate
  • Banking
  • Marketing
  • Media / Entertainment
  • Supply Chain
  • Autonomous Vehicles
  • Drones
  • Electric
  • Gas
  • Pipeline
  • Telecommunications
  • Internet
  • Ride Sharing
  • Water Utilities
  • Airports & Aviation
  • Traffic Analytics
  • Highways
  • Railways
  • Ports & Maritime
  • Public Transport

What's New

News + New Features in the Latest Build

Even Better than Before

News from Manifold - Every week or two the latest Manifold® product builds add lots of new features. This page presents highlights from the latest builds. See the What's New User Manual topic for a complete list of new features. New builds are free updates.


North Arrows · Scale Bars · Grids

09 September 2022: Cutting Edge Build 178.2 introduces virtual layers that provide North arrows, scale bars, and grids in maps. Add a North arrow, scale bar, or lat/lon grid to a map with a single click. Choose North arrows from a collection of familiar symbols. Super!

north_arrow.png

Virtual Layers

  • Automatically available layers - The Layers pane for a map window shows virtual layers for a north arrow, scale bar and grid. Virtual layers can be turned on and off. Double-clicking a virtual layer edits its parameters using a dialog.
  • Choices are Remembered - Maps automatically remember all parameters and status of virtual layers, whether they are clicked on or off and choices made. That's saved in a project even between sessions.
  • Previews - Dialogs to configure North arrows, scale bars, and grids include a preview pane to instantly show how different choices look.

Illustration above: A portion of a map using Hotine projection to provide a rotated view. The map appears with a North arrow that uses the default Auto setting to point to North automatically. A simple style is used for the North arrow, with an "N" caption at the South position of the four NESW text caption options with the other options left blank. That puts the "N" caption at the base of the arrow, which is still instantly understood as the arrow pointing North. Varying a few simple options provides a wide range of effects.

North Arrows

Configure a North arrow by double-clicking the North Arrow virtual layer. The North Arrow dialog allows setting the following parameters:

  • Foreground color - Foreground and stroke color for shapes and text.
  • Background color - Fill color and the color for halos. Some north arrow shapes may use colors that are mixes of foreground and background colors.
  • Shapes gallery - Choose a North arrow shape from a gallery of popular shapes. Hovering the mouse over a shape will show the name of that shape in a tooltip.
  • Stroke - Stroke width for the shape.
  • Text - Check to show text (captions) near north arrow shapes for NESW directions.
  • NESW - Four boxes for text, such as "N" or "North" to use for each of the four directions. Some shapes can show captions in all four directions, some only two or one direction.
  • Text font - Font for text. Fully configurable for typeface, effects, bold, etc.
  • Text size - Font size for text.
  • Position - Horizontal and vertical position of the North arrow shape relative to the map.
  • Margins - Horizontal and vertical margins between the North arrow shape and the map's edges.
  • Size - Size of North arrow shape.
  • Halo - Width of background color halo for shape and text. Setting Halo to 0 turns off the halo.
  • Bearing - The direction of the North arrow, if the Auto box is not checked. Default is 0 for North up.
  • Auto - When checked (the default), compute the North arrow's bearing automatically. Bearings are first computed using the center of the north arrow shape, and then, if that fails because the north arrow is outside of the coordinate system domain, based on the center of the map.
virtual_layers.png

Scale Bars

Configure a scale bar by double-clicking the Scale Bar virtual layer.  The Scale Bar dialog allows setting the following parameters:

  • Foreground color - Foreground and stroke color for shapes and text.
  • Background color - Fill color.
  • Shapes gallery - Choose a scale bar shape from a gallery of popular shapes. Hovering the mouse over a shape will show the name of that shape in a tooltip.
  • Stroke - Stroke width for the shape.
  • Text - Check to show text (a caption) with the number of units.
  • Text font - Font for text. Fully configurable for typeface, effects, bold, etc.
  • Text size - Font size for text.
  • Position - Horizontal and vertical position of the scale bar shape relative to the map.
  • Margins - Horizontal and vertical margins between the scale bar shape and the map's edges.
  • Size - Approximate desired size of the scale bar shape in horizontal and vertical dimensions. The actual size is computed based on the units and current scale.
  • Halo - Width of background color halo for shape and text. Setting Halo to 0 turns off the halo.
  • Unit - Unit of measure shown in the text caption.
  • Use latitude / longitude - Check to create a latitude / longitude grid.
  • Automatic computation of scale bar length - The length of the scale bar is computed automatically based on the specified size, unit and the current scale. The width of the scale bar is slightly reduced so that the reported length is rounded to no more than two significant digits.

Illustration above: A map using Lambert Conformal Conic projection appears with a North arrow, a scale bar, and a latitude / longitude grid. Simple styles are used for the North arrow and scale bar shapes, with kilometers being the units of measure for the scale bar. The grid uses a very thin stroke for a more subtle effect. The North arrow uses an "N" caption at the North position of the four NESW text caption options with the other options left blank. The North arrow uses the default Auto setting to point to North automatically no matter where the North arrow is positioned in the map.

Grids

Configure a grid by double-clicking the Grid virtual layer.  The Grid dialog allows setting the following parameters:

  • Foreground color - Foreground and stroke color for grid styles.
  • Background color - Fill color.
  • Styles Gallery - Choose a grid style from the gallery. Hovering the mouse over a style will show the name of that shape in a tooltip.
  • Dashes - Dash pattern for lines, using the same conventions as the Dashes parameter for line styles.
  • Stroke - Stroke width for line and point styles.
  • Point size - Size for point styles.
  • Halo - Width in points of halo for line and point styles. Setting Halo to 0 turns off the halo.
  • Spacing - Minimum size of a grid cell. The actual size is computed based on the scale of the map and the units used (either native map units or latitude / longitude).
  • Use latitude / longitude - Check to create a latitude / longitude grid.
  • Automatic computation of grid step - The grid step is selected automatically based on the specified spacing and the current scale. The grid step in the units used (either the projection of the map or latitude / longitude) is rounded up to the closest power of 10 multiplied by 1, 2 or 5, resulting in grid steps such as 100, 200, 500, 1000, and so on.

New Video

First Look - North Arrows: A fast, short video providing a first look at North arrows, a new capability in Release 9. See how easy it is to add a North arrow with a single click in the Layers pane. Double-click the North arrow layer in the Layers pane to configure North arrow options like the style, colors, text and more.

North arrows in Manifold automatically adjust bearing to point North when the projection / coordinate system changes, using a sophisticated algorithm to set the bearing for wherever the North arrow has been placed in the map. No need to manually set the bearing of the North arrow. Works in the free Manifold Viewer, too!


Conveniences · Copy / Paste Interoperability

17 August 2022: Cutting Edge Build 178.1 provides a variety of user interface conveniences, including the ability to Copy from tables and to Paste into third-party applications like Excel and Notepad.

Features

  • Launch Command Lines - There is a new style for text fields: c = command line. The table window and the Info pane show command line text values in blue highlight color and allow running them using the context menu. This allows putting Windows command lines into a field, which can then be executed by right-clicking a cell and choosing Run Command.
  • Retain Filters and Sort Order - Refreshing data in a table window either manually or automatically, for example, after deleting records or changing the table schema, keeps filters and orders for fields that did not change.
  • Easy to Find Fields - Table windows now sort fields by name in the View - Order submenu.
  • Deletion Marks on External Tables - Table windows showing records for a table from a data source other than MAP mark records that have been deleted in that window as deleted. Previously, deleting records from such a table only suggested refreshing data using the bar at the bottom of the window. Now the window also shows records that it tried to delete.
  • Selected Records Count Always in View - The status bar includes a new Counts pane (a section in the status bar) that shows the total number of records and the number of selected records in the active component. This shows the number of selected records at all times without needing to switch to the Info pane.
  • Refreshing the Count - The record counts shown in the Counts status bar pane can be refreshed by right-clicking the section and choosing Refresh in the context menu. That is useful when working with data sources that are stored outside the .map project where the record count might change independently of any work done in the Manifold session.
  • Layouts also Count - The Info pane and the Counts status bar pane show the total number of frames and the number of selected frames for a layout.
  • Copy / Paste Interoperability - Copying records from a table window now copies them to the Windows clipboard in both binary format suitable for pasting back into Manifold and in text format suitable for pasting into third-party applications like Excel or Notepad. Copy records by selecting the desired records and then choosing the Edit-Copy menu command. Copying records in text format copies only visible fields. It copies fields in the order they appear in the table window, and formats field values according to field styles. The visible order of records is not preserved. The amount of copied text data is limited to 32 million characters because many third-party applications can only handle limited amounts of text coming from the clipboard. If there are more records than fit into the limit, extra records past the limit do not appear in text data and only appear in binary data (for pasting into Manifold).
  • Copy Columns - The context menu on column heads (right-click on a column head) now includes a Copy command which copies field values in that column from selected records to the clipboard. Copying field values copies them in text format only. The copied values are formatted according to the field style. Empty values are omitted.

Scales and Rendering · Line Label Options

10 August 2022: Base Build 178 incorporates all improvements in the 9.0.177.x series of builds. It also adds a new system for specifying zoom ranges in maps and for rendering to a fixed scale. New capabilities for line labels have been added as well. This is the first Base build that drops support for 32-versions.

Scales dialog

Scales and Rendering

  • New Min / Max Scale Readout - A new, single cell Min / Max Scale mode readout in the Layers pane replaces the former Closest (Min) Scale and Farthest (Max) Scale modes for map layers.    The new Min / Max Scale mode readout shows both scale settings together, to make it easier to compare zoom scales between different layers.   
  • New Scales Dialog - Editing zoom scales is now done using a new Scales dialog:  double-click into a Min / Max Scale cell in the Layers pane to launch the dialog.   The dialog shows the current scale for reference and allows setting the closes, minimum scale, the farthest, maximum scale, and also a new Render scale value.  The dialog allows direct entry of any scale value and also provides a pull-down list that includes even scale values in factors of ten (1, 10, 100, 1000, 10000, etc.)  as well as uneven scales used as limits in other layers.  That makes it easy to match scales used in other layers.
  • Easy to Match Scales - Applying scale limits to a layer keeps the layer visible at a zoom scale exactly equal to the closest scale, but hides it at a zoom scale exactly equal to the farthest scale. This allows showing exactly one layer out of a sequence of layers with matching scale boundaries, for example, +10k, 10k-50k, 50k+.
  • Render Scale - The Layers pane using the Scales dialog allows specifying a Render scale value for map layers that show vector data (drawings and labels).   Render scale is applied during rendering in windows and during printing.   When a render scale value is specified for a layer, the vector objects and labels in that layer are rendered as if the scale were fixed at that value, so zooming in will make the labels and objects bigger, while zooming out will make them smaller.
  • Autohide for Render Scale - Rendering labels and objects with render scale will not render anything if the specified render scale is too small (10 times smaller than the current scale) or too big (100 times bigger than the current scale).
  • True Scale in Layouts - Layout windows render drawings and labels at true scale:  zooming in and out will change the visual size of drawing objects and labels. Label placement algorithms may still produce slightly different results on screen vs. on page, or for different zooms on screen, due to different tolerances.
  • Left Aligned Columns - Layers pane readouts for opacity,  min / max scale,, and field width have been aligned left.   
  • Wider Color Picker - The color picker sample box for the virtual background layer in the Layers pane has been made wider to be similar to color pickers in the Style pane.

Line Labels

  • Above or Below - Editing a text style for Labels allows specifying whether the system should prefer placing labels following a line with left / right offset above or below the line. The default is above.
  • Smooth Tolerance - Editing a text style for Labels allows specifying a smooth tolerance factor to be applied to a line for labels following lines. The default is 50% of the font height.
An animation showing render scale setting in action

Illustration: The new Render scale setting for a vector or label layer sets a fixed scale at which the layer is rendered, so zooming in causes vector features and labels to get larger while zooming out makes them smaller.

New Video

5 Minute Tutorial - Min Max Scales for Layers: A quick look at the new system for setting scale limits for layers in Manifold System Release 9. The new system is more convenient than before because now you can set both minimum and maximum scale in the same dialog. Scale boxes also feature a new drop-down menu that includes all other scales that have been set, to make it really easy to pick a scale used by a different layer to coordinate when layers turn off and on. Works in the free Manifold Viewer, too!


New Features for Labels · Commander Exports

01 August 2022: Cutting Edge Build 177.4 provides many controls for line labels and label overlap spacing. It also adds an export control to Manifold Commander. Super!

Labels

  • Control How Many Labels Appear - Editing a text style allows specifying how many labels to place onto a line:
    • one per branch - (default) The system will try to place a single label for each visible branch of each record. This applies to visible branches, that is, the visible parts of branches, not physical branches. For example, if a physical branch goes off screen and then returns back on screen, it will produce multiple visible parts and the system will try to put a label onto each such part.
    • one per record - The system will try to place a single label for each record.
    • repeat - the system will try to place as many labels as will fit into each visible branch of each record given the specified spacing between labels on the same branch. Spacing can be specified either in absolute units, for example, 40, meaning 40 points, or in relative units for example, 800%, the default, meaning 8 times the font size.
    Label following a line
  • Control How Labels are Aligned to Lines - Editing a text style allows specifying how to place labels onto a line:
    • curve - (default) Bend label text to follow the shape of the line.
    • straight - Place labels without any bends in the direction of the line in the region of the center of the text.
    • straight horizontal - Place labels without any bends. aligned horizontally.
    • straight perpendicular - Place labels without any bends aligned perpendicular to the direction of the line in the region of the center of the text.
  • Smoother Line Labels - Placing labels onto lines preprocesses the line metric to make it smoother.
  • Visually Centered - Placing labels onto lines in one per branch or one per record modes prefers positions near the visual center of the line.
  • Accurate Overlaps - Placing labels onto lines produces a tighter and more accurate overlap shape. This improves the accuracy of clicking into labels. This also allows showing more labels in that labels that are close to each other start conflicting later than they did with less accurate overlap shapes.
  • Overlap Spacing - Editing a text style allows specifying overlap spacing, which controls how close individual labels can be to each other. The default is 1 pt.
  • Bend Spacing - Editing a text style allows specifying bend spacing to apply to labels following lines. With bend spacing, placing text onto a line adds small amounts of space between individual letters at each bend to improve readability. The amount of added space depends on the bend angle: sharper turns get more space. Bend spacing defines the maximum amount of space to add to a single bend. The default is 50%, adding up to half of the font size at each bend.

Manifold Commander and More

  • Easy Exports - A new -export:xxx command for Commander makes it easy to export files from any project. The command exports the specified component in the input file to the output file. The specified component can be in a nested data source. When using this command the input file is always opened in read-only mode and the value of the -open:xxx option is ignored. For example:

    • manifoldcmd "c:\world.map" -export:"Main Map" -out:"c:\world_map.gdb"
  • Layout Design in Your Language - Sample positions and shapes for layout frames have been localized, making it easy to use your language for layout design.
  • Unique MIFs - Reading MIF format allows duplicate field names and automatically renames duplicates to make all field names unique, thus automatically dealing with problems that can happen from encoding issues in MIF format files.

Manifold Commander

More for Commander · Labels · Dataports

26 July 2022: Cutting Edge Build 177.3 adds new capabilities to Manifold Commander, improves labels along lines, provides a vertical text alignment style in layouts, adds new dataports, and provides fixes.

Manifold Commander

  • External Scripts and Data - The -runscriptfile:xxx command for Commander works in the context of a data file. The command will open the specified data file and then run the script from the specified script file. That allows arbitrary scripting with arbitrary data files (any of the hundreds of formats Manifold knows) using Manifold as a processing engine.
  • External Queries - There is a new -runqueryfile:xxx command for Commander. The command is similar to -queryrun:xxx , but the text of the SQL query is taken from the specified file. That allows writing new queries to do workflow using SQL without opening Manifold interactively, including parametrized queries.
  • Command Line Queries - There is a new -runquerytext:xxx command for Commander. The command is similar to -queryrun:xxx, but the text of the query is taken directly from the command line.

Labels and Messages

  • Offsets for Line Labels - Editing a text style allows specifying an offset number for labels following lines. The default is 0 for placing a label for each visible branch directly on top of the line. If the offset is not 0, the system will try to place a label for each visible branch on each side of the line until it succeeds on one side or the other. For example, if the system first succeeds in placing a label on the left side of a particular branch, it will not try to place a label on the right side of that branch.
  • Vertical Alignment in Layouts - Editing a text style allows specifying the vertical alignment of the text. Vertical alignment is used when rendering text in layout frames.
  • Simpler Messages - Many progress messages have been simplified from mmm (xxx) format to mmm: xxx format for readability and consistency.

Dataports

  • Reduced GeoJSON size - Printing geometry to GeoJSON no longer prints optional bounding box data. This reduces output size, particularly for points. In the future, if there emerges a need to include bounding box data, an explicit option will be added to do so.
  • JSONL - There is a new dataport for JSONL files. JSONL files are line-delimited JSON, a simple format designed to be friendly to streaming data. A JSONL file contains a single table. Reading a JSONL file parses it dynamically. Each line must be 2 GB or less of text, but the file itself can be any size.
  • Exports to JSONL - There is a new option to export tables to JSONL files. Binary fields are ignored. The export tracks progress and can be canceled.
  • GEOJSONL - There is a new dataport for GEOJSONL files. GEOJSONL files are line-delimited JSON, similar to JSONL, but with GeoJSON data. A GEOJSONL file contains a single drawing. Reading a GEOJSONL file parses it dynamically. Each line must be 2 GB or less of text, but the file itself can be any size.
  • Exports to GEOJSONL - There is a new option to export drawings to GEOJSONL files. Binary fields except for the geometry field used by the drawing are ignored. Exported geometry is automatically converted to Latitude Longitude WGS84, curves are linearized, and areas are normalized to OGC rules. The export tracks progress and can be canceled.

32-bit Versions Deprecated · 2 Billion Record Table Displays

19 July 2022: Cutting Edge Build 177.2 is a historic build in that it drops support for 32-bit versions of Manifold projects. All Manifold products are now 64-bit and require 64-bit Windows operating systems.

Build 177.2 also expands the display viewport size in table windows to 2 billion records (wow!). That is way more than anybody can read through, but together with Manifold speed plus reasonable safety measures now built in, increasing the number of records that can be interactively displayed in a table window greatly expands the reach of interactive procedures to very large tables. Watch the new 10 Minute Tutorial - Very Big Table Windows video to see the interactive speed of Manifold even with larger tables.

Build 177.2 supports ArcGIS® Pro 3.x for SQL for ArcGIS® Pro, and also adds features to various dataports and provides bug fixes.

32-bit Versions Deprecated

  • Exclusively 64-bit - Release 8, Release 9, Manifold Viewer, and SQL for ArcGIS Pro no longer include 32-bit modules. Users who require 32-bit versions should use build 9.0.177 for Release 9 and build 8.0.33 for Release 8, which are base builds that include 32-bit modules and which never expire.
  • Simplified Install Folder - Manifold 9 products no longer use Bin or Bin64 folders. DLL and EXE modules are placed directly within the install folder. The Shared folder has been renamed to Extras.
  • Smaller Downloads - Dropping 32-bit versions from installation packages reduces download size. The Release 9 download, with thousands of features, is now under 31 MB and the Viewer download is under 30 MB.
  • Open SQL - SQL for ArcGIS Pro no longer includes an Open SQL 32-bit button. The Open SQL 64-bit button has been renamed to Open SQL.

Manifold was one of the first companies to ship 64-bit products. For over 20 years Manifold has maintained both 64-bit and 32-bit versions of all Manifold products.

Over time most, if not all, Manifold users naturally moved to 64-bit versions of products. At the same time, maintining obsolete 32-bit code has become a limiting factor for adding some new features. Some features have not been available in 32-bit mode due to lack of support from third parties.  For example, CUDA is 64-bit only, and ArcGIS Pro is 64-bit only as well.  Outdated versions of clients for databases at times must be used because they are the last available versions to support 32-bit mode.

In 2022, continuing to provide 32-bit versions is no longer worth the decreasing value of that compatibility.  Manifold is therefore going exclusively 64-bit from build 177.2 onward.  That will make it more efficient to add new features, and will remove limits on how new features must be designed.  That will make many things simpler for new users.  The first example of such a new feature is providing 2 billion record displays in table windows, which would have been limited by 32-bit restrictions.

2 Billion Records Displayed in Table Windows

  • 2 Billion Records - The maximum number of records that can be displayed in a table window is now 2 billion. Tables can contain more records, but only up to 2 billion can be displayed for interactive browsing in a table window.
  • Tables in Projects - Tables stored in Manifold's own internal database within .map project files always display all records in the table, up to 2 billion records.
  • Tables in External Data Sources - Tables stored in external data sources (not within the .map project) can either show all records in a table (up to 2 billion) or show a first sample of records. Showing a first sample of records instead of all records is useful when working with external data sources like SQL Server, PostgreSQL, or Oracle: not fetching all records immediately protects against wasting server resources and network traffic needlessly.
  • User Selectable Display Size - The Tools - Options dialog includes an Initial number of records to show (non-.map) option to specify the size of a first sample of records fetched for non-.map data sources. The available values are: auto (the default), all records, or a specific number of records. The auto value is currently set to 5000 records. The previous default was as high as 50000 records because it applied to tables in .map files as well. 5000 records is much friendlier to database servers. If 5000 records is too low for data sources in use, change the option to a higher value or to all in the Options dialog.
  • Dynamic Fetched Record Display - The Info pane shows the number of fetched records in the table window. If there are more records available, the Info pane also shows a (+) notation, with a button to fetch all records. Once a table window has been told to fetch all records for the displayed table, it will keep fetching all records for all further operations that refresh the table.
  • Action Bar - Table windows detect changes to displayed data from a non-.map data source and when needed show an action bar below the record list to allow single click refresh of data. Table windows with fewer than 64,000 records refresh on all changes automatically, while larger tables will show the action bar. That allows convenient interactive editing of drawings while their table windows are open without the table window (which might display up to 2 billion records) refreshing itself on every small change in the drawing.

SQL for ArcGIS® Pro

  • ArcGIS® Pro 3.0 Supported - SQL for ArcGIS Pro now supports ArcGIS 3.x. The install packages include two versions of the add-in: a version for ArcGIS 2.x in the ArcGis2 folder and a version for 3.x in the ArcGis3 folder. The EXE and MSI install packages detect the installed version of ArcGIS and register the corresponding version of the add-in.
  • Easy Executable Find - SQL for ArcGIS Pro tries to locate the add-in executable using a dialog if it cannot be found automatically. The location of the executable is then saved in an environment variable for future reference.

Data Sources and Dataports

  • Data Source Connection Attempts - Failed attempts to connect to a data source are recorded, with subsequent attempts to connect to the same data source being throttled. Errors for failed attempts to connect to a data source are logged with repeat errors omitted.
  • ECW and JPEG2000 Enhancements - ECW and JPEG2000 dataports track progress and can be canceled. Reads are aligned to tile boundaries for better performance. Internal buffer sizes are automatically adjusted when exporting very big images for better performance.
  • XYZ Enhancements - Miscellaneous improvements to the XYZ dataport provide conveniences and significantly faster performance: Reading XYZ files with a non-space delimiter allows whitespace both before and after the delimiter, reading integer values that do not fit into INT32 converts all values to FLOAT64, reading skips NaN values (shouldn't be there, but some software packages produce files with NaN values), the dataport tracks progress and can be canceled, files larger than 4GB are supported, protection against tiny drifts in XY values handles grids more reliably, and reading and writing performs significantly faster, 4-5 times faster with even more speed with big files.

New Video

10 Minute Tutorial - Very Big Table Windows: New in Manifold Release 9: Manifold now displays up to 2 billion records for interactive viewing in table windows, automatically displaying all records for tables stored in Manifold projects and allowing user choice of the display viewport from 5000 records to all records in the table for tables stored in data sources outside the project, like Oracle, SQL Server, PostgreSQL or other databases.

The video shows the speed of working with nearly 1.295 million records in a local Manifold table, and shows how to set options for choosing a display size for tables in external databases. Works in the free Manifold Viewer, too! Fast and easy!


Manifold Commander

Manifold Commander · Interactive Selection

11 July 2022: Cutting Edge Build 177.1 introduces in Universal and Server editions a new version of Manifold: Manifold Commander is a console application version of Manifold that provides the full range of Manifold query and scripting capabilities from a command line.

Build 177.1 also extends interactive selection capabilities, makes it easy to switch licenses, and provides bug fixes as well as improvements in the MapInfo MIF dataport.

Cut through complex GIS and DBMS tasks with ease
  • Your own Automated Factory - Commander provide an automated production line for accomplishing nearly any GIS, DBMS or ETL task. String together any of hundreds of functions using whatever logic you want in scripts, or take advantage of the higher level functionality you get with SQL that automates routine infrastructure for you. Manifold features like the Transform pane will automatically write SQL that accomplishes what you've set up using point and click templates. It's like being able to tell a factory full of robots what you want them to do.
  • Built into Universal and Server Editions - Manifold Release 9 Universal and Server licenses include Manifold Commander. Installing either Release 9 Universal or Release 9 Server automatically installs Manifold Commander. When you buy Release 9 Universal for $195 you automatically get Manifold Commander as well. There is no need to make any additional purchases to get Commander.
  • Simultaneous Use with Interactive Sessions - Universal and Server licenses allow simultaneous use of Manifold in an unlimited number of interactive sessions, even while an unlimited number of Manifold Commander sessions can be launched in background. Run automated tasks on the same computer at the same time as you continue to work interactively with Manifold.
  • Automation with SQL and Scripts - Commander allows running queries within a Manifold project or scripts either within the Manifold project or in external files. Commander allows launching commands to automatically do work without having to manually launch Manifold and operate it interactively.
  • Replace Costly and Slow ETL Tools - Commander is Manifold, so just like Manifold it runs fully parallel, with incredible parallel CPU and massively parallel GPU speed. Queries and scripts provide access to the full power of Manifold, enabling use of hundreds of Manifold functions and the full power of SQL and scripts to interact with data in databases or in any of hundreds of formats and data sources, to transform that data, do analyses, and save the transformed data or results or output to desired formats. Replace costly, non-parallel tools like FME at a fraction of the price.
  • Schedule Tasks - Using Windows Task Scheduler you can launch tasks using Commander on a regular schedule, such as updating a CSV every night for serving to clients, updating databases, or converting files into different formats.
  • Generate New Files - Commander can automatically write output to new files, with the type determined by the file extension. Create new .map project files, or write to formats like Esri file geodatabases or SQLite.

See the Manifold Commander user manual topic for details and illustrated, step by step examples.

New Features

  • Selection Readout - The Info pane now shows the number of selected records in a table window as well as for drawing layers in map windows. Super!
  • Refresh Streaming and Query Data - Working with streaming data, like queries filling in table windows from remote data sources, can lead to indeterminate number of records and selections. A new Refresh button automatically pops up when counts are unknown, to allow updates of record and selection count.
  • Faster Interactive Selection - Combining the results of a selection template with an existing selection performs faster.
  • Easy License Switches - Upgrading a license, downgrading a license, or just switching a serial number? The new Switch License button in the Help - About dialog makes it easy to change the serial number and license in use on a machine.

New Base Build: 9.0.177

2 July 2022: Build 177 is a Base build that's published as a Windows installer package as well as portable installations. Build 177 includes all new items and fixes from all Cutting Edge builds since the last Base build, build 176. It also includes enhancements since the prior Cutting Edge build, Build 176.7, as well as reconfiguration of Manifold Release 9 licenses as three new versions:

Manifold Release 9 Professional Edition

  • Includes all features and functions of the former Manifold 9.00 Universal license, except Manifold Server.
  • Manifold 9.00 Professional can connect to Manifold Server as a client and Professional can create project files for sharing by Server installations, but Professional edition does not include Manifold Server to serve data outbound.

Manifold Release 9 Universal Edition

  • Includes all features and functions of the former Manifold 9.00 Universal license, and also includes a limited version of Manifold Server.
  • Manifold Server in Universal edition is limited to one Server instance on a server machine, it must be launched from a Command Prompt window, and the Server instance is limited to 20 connections.
  • A Manifold 9.00 Universal license includes simultaneous interactive use of Manifold 9 on the server machine, which makes it easy to configure project files that are served.
  • Manifold 9.00 Universal is designed to support sharing files via Manifold Server in smaller workgroups, where each user will be running a Universal license that allows running a Server instance as well as an unlimited number of interactive sessions on the user's machine. When most users in the workgroup are hosting Server instances, the total number of Server instances makes it easy for the workgroup to share many files.

Manifold Release 9 Server Edition

  • Includes all features and functions of the former Manifold 9.00 Universal license, and also includes a unlimited version of Manifold Server.
  • The unlimited version of Server has no limit to the number of connections, no limit to the number of Server instances on a server machine, and the ability to launch and to manage Server instances as Windows services.
  • A Manifold 9.00 Server license includes simultaneous interactive use of Manifold 9 on the server machine, which makes it easy to configure project files that are served and also to launch and to manage Server instances as Windows services using the Manage Services dialog.
  • Manifold 9.00 Server is perfect for serving data from read-only projects to larger workgroups or, with more powerful server hardware, to entire organizations. The ability to launch many instances makes it easy to organize access to different communities of users based on access URLs and credentials. An unlimited number of connections is perfect for taking advantage of cost-efficient, many core CPUs that can provide very many threads on server machines at low cost.

Super Easy Server Administration · New Features

27 June 2022: Cutting Edge Build 176.7 delivers small improvements to the user interface and a set of really convenient additions to Manifold Server. Server can now run as a Windows service. The next build will likely be 9.0.177, a new base build.

Illustration: The new Service dialog makes it easy to create new Server instances on a server machine, without having to launch a Command Prompt window and configure new instances using command lines.

Manifold Server

  • Exclusive binding - For security, Server binds to the network interface in exclusive mode.
  • Handy title - When launched in a Command Prompt window, Server sets the console title to Server - addr:port - filename. This hides sensitive information like usernames and passwords and it also shows connection information even if that was not spelled out in the command line.
  • New options - Server supports a new -logfolder:xxx command-line option to redirect logs. Server supports a new -service command-line option to run as a Windows service. You can launch multiple Server services running on the same machine.
  • Easy dialog to manage services - There is a new Manage Services dialog that creates and manages Server services on the system. For each service, the command shows its name, path to the served file, network address and port, start type (auto, manual, or disabled), status (starting, running, paused, stopping, or stopped) and process ID.
  • Configure and Refresh Parameters - The Manage Services dialog allows double-clicking a service in the list of services to show and edit service parameters: service name, path to the Server executable, path to the served file, network address, network port, start type, plus additional command-line options. The Manage Services dialog allows one-click refreshing of the list of services.
  • Easy Adding, Editing, Deleting Services - The Manage Services dialog allows adding a new service, editing the parameters of an existing service and deleting selected services. Adding, editing and deleting services requires administrator rights. If the current user has no administrator rights, the dialog disables relevant functionality and shows a prompt to run as administrator.
  • Zero click defaults, ready to go - Adding a new service in the Manage Services dialog suggests a network address (the first registered network address) to use and a network port (starting with the default 9099) that is automatically incremented when adding additional services. For convenience, the dialog provides a list of all registered and loopback network addresses to select from.
  • Dynamic Start and Stop - The Manage Services dialog allows starting and stopping selected services.

Illustration: The new Manage Services dialog makes it a lot easier to manage Manifold Server instances running as services, without needing to hassle with Windows services dialogs. Click the New toolbar button to add a new Server instance. Ctrl-click a row to select it, and then press start, stop, or delete buttons as desired. Double-click a row to change settings like auto or manual launch on system reboot.

New Features

  • Many monitors and RDP? No problem! - A new View - Panes - Fit to Screen command moves all undocked panes and windows on screen. If there are multiple monitors, the command chooses the nearest monitor for each pane or window and puts the pane or window onto that monitor. The command helps locating panes and windows that have been accidentally moved nearly offscreen using the cursor or ended up being completely offscreen due to changes in monitors, for example, when using Remote Desktop (RDP).
  • Distinctive look to autoplaced control points - The Register pane shows automatically placed control points with a distinctive icon. Any editing done to an autoplaced control point removes the autoplaced flag.
  • Fast pan to control points - Alt-clicking a control point in the Register pane pans the map window to that control point.
  • Fast defaults for index names - Creating a new RTREE index for tiles suggests using fields starting with x and y for XY values.
  • Efficient traverse editing - Editing a traverse allows entering a traverse command for the inserted coordinate. This allows entering geometry data as a sequence of traverse commands, with visual feedback at every step.
"...with its speed, previews, variety of available registration methods, suggestions for locations of control points, and now with the way to navigate to control points fast, Manifold 9 is probably the best tool for georegistrations available." - Forum post

New Video

10 Minute Tutorial - Manage Services: Manifold Server is a high speed, fully parallel multiuser spatial database built into Manifold Release 9 Universal Edition that can share projects to many users running Manifold clients like Release 9, Manifold Viewer, and SQL for ArcGIS Pro.

The video shows the new Manage Services dialog that allows launching Server instances as Windows Services for really easy launching and management of Server instances. Launch Server with no need to use Command Prompt windows and command lines, and start and stop Server instances as desired. Super!


Faster Overlays and Selection · Faster LiDAR

17 June 2022: Cutting Edge Build 176.6 introduces dramatically faster spatial overlay functions and faster LiDAR performance with LAZ files. Big jobs that previously took over two and a half hours now can be done in six minutes. Wow!

Spatial Overlay Improvements

  • GeomOverlayXxx Optimizations - Non-topology query functions now optimize cases where a big source table has a small overlap area with an overlay table, as long as the source table has a spatial index. They also optimize cases where a source table has a small overlap area with a big overlay table, as long as the overlay table has a spatial index and the source table can determine its bounds without being read in full.
  • GeomOverlayXxx Faster Returns - Non-topology query functions now return pairs of records for actual overlay incidents, similar to how an INNER JOIN returns results. That avoids situations where many records are returned that are not desired or required.
  • GeomOverlayXxxFilter scale to overlay incidents - A series of global optimizations now allow GeomOverlayXxxFilter query functions to perform proportionally to the number of records that have overlay incidents. A series of such optimizations to GeomOverlayXxx functions apply to various user interface tools that use them, for example, like spatial overlay select templates, as well as the Join dialog when it transfers data between drawings.
  • SelectionXxx functions scale to selection size - A series of global optimizations now allow SelectionXxx query functions to perform proportionally to the number of selected records. The changes appliy to various user interface tools that work with selections. For example, copying a few selected records from a large table now performs much faster.

LiDAR Improvements

  • COPC index validation - Opening a LAZ file with a COPC index validates index data and turns off the index if its data is invalid.
  • Multiple reading heads - Reading a LAZ file no longer progressively caches uncompressed data on disk and instead uses multiple reading heads. This significantly improves performance.
  • Even faster spatial searches - erforming a spatial search on a LAS or LAZ file with a COPC or .mapindxp index works faster.

The above improvements significantly improve the performance of spatial overlays when input data sets are not similar in size or do not significantly overlap. That is a very common situation since often a smaller data set, such area objects for a particular town or parcel, is used to extract data of interest from a very much larger data set, which might cover an entire county or province. The exact performance gains depend on the overlap size, and can easily be 5x, 10x or more.

For LAZ, the combined improvements from increased LAZ speed and query function optimizations are even bigger. A test example used a LAZ file 375 million points with a COPC index and fetched 3.5 million points covered by an area in a different drawing using GeomOverlayTouchingFilter. The time to complete the job in prior builds was two hours and 38 minutes (9230 seconds). Using build 176.6 the time dropped to only six minutes (363 seconds), 25 times faster. If the area was even smaller, extracting fewer points from the LAZ file, the task would have taken even less time.

New Video

Transform JSON Data and View Webcams: We use Manifold Release 9 to extract data from JSON text to create a map of webcam locations in France, allowing us in Manifold to rapidly click to view what any webcam shows. We take advantage of Manifold's unique ability to work with data in tables to rapidly accomplish a task that would be painful, if not completely impossible, in any other GIS.

We begin with a Javascript .js file that we scraped from a Leaflet web map application that shows traffic webcams in France. We use Notepad to prep that .js file for use as a .csv. We import the CSV into Manifold and then we use the Transform pane to quickly create object geometry and to extract individual JSON named values from a JSON string field into new, individual columns for each record, including a "url" field that gives a URL for viewing each webcam.

We style the url field to allow Manifold to automatically launch that URL in a web browser when we want. We show how to replace web character specifications in text fields with french characters, replacing text like "\é" with "é" to match the original French.

We create a map using Bing streets as a background layer, so we can pan and zoom around France and view any webcam in the map. All the above takes only 15 minutes in Manifold, start to finish, showing every detail with no editing to cut out any time. Super! Works in the free Manifold Viewer too!

Note: The video shows techniques to manipulate data scraped from the web into a form useful for GIS. However, many governments around the world publish information on the locations and URLs of traffic webcams in formats like CSV or shapefiles that require no transformation. Download traffic webcam data from your local government site and create a Manifold project that lets you click on webcams near your home, to see how traffic might affect your travel plans!


Faster Web Servers · Activate Everybody · New Features

29 May 2022: Cutting Edge Build 176.5 introduces introduces a new, integrated, parallel Download Manager, Manifold's new, high speed, parallel system for downloading tiles from web servers such as image servers, TMS servers, WMTS servers and ArcGIS REST servers.

Build 176.5 also expands the license activation system to add an option for enabling installation of a license for all users on a machine at once. That simplifies use for some organizations, for server use, and for IMS use in Release 8, which uses the same activation system.

This build also provides conveniences such as persistent data types in the Schema dialog remembering the last-used type, Drag and Ctrl-Shift-Drop to link data sources read-only (which facilitates creating projects for Manifold Server and other shared use), a new email style in tables for rapid emailing, and a Suggest Locations toolbar button in the Register pane for faster georeferencing. A variety of other features and a few fixes are also in the new build.

Download Manager

  • Built in and fully integrated - The download manager is a built-in feature within Manifold that works automatically in background. There is no need to install, configure, or administer any modules or other software. Just use Manifold like always, and web servers seem to be much faster and more responsive.
  • Parallel downloads - The download manager performs multiple downloads simultaneously while taking care not to issue too many simultaneous requests to the same host, using limits similar to those used by web browsers. It also takes care not to issue too many simultaneous requests overall, to avoid exhausting the network.
  • Application-wide cache - The download manager caches downloaded data in an application-wide cache which is only cleared when the running application, such as desktop Manifold, Manifold Server, or a third-party application using Manifold through the scripting API, is closed. That allows the system to reuse downloaded data between multiple dataports connecting to the same server even across different MAP files.
  • Fast cancels - The download manager allows the user interface to cancel outstanding downloads in the middle of those downloads without waiting for the network. This prevents freezes when a map window that shows a web image is getting panned or scrolled or closed in cases when requests for tiles being downloaded could take a long time to determine if they will complete or fail.
  • Image Servers - Image servers like Google and Bing, TMS servers, WMTS servers, and ArcGIS REST servers all use the new download manager for visibly faster web server performance.

Activate Everybody Option

  • Activate all users - Manifold licenses optionally can be installed (activated) for all users on the same system. The Activate dialog includes an option to install (activate) a Manifold license for all users on the same system. The option requires administrative privileges and will prompt the user for administrative credentials.
  • Manage status - The About dialog shows whether the license in use has been installed for all users, and it allows installing or removing the license for all users. Installing or removing the license for all users requires administrative privileges and will prompt the user for administrative credentials.
  • IIS accounts - Manifold licenses installed for all users on the same system work for restricted user accounts for web applications managed by IIS. This allows using Manifold 8 IMS in web applications served by Windows 10+ IIS without any extra configuration for the application pools.

Other Features

  • Suggest Locations - The Register pane includes a new Suggest Locations toolbar button to automatically place target control points at locations suggested by the already placed control points and the current registration parameters.
  • Fast Schema modifications - The Field dialog in the Schema dialog saves and restores the last used data type when creating a new field. This allows quickly adding multiple fields of the same type, for example, quickly adding a series of fields that are all text fields when altering a table's schema.
  • Drag and Drop Read-Only - Drag and Ctrl-Shift-Drop files into the Project pane to link those files in read-only mode. That makes it easy to create projects with read-only data sources, a great convenience when creating projects that will be shared by other users or served by Manifold Server.
  • Send Email from tables and maps - Tables now provide a new style for text fields that are email addresses. Email addresses are shown using the same color as URLs. Right-clicking an email address shows a new Send Email command in the context menu, which automatically launches your mail client, such as Outlook, with the email address loaded in a new email message. That makes it very easy to compose and send an email to the right-clicked address. Works in the Info pane as well, which means that it's easy to send emails to objects picked in maps that have an email address in their attributes.
  • New SQL Functions - The new StringEmailValid function checks if a string is a valid email address, and the new StringUrlValid function checks if a string is a valid URL.
  • Connect through ODBC to temp Databases - The Manifold ODBC driver allows connecting to a new temporary database using DRIVER=...;DBTYPE=TEMP; in the connection string.
  • SQL Server Offset Dates - The SQL Server dataport supports DATETIMEOFFSET and DATETIME2 data types. DATETIMEOFFSET values are automatically converted to the timezone for the current user on both read and write. Reading a date with a timezone converts data to the timezone for the current user. Entering a date without a timezone will use the timezone for the current user.

Manifold Server

6 May 2022: Cutting Edge Build 176.4 introduces Manifold Server, Manifold's new, high speed, fully parallel, multiuser spatial database. Server provides very powerful new technology for sharing vast amounts of data from Manifold project files, enabling many users at once to use data in projects shared by Server.  Server is a built in part of Manifold Release 9 Universal edition, build 176.4 or more recent.   Manifold Server is automatically installed when installing Release 9 Universal.

Manifold Server, called Server for short, is a read-only spatial database server that shares the contents of a Manifold project to one or more Manifold clients. Clients are regular Manifold Release 9 desktop sessions. The free Manifold Viewer and Manifold's SQL for ArcGIS Pro product can also connect to Server. Because .map projects can contain nested links to other .map projects, the project shared by Server can be the top level entry point to a hierarchy that shares the contents of thousands of .map projects, containing many terabytes of data.

Server can run on a machine at the same time as a regular Manifold session, and multiple Server instances can run at the same time on the same machine, with each Server instance sharing out a different .map file. Server is by far the easiest spatial database server to install, load, launch, manage, and use. See examples in the new Manifold Server topic. See also the First Look - Manifold Server video.

Licensing for Connections - Cutting Edge Release 9 Universal edition builds allow an unlimited number of Server connections for beta testing. Release 9 Base builds are expected to include a limited number of Server connections as part of the Universal license with an option for unlimited connections priced separately.

Manifold Server Highlights

  • Easy to Launch, Load, Administer - Server is the easiest to administer multiuser database server around. Simply launch Server in a command line with the Manifold project file containing data to use. No need to mess around with loaders. Change the data in the database? Stop the server and then launch it again with an edited project, or an entirely different project. Share the contents of the database with someone else? Send the .map project file and you're done. Same with backups - easy!
  • Many Clients and Many Servers - Many Manifold client sessions can run on the same machine, with each such session connecting to many different Server instances on that same machine or on other machines. Many Server instances can run on the same server machine, with each Server instance using a different port and/or IP address, and each Server instance can serve many Manifold clients from other machines or from the same machine.
  • Parallel Connections - Manifold client sessions connect to Server using asynchronous, multithreaded, parallel connections for significantly better performance than narrow technology like ODBC. Many threads are balanced on the fly to handle both large and small threads.
  • Server-Side Rendering Pipeline - When rendering big layers most of the work is setting up the rendering task.  Server prepares layers for rendering server-side with full parallelism with only the final stages of rendering happening in the client.  That allows very large data in Server to be browsed by clients almost as fast as if it were local.  Server-side rendering eliminates the need to send tens or hundreds of gigabytes through the network connection to a client for rendering.  You can pan and zoom through a 100 GB vector project through a Server connection almost as fast as if it were local.
  • Server-Side Execution - Queries in projects shared by Server are executed on the server machine, sending only results to clients.  Queries can be executed within the Server, within the client, or in a mix of both. Executing queries within Server avoids sending large amounts of data through network connections.
  • Distributed Parallel Computation - Manifold clients can connect to many different Server installations at the same time, pulling layers from those different Server installations to use together in maps. If a map includes three different layers from three different Server installations on three different machines, when that map is panned and zoomed each of the three different layers will be prepared for rendering and otherwise serviced by the Server machine sharing that layer, so that the computational resources of three different machines will be utilized. Instead of parallel processing on a single computer handling all three layers, parallel processing on four different machines, the three Server machines plus the client machine, will be used to speed up the rendering pipeline for the map.  That can result in visibly faster response with big layers.
  • Database / Data Source Tunneling - Tunneling allows users to reach through Server to utilize data sources within Server.   If a project shared by Server contains data sources that are databases, such as SQL Server, Oracle, PostgreSQL and others, a Manifold session connecting to Server can open those data sources in the Server hierarchy and reach down into them to use their contents.  Other data source content, such as linked files, linked Manifold .map projects, linked Esri geodatabases, and other data sources is also automatically tunneled.  Web sources like Bing or Google image servers or ArcGIS REST servers reachable through Internet is not tunneled, but instead automatically set up for direct connections from the Manifold client session to the web source.   In both cases layers and data sources shared through Server can simply be used without users worrying about the details of whether they are tunneled or not.
  • Servers Nested within Servers - Projects shared by Server can contain Manifold Server data sources, with nested Server data sources automatically setting up pass-through tunneling.   For example, a project shared by Server on machine A might include Server data sources using Server installations on machines B and C.   A Manifold client connecting to Server A will see the Server B and Server C data sources within that project and will be able to open them and use the data and links they contain.   Server A will automatically arrange pass-through tunneling to Servers B and C, which will in turn automatically arrange pass-through tunneling to the data sources they share.
  • Automatic Version Negotiation - Different build levels can be used for a Server installation and for Manifold clients connecting to that Server installation.  When the connection is formed the different versions will negotiate to use a common feature set despite different build levels.
  • Easy User Interface - Both Server and client user interfaces have been kept as simple as possible. Server launches in a simple command line, with a few simple configuration options.  Connections to Server within Manifold clients use the same New Data Source interface used for other databases and data sources.
  • Copy / Paste Server Data Source - Server data sources in a Manifold project are just like any other data source.  They can be saved as Favorites for one-click addition to any new projects, they can be copied from one Manifold session and pasted into a different Manifold session, and they are saved as part of the project whenever a Manifold client project is saved, with automatic reconnection when the saved project is opened.
  • Secure Access - Server can be launched with a user login and password required, to control access when accessible from public Internet.

New Video

First Look - Manifold Server - Introducing Manifold Server, Manifold's new, high speed, fully parallel, multiuser spatial database. Covering in the first 15 minutes the essentials of launching Server, using Server to share data, and connecting to Server from Manifold, the video continues to show different options and key advantages of using Server.

See how to make multiple, simultaneous connections to Server, to share the same data between multiple users at the same time. Launch multiple Server instances on the same machine to share different constellations of data and databases.

Launch queries for server-side execution for breathtaking speed and performance. Connect to databases within Server through automatic tunneling. Connect from the same client to multiple Server instances on different machines to use dozens of threads on different machines for parallel computation and rendering. Amazing!


Selected Only, Super Printing, Fill Pixels, PostgreSQL

Cutting Edge Build 176.3 provides bug fixes, a variety of much-requested features, and significant improvements to printing layouts. It dramatically improves PostgreSQL / PostGIS insert speeds, adds a Fill transform for raster images, and provides a Selection button on the toolbar to quickly toggle filtering to showing only selected records in tables. Layouts can now be printed with automatic, on the fly scaling of any web image layers to provide intended scale, and printing a layout now supports printing images of any size to any resolution.

Illustrations: Applying the Fill transform to a space shuttle SRTM terrain elevation raster with missing pixels (left) by filling in using nearest pixel values gets a really smooth and natural looking result (right). It's really hard to see where pixels were filled. One click does the trick.

Features

  • The new Selected button instantly toggles table windows to show all records or only selected records. Check out the new video below to see how incredibly fast, easy, and useful this new capability is.
  • High resolution printing of huge print sheets - Incorporate images of any size at any resolution within print layouts. Manifold automatically handles all memory issues to enable printing of big images at very high resolution even in big print layouts.
  • Automatic, on the fly scaling of web layers - Use web layers like Bing and Google in maps in layouts and have the web layer automatically scaled to look right when the job is printed. This is a real convenience that makes it easy to create great looking maps.
  • New Fill transform - The new transform template automatically fills missing or visible pixels in images. Automatically fill in missing data using nearby pixel values for a natural look.
  • High speed batch inserts for PostgreSQL - Manifold automatically switches to using Postgres COPY when destination fields have compatible types for dramatically faster batch inserts. The system automatically falls back to using INSERT when target fields have incompatible or unknown binary representations to ensure batch updates happen without errors. Using COPY when possible is especially great for slow connections to PostgreSQL/PostGIS servers due to significantly reduced round trips.

New Videos

See the Videos page for the full collection of Manifold videos. Recent videos added include:

5 Minute Tutorial - Fill Missing Pixels in Rasters - A short video that shows how with just a few clicks we can fill in pixels that are missing from a raster by interpolating from nearby pixels. The new Fill transform in Manifold Release 9 provides three capabilities, all of which are covered in this video. We can fill all visible pixels with the same value, we can fill all missing pixels with the same value, or we can fill all missing pixels with values interpolated from the nearest visible pixels. We also see how to copy and paste styles for rasters. Super! Works in the free Manifold Viewer as well.

5 Minute Tutorial - Show only Selected - A very short video showing off the new Selected button in Manifold Release 9. One click toggles attribute tables from showing all records to just showing selected records, with fast and safe updates. We also show using the Select pane to do statistic selections, choosing records that are in the top 30th, 10th, or 90th percentiles with a single click. Works in the free Manifold Viewer too!

10 Minute Tutorial - Find Similar Lines - A fast paced video: we have two layers with roads in each layer. Our task is to find roads in both layers that are aligned with each other. However, the two different layers come from two different organizations so the roads are not identical and they do not have any attributes in common. We therefore cannot do a simple spatial join that assumes that the same roads which appear in both layers are exactly coincident.

Instead, we use buffers to find roads in both layers that are similar to each other, where the roads mostly follow the same paths. This workflow works for both Manifold Release 9 and also the free Manifold Viewer.

This is an ambitious video with lots of steps, that uses a variety of Manifold techniques to solve a demanding problem where there is no obvious single step solution. It uses buffers, joins, previews, topology overlay, selection, table windows, computed fields and more. A lot of action in what is a relatively short video.


Faster Queries, Raster Sieves, Transforms and Selects

Cutting Edge Build 176.2 provides a new optimization in the query engine for 800x performance increasesfor IN expressions (including NOT IN expressions), plus new SQL functions for attributes and powerful new Sieve functions for rasters.  New transforms provide point-and-click access to Sieve and to random value generation functions.   A new set of Select functions provide easy selection based on uniqueness criteria.  A user-friendly addition to the Register pane pre-loads entered control points to make workflow faster and easier.

Faster Queries

  • The query engine optimizes IN expressions (both for IN and NOT IN) on a single value for all data types, or on a tuple (multiple values of any data type), when there is no index on the searched fields as well as for cases where there is an index on searched fields, by making more efficient use of the index.

As is usual for optimizations that start building and using indexes instead of doing full scans, the speed ups are dramatic, running over 800 times faster than before. For example, consider a test query:

VALUE @count INT32 = 1000;
DROP TABLE t;
CREATE TABLE t (mfd_id INT64, INDEX mfd_id_x BTREE (mfd_id), v INT32);
INSERT INTO t (v) TABLE CALL ValueSequence(1, @count, 1);
INSERT INTO t (v) TABLE CALL ValueSequence(1, @count, 40);
DELETE FROM t WHERE mfd_id NOT IN (SELECT First(mfd_id) FROM t GROUP BY v);

Following are typical results for various numbers of records set by the @count global variable, with "old" being before build 176.2 and "new" using build 176.2:

  • @count = 1000 records: old = 1.110 sec vs. new = 0.029 sec.
  • @count = 5000 records: old = 27.411 sec vs. new = 0.130 sec.
  • @count = 20000 records: old = 482.044 sec vs. new = 0.544 sec.

For 20000 records, the optimization introduced in 176.2 reduces the time required from 482 seconds to about half a second, running well over 800 times faster.

Illustrations: Applying the Sieve transform to a land use and land cover classified raster (left) using a Minimum area of 100 to get the resulting, simplified raster (right).  Pixel values throughout the raster are adjusted so regions of very small pixels are merged into larger neighboring regions, with the pixels in the former smaller regions given the values of the larger neighboring region into which they have been merged.  Sieve functions can be used for many purposes, such as de-noising and simplifying rasters.

Raster Sieves

  • New query functions: TileSieve and TileSievePar. Perform a sieve operation on an image channel. Pixels with the same value are used to form areas.  Areas smaller than the specified threshold are merged into their neighbors and get assigned the value of the neighbor they are merging into. Parameters include the source image, source channel, quantization level, area size threshold in pixels, method for choosing which neighbor to merge into, and thread configuration for the TileSievePar parallelized function.
  • New query functions: TileSieveStep and TileSieveStepPar. Perform a single step of a sieve operation on an image channel.  This can be much faster than performing a full sieve using TileSieve or TileSievePar until all areas below the threshold are merged into larger areas.   Performing a single step instead of running the operation until there are no more areas to merge is sometimes useful as an intermediate step in bigger computations.
  • New tile transform: Sieve. Performs a parallelized sieve operation on an image channel.  Runs until there are no more areas to merge.

SQL Functions and Other Transforms

  • New query aggregate function: Percentile. Returns a value for the specified percentile. Percentile 0 returns the minimum value, percentile 100 returns the maximum value, and percentile 50 returns the median value. Works for values of any type.
  • New query function: StringStart. Reduces a string to the first N characters.
  • New query function: StringEnd. Reduces a string to the last N characters.
  • New numeric transform: Random. Produces random values between the specified minimum and maximum values, with an option to return only whole numbers (on by default).
  • New UUID transform: Random. Produces random UUID values.

Point and Click Selection

  • New numeric select template: Unique. Selects values based on how many times they occur in a table, with options to select all duplicates except one, all duplicates, or only unique values.
  • New Unique templates for other data types. Like Unique for numeric types, but for numeric vectors, binary data, datetime with option to Ignore time, text types with options to Ignore case and to Ignore whitespace, and for UUID data.
  • New numeric select template: Statistic. Selects values based on how large or small they are relative to other values in the table. Options include to select records with the maximum value, the minimum value, the median value, the top N values, the bottom N values, the top percent given a specified percentile, and the bottom percent given a specified percentile.
  • New numeric vector select: Statistic. Like numeric select Statistic, but for numeric vectors.
  • New date select template: Statistic. Like numeric select Statistic, but for datetime values with an option to Ignore time.
  • New text select template: Statistic. Like numeric select Statistic, but for text values with options to Ignore case and to Ignore whitespace

Layouts and Georeferencing

  • Layouts now support minimum and maximum visibility scale limits if specified for map layers.
  • Switching the source window in the Register pane maps already entered control points to source control points by name, to preserve as much of the already entered data as possible.

Scale Ranges and Dataport Upgrades

Cutting Edge Build 176.1 introduces visibility scale limits (also known as scale ranges or zoom ranges) for layers in maps using the Layers pane. The build also provides upgrades to Esri Geodatabase (GDB), Shapefiles (SHP), DBF, and Google KML and KMZ dataports.

GIF animation showing how different layers turn on and off when changing scale by zooming the view in and out.

Visibility Scale Limits

  • The Layers pane Filter button allows showing and editing visibility scale limits (zoom ranges) for map layers on a per layer basis using two new commands: Show Farthest (Max) Scale and Show Closest (Min) Scale.
  • Maximum and minimum scale limits automatically turn layers off and on as the view in the map window zooms in and out in scale.
  • Zooming a map window closer in than the minimum limit hides the layer. Zooming a map farther out beyond the maximum limit also hides the layer. Zooming a map into the scale range between the maximum and minimum limits will display the layer.
  • Layers that are hidden do not participate in interactive operations such as editing, picking, selecting, or snapping.
  • For readability, the Layers pane automatically shortens the listing of max and min scales for map layers to only the first two digits plus an abbreviation. Examples: 1:40k for a scale of 1:40000 or 1:30m for a scale of 1:30000000.
  • Scale limits are exposed as simple JSON text for a layer in the map's properties, making it easy to programmatically set and change visibility scale ranges.

The new capability makes it easy to create map displays that automatically show or hide layers depending on the zoom level (scale) of the map view. We can automatically turn on more detailed layers as we zoom into a map, or show different content depending on the zoom level.

Dataports · Import / Export

  • Exporting data to GDB format (Esri geodatabases) automatically truncates text values to the maximum allowed length, with the names of fields containing truncated values as well as the total number of truncated values reported in the log.
  • Exporting data to SHP format (Shapefiles) automatically truncates text values to the maximum allowed length and reports truncations in the log.
  • Exporting data to DBF format automatically truncates text values to the maximum allowed length and reports truncations in the log.
  • Exporting data to Google KML or KMZ format exports values of fields for drawing records as allowed by KML 2.2, except for binary fields (not supported by KML 2.2). The Name and Description fields are no longer special-cased and are exported as regular fields.
  • To let Google products show labels bound to areas, lines, or multipoints, exporting data to Google KML or KMZ format will export labels bound to an area as bound to a point located at the inner centroid of the area, labels bound to a line as bound to a point in the middle of the line at one half the length of the line, and labels bound to a multipoint as bound to the first point of the multipoint. Labels bound to points will continue to be bound to the point location.
  • Reading data from a Google KML or KMZ file reads field values to KML 2.2 standards.

New Base Build: 9.0.176

Build 176 is a Base build that's published as a Windows installer package as well as portable installations. Build 176 includes all new items and fixes from all Cutting Edge builds since the last Base build, build 175. It includes enhancements to activation and other features since the prior Cutting Edge build, Build 175.7:

Enhancements For All

  • Custom Colors Option - The Tools - Options dialog has a new Colors tab which allows changing system colors. Colors that can be modified include Selection colors, combinations of Selection and Preview colors, colors used for Previews and provisional editing, cache progress colors, colors used for invalid data like unassigned coordinate systems, and unknown dat color, like used for nulls.
  • New LiDAR Cloud Optimized Point Cloud Index - Manifold now supports COPC indices, the new cloud optimized point cloud index from copc.io.
  • Connect to Google Sheets - A new document server dataport provides easy connections to Google Sheets spreadsheet data stored in Google Docs. The dataport takes an URL for a shared spreadsheet and shows it as one or more tables in the Manifold project, with easy refreshing of the data..

SQL for ArcGIS Pro

  • New Launch Option - A new Open SQL 32-bit launch button adds the ability to optionally launch SQL for ArcGIS Pro in 32-bits, to simplify connections to 32-bit Microsoft Office formats in 64-bit windows. Launching SQL for ArcGIS Pro in 32-bits is fully compatible with 64-bit ArcGIS Pro, but it also makes it easy to connect to Microsoft formats like Access MDB without the hassles of installing Microsoft middleware code.
  • One Click ArcGIS Pro Refresh - A new Refresh button in the ArcGIS Pro Add-in ribbon makes it easy to refresh attribute tables and table definitions for all layers in all maps, to pick up changes made outside of ArcGIS Pro, like in the add-in. One click does the trick.
  • Automatic Provisioning of Mobile Geodatabases - SQL for ArcGIS Pro now automatically provisions not only file geodatabases in the new SQL project, but also any Esri Mobile Geodatabases used in the ArcGIS Pro project and also any GPKG or SQLite layers as well.


Enhancements and Bug Fixes

Cutting Edge Build 175.7 concentrates on small adjustments, library updates, and fixes in preparation for wrapping up the current series of cutting edge builds and issuing a new base build.

Automatic KoBo Refresh

  • Manifold automatically refreshes opened KoBoToolbox tables every five minutes.
  • Near-zero overhead: Changes are fetched only when they occur.
  • Automatic refreshes capture any change that advances the table version.
  • Automatically updates when new records are added in the table in the KoBoToolbox server, and also when fields are added or deleted to tables in the server.

The new capability makes it easy to acquire data in the field using survey forms and to instantly make that data available within a Manifold project or pasted into your organization's database servers or Esri apps.

Other Enhancements

  • The Style dialog for table field formatting now uses a self-documenting Positive degrees caption for the hemisphere used for positive degrees when formatting latitude and longitude values, and presents choices using a combo box.
  • The StringFormatAny SQL query function supports choice styles for text values. The original text value is trimmed before matching any of the choices. The Style dialog for text values allows specifying a choice style.
  • Definitions for choice styles when formatting table fields have been improved, shortening the definitions for choice styles that are intended to simply limit values for a field to a specific subset without changing the way these values are displayed.
  • Lists of choices in Style dialogs for table field formatting have Value and Show as captions to make it clearer which column is doing what.
  • The About dialog now reports Windows 11, Windows 10, and Windows Server 2016+ versions in a uniform way using Windows versions labels like those introduced for Windows 10, for example, 21H2.

Third Party Updates

  • CUDA modules have been updated to CUDA 11.5.1, adding performance improvements.
  • The WEBP dataport has been updated to LIBWEBP 1.2.1, fixing some minor WEBP bugs in raster encoding.
  • The internal version of SQLite used for all types of SQLite data, including GPKG, has been updated to 3.37.0. This adds support for STRICT tables, improves the performance of some types of queries, and fixes some SQLite bugs.
  • The C runtime (CRT) library has been updated to 14.30.30704.0, adding native modules for ARM64 architecture in the x64 flavor of the CRT. Download the new CRT from Microsoft when using cutting edge builds. Cutting edge build 175.7 supports both the new CRT version and the previous CRT version seamlessly. This is a preparatory step for the upcoming base build, which will include the new CRT in the MSI and EXE packages used for installation.

Fixes

  • The URL style for text values recognizes URLs with file: and other non-web schemas.
  • Replacing a text fragment using a regular expression no longer fails to ignore case when matching class character sequences such as [a-c] or [abc] if asked to ignore case.
  • Computing a Voronoi diagram no longer sometimes fails to completely build shapes for some points in near-collinear point configurations, for example, a series of points following a reasonably smooth line in short steps.
  • The LAS library dataport no longer sometimes returns incomplete results when working with more than around 500 files. This problem arose from a series of issues occurring because the library was keeping too many files opened simultaneously for prolonged periods of time, hitting various limits within itself and forcing other parts of the system into hitting these limits as well. Work on a fix began by reworking the code to limit the number of files kept open at any given moment. Effort continued to not to lose any performance when files above the limit had to be closed and reopened. In the end, thanks to a some algorithmic changes, instead of not losing too much performance, the system managed to gain a little performance.
  • Exporting labels to DXF or KML no longer fails if label text is defined using a text pattern.

New Videos

See the Videos page for the full collection of Manifold videos. Recent videos added include:

First Look - Choice Styling - Pop-up Lists - The first of two videos on using Choice styling for table fields in Manifold Release 9.

Choice styling is used for two purposes: first, to provide a pop-up list of allowed choices when editing a field, and second, to provide aliases for values that can show the contents of a field in more understandable form. This video shows how to quickly create a pop-up list of allowed choices.

We create a list of allowed choices, and then we add points to a map that shows different types of power plants in the Pittsburgh region, picking the type of power plant from our pop-up list of allowed choices. We show how the pop-up list is available in the Info pane when adding new points to a map, and also in table windows when editing fields in tables.

First Look - Choice Styling - Aliases - The second of two videos on using Choice styling for table fields, showing how choices are used to provide more understandable aliases for what might be cryptic values.

We work with a vector layer that shows land use / land cover (LULC) classification codes for different places in the San Francisco Bay area. USGS numeric codes for land use classification are standard, but they are difficult to remember and can lead to error-prone editing.

We can make our lives much easier by creating a choice table that for each numeric code provides a "Show as" alias that is a text description, for example, showing "Residential" instead of "11". We see how the Choice styling is automatically used within tables, the Info pane, within Labels and so on. It's way easier.

We also compare using Choice styling with joining a description column in the classic way, showing how Choice styling is dynamic and much better for editing.


Collect Data in the Field

Cutting Edge Build 175.6 adds a new dataport for KoBoToolbox, a widely used open source technology for data acquisition using mobile clients or a web browser. The data can be hosted on a server provided by KoBoToolbox (there are generous free options), or on your own system with KoBoToolbox. See the Collecting Data in the Field user manual topic.

Highlights of using KoBo and Manifold include:

Form Builder

  • Design forms quickly and easily using an intuitive form builder.
  • Reuse existing questions and blocks of questions and manage them in the question library.
  • Build complex forms with skip logic and validation.
  • More than 20 different question types available including location, image, video, rating, matrix, and many others.
  • Easily share projects with colleagues and set granular permission levels.
  • Import and export industry-standard XLSForms. Import via URL or upload from your computer.
  • Use forms from other ODK/Enketo apps, like Esri's Survey123. Many work "as is" with no need to edit.
  • Enjoy vast support for learning, with endless "how to" websites and tutorials.

Collect Data

  • Collect data online with an Internet connection or completely offline.
  • Collect data on phones, tablets or any browser using the free KoBoCollect app on Android devices and Enketo on any modern browser.
  • Automatic synchronization between mobile device and server via SSL, ensuring data cannot be read by a third party.
  • Strong safeguards against data loss, even on very long interviews / data acquisition sessions.
  • Data is immediately available right after it is collected and a connection can be found by the mobile device.

Direct Connection

  • New Manifold dataport connects directly to KoBo servers from anywhere in the world. No need for manual downloads and imports.
  • See dynamically linked content within the server, with dynamic updates of new projects and new data added.
  • Connect to KoBo for everyone, KoBo Humanitarian, or your own KoBo server.
  • Connect directly to a specific asset, handy when an account has very many assets.
  • One click refresh to update all assets in an account.
  • Refreshes automatically update assets with any changes in records or fields.
  • The KOBO dataport translates image / audio / video / file sentinels to URLs.
  • Manifold automatically creates drawings to visualize geopoint, geotrace, and geoshape data acquired.
  • Enjoy effortless copy/paste dispatch of KoBo assets to other organizational assets, for example databases like Oracle, SQL Server, MySQL, PostgreSQL/PostGIS and hundreds more data sources and file formats.
  • Manifold is the fastest way to get data from KoBo collection apps into Esri apps: Just copy from the KoBo server shown in the project and paste into your geodatabase or other Esri data store.
  • Use the free Manifold Viewer to review KoBo assets from anywhere in the world.

The new capability makes it easy to acquire data in the field using survey forms and to instantly make that data available within a Manifold project or pasted into your organization's database servers or Esri apps.

Inherited Styles / New Styles

Build 175.6 also adds even more formatting options for field values, including the ability to launch URLs from table fields in browsers. Styles also include the ability to set angular measurements, such as latitude and longitude values in degrees, in different formats. A new style also allows choice fields in tables. Styles set in tables are now automatically inherited by labels.

  • URLs - Automatically show valid URLs using hyperlink styles.
  • Launch URLs - New Open URL command to launch hyperlinks from tables and the Info pane in a browser window.
  • Launch documents, videos, and more - Using URLs we can launch any document, image, or file that can be interpreted by our browser, which includes spreadsheets and other rich documents with modern browsers. Use URL links to maintain rich attribute data for objects in applications like facilities management, real estate sales and management and many more.
  • Longitude and Latitude - Format longitude and latitude values as degrees, degrees and decimal minutes, or degrees, minutes and decimal seconds, along with numerous combinations using other options.
  • +/- or NESW - Indicate positive/negative longitudes and latitudes using + or - signs or N, E, S, and W notation, for any positive/negative hemisphere reckoning.
  • Choice of Decimal Digits - Choose the number of digits after the decimal point for any format that uses decimal points and digits.
  • Automatic Country Styles - Choosing a language-country combination automatically applies that culture's preferred formatting for latitude and longitude numbers for digit separator character (comma or dot) and decimal point character (dot or comma).
  • Automatic Geometry Support - Geometry formats automatically adapt to and support both Manifold geometry types as well as Well Known Binary (WKB) geometry as used in many open source databases and GIS packages.
  • Special Formatting for Vector Locations - New features support automatic formatting for longitude and latitude values used in numeric vectors in typical settings, automatically varying N, E, S, and W designators between longitude and latitude values, in XY or YX order and in any combination of positive/negative hemisphere values, and supporting two component vectors with a longitude and latitude, three component vectors with longitude, latitude, and height or other numeric value, and four component vectors with pairs of longitude, latitude components. Super!
  • Choice Styles - The new Choice option allows specifying "lookup table" style choice lists for allowed values within cells. Those are easy to create and to edit, and enable one-click entry of choices from drop down menus when editing cells in tables or adding new records.

600+ Languages

Language options for styled fields have been extended to include over 600 language-country pairs, supporting the full set of languages in Windows 10. Enjoy instant formatting of date values with instantaneous translations of days of the week and month names to hundreds of languages. It's all built into Manifold.

  • Extensive language support - The Language picker dialog includes features to manage over 600 langauge-country combinations, including a filter box to make it easy to find the one you want.
  • Automatic Language Translations - See the days of the week and month names in over 600 languages, automatically translated.
  • Favorites - Add a frequently used language to Favorites, for a one click choice from the language picker button when setting styles.
  • Automatic Windows Edition Choices - When running on older Windows versions, language lists will automatically mark Windows 10/11 languages that are not supported by the Windows version in use.

Illustrations above: Changing the language choice instantly changes the language and style of a date. Examples show US English, German, French, US Hawaiian, US Cherokee, and Indian Kashmiri style choices to display a datetime field value of 03/01/1867 using one of the built in day, month and year styles. It's all automatic, exactly the way you want.


New Videos

See the Videos page for the full collection of Manifold videos. Recent videos added include:

10 Minute Tutorial - Lat Lon Styles · Labels · Languages - See a fast paced demonstration how to change latitude and longitude styles in tables, to see how those are immediately changed in labels in maps that use those fields, and in the Info pane as well, with spectacular formatting capabilities in Manifold Release 9.

We cover various formats for latitude and longitudes, like decimal degrees, degrees and decimal minutes and so on, including the ability to automatically format latitude and longitude values to handle different ways of using N, E, S, and W letters in format. We cover other formats as well, including dates, URL hyperlinks from text, and numeric vector combinations that include longitude and latitude values.

One click can also set the language-country combination of your choice: Manifold knows over 600 languages and will automatically translate days of the week and the names of months into any of those languages. All this works in the free Manifold Viewer, too!

10 Minute Tutorial - Create and Use a Survey Form - The first of two videos showing how to collect data in the field with Manifold Release 9. We create a new survey form using the KoBoToolbox ecosystem, the same ODK/Enketo based technology used by Esri's Survey123. We create a form to collect information and locations for restaurants in Chartres, France. We use the form to capture data for a restaurant, automatically syncing collected data into our Kobo server. The next video shows how to connect Manifold and automatically harvest collected data.

10 Minute Tutorial - Connect to Data Collected in the Field - The second of two videos showing how to collect data in the field with Manifold Release 9. The first video showed how to create a survey form and to use that to acquire data for restaurant locations.

This video shows how easy it is to form a live connection to the KoBo server storing our survey data, automatically linking tables and drawings into our Manifold projec.t We create a map of restaurants surveyed in Chartres, France, using a satellite layer for background. We add labels and see how when we add more data using mobile or other devices, we can refresh to automatically capture those new locations in the Manifold map. Works in the free Manifold Viewer, too!

10 Minute Tutorial - Fast Table Editing with Transform - See how fast and easy it is to edit tables using the Transform pane in Manifold Release 9. Repetitive edits applying similar changes to different fields can be done fast - really fast! - with highly efficient workflow. Best of all, on the fly previews make it easy to use sophisticated editing techniques like the regular expressions used in this video without fear of getting something wrong. The video shows a real life example of restructuring a table scraped from a NASA website that shows total and annular eclipses of the Sun from 2021 to 2100, converting the table from awkward form as published by NASA into more usable form. Works in the free Manifold Viewer, too!

5 Minute Tutorial - Styling Fields in Tables - Check out the wonderful new ability to style fields in tables in Manifold Release 9: with just a click change how numbers, dates, times, geometry, and more can be presented in a very wide range of formats, with automatic adaptation for different language styles. Automatically switch from using dollar signs and US-style decimal points for currency to German style euro signs and European-style decimal commas? One click and done! Works in the free Manifold Viewer, too!


Schema, Alignment, Functions, and Styles

Cutting Edge Build 175.5 is a large build with many new features. It provides improvements in the Schema dialog that help working with many fields. It provides new SQL functions for generating random data, working with data hashes, and parsing strings representing dates and times into datetime values. It introduces new formatting functions for binary, geometry, and tile data, extends language-culture format adaptations for list and decimal separators, and it provides point-and-click formatting of data displayed in tables with a very wide range of preset and custom formatting options for different data types. Schema dialog improvements make it easier to work with tables that have very many fields, indices, and constraints.

  • Schema - new filter box in the Schema toolbar filters the schema list to only those items that match the filter text. That's a great way to reduce a schema with a hundred fields, like found in some census data, to only those few fields of interest. Click the new filter button to filter the schema list by type, showing all items, or just fields, indexes, or constraints.
  • Align Fields - Align field values in table windows and the Info pane to the left, center, or right margins of cells using Align Left, Align Center, and Align Right commands.
  • Format Fields in Tables - Format binary, boolean, datetime, geometry, numeric, tile, uuid and numeric vectors in table cells using a new Style command that automatically adapts to the data type of the field to show choice, complete with full previews of how the style will look.
  • Language Options - Choose a language-country pair and the style for fields in tables will automatically use that language and country format style. Days of the week and month names are automatically translated into over 600 languages, with datetime formats and other formats automatically adapting to that country's preferred standard.
  • SQL Functions for String Formatting - New SQL functions take various data types and automatically create formatted strings, automatically reckoning the language and country specified in a language argument. That makes it easy to create text string versions of numeric or other values that capture a particular style or report desired data, like the number of coordinates and branches in a WKB geometry object.
  • Random Advances - A rich collection of new Random... SQL functions provides random number generation, random integers, random hashes and more.
  • Other SQL Functions - A new StringDateTime parses a text string giving a date and time and generates a datetime function. That's a great way to convert text into datetime values that can be used by programs and databases. The new DataHash takes an arbitray value (any datatype) and generates a 32-bit Fowler-Noll-Vo hash, handy in many applications.

Rich Formatting

Cutting Edge Build 175.4 introduces extensive facilities to format text, numeric, date, and other data types in fields. This build adds query functions that format values of various types, with automatic integration of national language conventions. Subsequent builds will allow applying this formatting to fields in tables and queries, and automatically carry it over to labels.  This build can be used immediately to format values in labels by using expressions in the label text pattern.

See the Label Text User Manual topic for step by step examples using the new formatting facilities. The new build also provides faster workflow in the New Labels dialog, as well as when editing labels.

Dates and times - The new StringFormatDateTime function automatically formats dateime values using either neutral language settings or a language code like en-US or de-DE, guided by arguments that specify the desired format. Single-letter format patterns make it easy to choose popular datetime formats, with the option to use advanced, custom format patterns as well.

Table at right: Example label illustrations use the text and datetime fields from the illustrated table.

Examples of single-letter presets and results:

  • Short date - 3/25/2020
  • Long date - Wednesday, March 25, 2020
  • Long date + short time - Wednesday, March 25, 2020 1:45 PM
  • Long date + long time - Wednesday, March 25, 2020 1:45:00 PM
  • Short date + short time -  3/25/2020 1:45 PM
  • Short date + long time - 3/25/2020 1:45:00 PM
  • Short month and day - 25 Mar
  • Long month and day - 25 March
  • RFC1123 - Wed, 25 Mar 2020 13:45:00 GMT
  • Sortable - 2020-03-25T13:45:00
  • Short time - 1:45 PM
  • Long time - 1:45:00 PM
  • Universal sortable - 2020-03-25 13:45:00Z
  • Month and year - March 2020

Examples of format parts, using tokens such as dd or MM that can be combined to create custom formats. Options can add a leading zero for one-digit numeric values and can use two characters for text values, for example, 01 instead of 1, and PM instead of P:

  • Day - 25
  • Short week day - Wed
  • Long week day - Wednesday
  • Era - A.D. or B.C.
  • Hour on a 12 hour scale - 1 or 01
  • Hour on a 24 hour scale - 13
  • Minute - 45
  • Month as a number - 3
  • Short month - Mar
  • Long month - March
  • Second - 3 or 03
  • Time marker - AM or PM
  • Short year - 20
  • Long year - 2020

Example - It's easy to create custom datetime formats like 25-Mar-20 1:45 PM

Durations in Days or Seconds - The new StringFormatDurationDays and StringFormatDurationSeconds functions automatically format duration values in days or seconds, automatically taking into account the specified language and other options.

Numeric Formats - The new StringFormatNumber function allows easy formatting of numeric values, automatically taking into account the specified language and other options, such as upper or lower case exponential or hexadecimal notation.

Examples of single-letter presets and results, using an example value of 123456.7890123 and a language of en-US:

  • Currency, with an optional number of decimals - $123,456.79
  • Decimal integer, with optional total number of digits and optional leading zeroes - 123457 or 00123457
  • Exponential, with optional number of decimals - 1.234568e+05
  • Fractional, with optional number of decimals - 123456.79
  • Fractional + digit groups, with optional number of decimals -  123,456.79
  • Hexadecimal integer, with optional total number of digits and optional leading zeroes - 1e241

The default when all format options are omitted is to use the shortest form that preserves all significant digits: 123456.7890123

Other data types - Other new functions provide formatting for vector numeric values, using the same options as for numeric formats, plus a desired list separator, formatting for UUID values, and for Boolean values. Whew! Formats for every taste and requirement.

Expressions in Labels

Cutting Edge Build 175.3 reworks labels to use a text pattern instead of a text field. The new system applies to all use of labels, such as storage, rendering, printing, and so on. A text pattern is much more flexible than a text field: it can reference more than one field, and it also allows easy changes to label texts without changing the table. Future builds will allow formatting field values in the pattern, and will include various improvements for rendering labels. Support for GDB is gradually being extended, and future builds will include several updates specific to SQL for ArcGIS.

Build label text using CASE

Illustration above: Labels can include expressions that use almost any SQL function and feature, such as CASE. The Style pane makes it easy to edit existing label text.

Highlights include:

  • Create labels from multiple fields - Text labels can now be created from multiple fields using a text pattern that refers to fields within square [ ] brackets. Plain text parts of the label can use special characters escaped with a backslash \, and can use unicode specifications, like \u00a9 for a copyright sign.
  • Create labels using expressions - Label text can contain almost any SQL expression within double square [[ ]] brackets, including complex constructions using CASE and similar. Any of the hundreds of SQL functions available can be used, allowing for very sophisticated, on the fly, creation of label text based on numeric fields, geometry, text fields, and arbitrary computations.
  • Fast editing in the Style pane - The Style pane allows fast, easy editing of label text using a specialized dialog with an expression builder.
  • Faster editing of coordinates and traverses - The Info pane saves clicks by remembering the last used view options for the Coordinates tab on a per-window basis (map window or table window). For example, if last we used traverse commands in a window, the next time the Coordinates pane will still be in Show Traverse mode.
  • Read only GDB fields - Special fields in a GDB that cannot be edited, for example, Length and Area, are marked as read-only in Release 9 and in SQL for ArcGIS Pro.

Check out the new video providing a tutorial introduction to creating labels:

5 Minute Tutorial - Labels from Fields and Expressions - A quick look at the new label system in Manifold Release 9 that makes it easy to create labels from fields and expressions. Create label text from multiple fields and also using expressions, taking advantage of any of the hundreds of SQL functions provided in Manifold. A new addition to the Style pane for labels makes it really easy to edit label text, including a full expression builder. Works in the free Manifold Viewer, too!


Interactive Traverse Editing

Cutting Edge Build 175.2 introduces an extensive new system for interactive editing of traverses, including automatic adaptation using the compass rule to close traverses, all part of enhancements to vector editing and the Info pane.  It also includes improvements and fixes for various dataports.  Even if we are not interested in traverses, the new capability for live traverse editing allows us to create lines and areas parametrically by specifying the direction and distance of line segments, a very useful capability in general purpose vector editing. Highlights include:

  • Add new segments using traverse commands - "Grow" a branch for a line or area object using traverse commands by editing the new traverse row for each new coordinate, using Esri-style traverse commands. Grow a segment using straight line segments by direction or angle and distance, or specify circle arcs. This is great for creating lines and areas paramatically, by specifying direction and distance, even if we are not interested in traverses.
  • Live editing of any traverse command - When a line or area object is being created or picked for editing in a map window, the Coordinates tab in the Info pane allows editing traverse coordinates for vector values. Double-click into any row in the Coordinates pane to edit that row, using Esri-style format for the traverse coordinate commands in each row.
  • Edit traverse segments withing branches - Edit any traverse row as desired, even in different branches, to reposition segments or to add new ones.
  • Automatic conversion of arc types - Esri traverse format only allows straight line segments or circle arc segments, but existing line and area objects can consist of ellipse arcs or spline arcs in addition to straight line segments or circle arcs. When editing traverse rows in the Coordinates tab, the system will automatically convert straight line segments, circle arcs, ellipse arcs, or spline arcs into straight line segments or circle arcs depending on the traverse command entered.
  • Close Gap command - A new Close Gap command allows closing a line or areas in traverses by automatically repositioning segments throughout the branch using the compass rule a sophisticated mathematical algorithm for allocating possible errors evenly through all angles and directions, instead of forcing all errors into the final segment.
  • See the Video - Check out the new video providing a tutorial introduction to editing traverses.
  • Dataport Improvements - Numerous miscellaneous updates have improved various dataports, including the ArcGIS REST dataport, GDAL, ERDAS, JPEG 2000, ECW, and Mr SID.

New Videos

See the Videos page for the full collection of Manifold videos. Recent videos added include:

First Look - Edit Traverses - Traverses specify borderlines for areas or lines by describing the segments followed to draw the figure, beginning at a starting point and then going in a given direction for a given distance, then the going in a given direction for the specified distance for the next segment and so on. Traverses are used in surveying for parcel descriptions and in general purpose GIS for drawing figures parametrically, as in drawing a line at a given angle for a given distance.

Manifold Release 9 has the rare ability to edit traverses on the fly, either when interactively creating a new traverse, or to edit existing traverses imported from parcel or other traverse descriptions. The video shows how easy it is to edit traverses in Release 9, including how with one click you can automatically adjust a traverse so it closes precisely, using the mathematically sophisticated "compass rule" to automatically adjust angles and distances throughout the traverse. All this works in the free Manifold Viewer, too!

5 Minute Tutorial - GoTo a Latitude, Longitude Coordinate - When working with maps in Manifold Release 9 it's easy to "GoTo" any latitude, longitude spot with this quick hack.

The video shows how to enter coordinates for any spot desired and to instantly pan and zoom the map view to that location. Works for any layers, vector or raster, and works for the free Manifold Viewer, too!

SQL 15 Minute Tutorial - Find Common Borders with Point and Click Tools - The SQL for ArcGIS Pro add-in for Esri's ArcGIS Pro package provides superb spatial SQL, but in addition it also provides a wide range of point and click tools that encapsulate very sophisticated SQL functionality in point and click panes and dialogs. We use point and click dialogs to extract shared border lines from a map of Canada, the US, and Mexico, doing a spatial self join and other spatial manipulations to produce a new, clean feature class with impeccable geometry.

SQL 5 Minute Tutorial - Add Fields to a Feature Class and Populate - In less than 5 minutes using SQL for ArcGIS Pro, we add three new fields to a feature class in a file geodatabase and then we populate 3500 records with text and numeric values, all with just a few clicks. Way faster and easier than ArcPy or dialogs!



Better Diagnostics, Databases, and Queries

Build 175.1 is a cutting edge build that contains a big set of fixes and improvements for databases, better error diagnostics for operations on data in MAP files, and a rework of query operations for tile masks. Highlights include:

  • Improved Error Diagnostics - Error messages for table design operations and for table record operations in MAP files have been extended to include the names of fields, the names of constraints, and the names of indexes relevant to the error.
  • Data Caches in External Databases - Data sources set to cache data in the parent database check the capabilities of the parent database and proceed without cache if the database does not support all features required for caching.
  • Separate caches for Each Schema - Data sources set to cache data in the parent database use separate cache tables for each database schema. Data sources will continue working without cache when cache tables cannot be created or are inaccessible.
  • UNIQUE Indexes - All databases implement uniqueness requirements implied by BTREExxx indexes using UNIQUE indexes instead of UNIQUE constraints. Using UNIQUE within indexes matches more closely semantics currently in use by the system. BTREExxx indexes created by older versions of the system will continue to work as before.
  • Faster Bounding Boxes - Bounding box computation for geometry data on SQLITE with SPATIALITE or ESRI ST_GEOMETRY extensions (as used in ESRI Mobile Geodatabases) uses ST_MinX, ST_MinY, ST_MaxX, and ST_MaxY functions for much better performance.
  • Automatic Name Compliance - Creating a new table on DB2, Jet, MySQL, Oracle, PostgreSQL, and SQL Server databases with a name specified that is longer than allowed by the server reduces the name of the table to obey server limits on names.
  • Raster TileMask Functions - TileMask and TileMaskReplace SQL functions now produce and accept numeric tile masks, setting pixels as visible or invisible using numeric values within masks.
  • Raster Tile Comparisons - NOT,  AND,  OR, and XOR operators for tiles now accept numeric tiles with 0 or any other values:  0 is interpreted as FALSE and any other value is interpreted as TRUE.  The operators produce a numeric tile with 0 or 1 values. The Compare SQL function and BETWEEN SQL operator for comparisons between numbers and raster tiles and between raster tiles produces numeric raster tile results with -1, 0, or 1 pixel values.

The new activation system is easier

New Activation System

Starting with Release 9 build 9.0.175 and Release 8 build 8.0.31, Manifold® products use a new activation system. The new system provides a never ending crop of activations while being easier to use. All new serial numbers use the new activation system. Upgrading to the new activation system is free for Release 9 and Release 8 licensees.

See the New Activation page for details.

Important: If you do not want to switch over to the new activation system, do not install and activate Release 9 build 9.0.175 or Release 8 build 8.0.31. Activating a newer build using a legacy serial number will automatically upgrade that serial number to the new activation system. That is a one way upgrade: Once upgraded, a serial number cannot be degraded back to legacy status.

While the new system provides great convenience for most people, some licensees may prefer to stay with the old activation system. If desired, licensees can stay with the old activation system by not installing new builds. To stay with the old system, continue using Release 9 build 9.0.174 and Release 8 build 8.0.30. See the New Activation page for more information.


SQL for ArcGIS Pro

New Product: SQL for ArcGIS® Pro

New ! Esri users can now enjoy the world's best spatial SQL as an add-in to their favorite Esri desktop GIS package.

SQL for ArcGIS Pro is a new add-in for Esri's ArcGIS® Pro desktop GIS. The add-in provides spatial SQL for Esri file geodatabases in an ArcGIS Pro project in tight integration with ArcGIS Pro.

The add-in enhances ArcGIS Pro with the world's most powerful desktop spatial SQL engine, Manifold's Radian® engine, to unleash the phenomenal power of SQL from your ArcGIS Pro desktop. Enjoy full-featured SQL, superior quality, and the amazing speed of parallel CPU and parallel GPU query execution, all supported with hundreds of SQL functions for every spatial need.

In Advanced mode the add-in runs spatial SQL with hundreds of file formats, databases, web servers, and other data sources outside of ArcGIS Pro. Ultrafast data storage in the add-in makes it easy to combine huge data from outside your ArcGIS Pro project with data inside the project.

SQL for ArcGIS Pro - Install and Activate - A short new video showing how to install and activate SQL for ArcGIS Pro, and then how to launch the add-in and do real SQL with file geodatabases! The first three minutes show the super easy installation and activation process with the rest of the video showing a quick start to writing and executing SQL queries, including use of the query builder.

See the SQL for ArcGIS Pro page for an overview.

SQL4Arc Home Page

Special Introductory Offer

$145 - SQL for ArcGIS® Pro - Save $100 off the regular price of $245. Single desktop license that includes all SQL for ArcGIS Pro features. Requires Esri ArcGIS® Pro version 2.8 or more recent, including the new ArcGIS Pro 3.x release. Includes free download of maintenance upgrades. This is a fully paid license and is not a limited time license or a lease. Best buy.


New Base Build: 9.0.175

Build 175 is a Base build that's published as a Windows installer package as well as portable installations. Build 175 includes all new items and fixes from all Cutting Edge builds since the last Base build, build 174. It includes enhancements to activation and other features since the prior Cutting Edge build, Build 173.4:

  • New Activation System - Build 175 introduces a new activation system that is simpler and easier to use, and which provides never ending regeneration of activations. All new serial numbers use the new activation system. Using a legacy serial number to activate a build 175 or later installation will automatically upgrade that serial number to the new activation system, starting off with a fresh crop of activations.
  • HTTPS for security - URLs used for Manifold sites in the product and in install packages have been switched from HTTP to HTTPS.
  • Big GPGPU Code - GPGPU code synthesized by Manifold on the fly can use more than 4 GB of GPGPU memory per processing batch, an increase from the former limit of 4 GB per batch. The former limit was difficult to hit: To hit the limit, the query had to have a SQL expression that was dispatched entirely to GPGPU and that expression had to be extremely large. The increase in memory size is aimed at future scenarios, to allow splitting operations into bigger chunks in the future, enabling use of very large memory for processing. Actual code dispatched, of course, will be sized to memory available in whatever GPU cards are installed.
  • Mobile Geodatabases - A new read/write dataport supports connections to Esri mobile geodatabases. Esri mobile geodatabases are SQLite databases using an extension of .geodatabase with specialized ST_GEOMETRY types. Reading and writing ST_GEOMETRY data requires installation of an Esri SQLite extension .dll that Manifold provides on downloads pages. The SQLite dataport allows loading Esri's ST_GEOMETRY extension into Manifold's internal implementation of SQLite.
  • Multipoints - In Field dialogs for all databases that require limiting geometry fields to a single subtype, the list of subtypes for geometry data now includes a pointmulti choice.
  • LiDAR Format Enhancements - LAS / LAZ and LAS library dataports report the file source ID even if it is zero. The LAS / LAZ library dataport also reports the file path for each point.
  • Fixing an Esri Issue with Deletes - Deleting a table in a GDB from Manifold attempts to work around an issue in Esri geodatabase code that can cause a table to become unregistered in a geodatabase when a delete fails. The problem occurs when a table that is being deleted is locked in ArcGIS Pro. In that case the delete cannot succeed but it still starts and fails mid-way after unregistering the table from geodatabase structures. If the delete fails, the dataport checks the status of the geodatabase and if the table remains operable, the dataport marks the table in the metadata to trigger execution of special logic within Manifold that compensates for the table being partly unregistered.


Even Faster Queries, New Esri GDB Features, New Videos

Build 174.4 provides several significant improvements for the query engine and SQL functions, which can provide dramatic speed increases in certain cases.  Other new features provide improvements in ESRI file geodatabase (GDB) connectivity and LAS / LAZ LiDAR operations.

  • Faster File Geodatabases - The Manifold GDB dataport no longer reports indexes on tables returned by file GDB modules as BTREExxx, since Esri's indexes can only be efficiently used to search for individual records, with other operations being unoptimized. This lets the query engine optimize around not having these indexes instead of being tricked into using them with subpar results. Using Manifold optimizations can result in dramatically faster operations than using limited Esri indices.
  • Fixing an Esri Issue with Creates - Manifold's GDB dataport attempts to work around an Esri issue that frequently occurs in geodatabases created by recent versions of ArcGIS Pro.  The issue makes a newly created table fail to register completely. The dataport examines the state of the geodatabase and, if the table has been created and is operable, reports that the table has been created and marks it in the metadata to prompt execution of special workaround logic within Manifold that compensates for the table not being registered completely in the geodatabase.
  • Faster Unindexed Joins - The query engine optimizes unindexed INNER / LEFT / RIGHT joins based on certain very common join conditions for a big speed gain. The performance gains depend on the number of records in the involved tables, but are typically really big, similar to the performance difference between indexed and unindexed joins. Unindexed joins that took minutes often can be done in a few seconds. Wow!
  • On the fly Table Creation within File GDB using SELECT INTO - Dynamic creation of tables within Esri file geodatabases as a result of SELECT INTO queries is now easy, with new facilities to add property values to tables created in the GDB. That allows specifying geometry type and other Esri requirements. The feature also makes on the fly table creation with SELECT INTO easy in GPKG and other data sources which use properties to control how tables are used.
  • New and Improved SQL Functions - New GeomOverlayWithin SQL functions, including parallelized and Filter forms, do high performance overlays between a primary drawing and an overlay drawing, to return objects within a specified distance of each other. New optimizations for GeomOverlay family functions dramatically improve performance, especially when the overlaid drawings have many overlaps.

New Videos

A new 5 minute tutorial plus big updates on the three main Manifold tutorial videos have just been published. See the Videos page for the full collection of Manifold videos.

5 Minute Tutorial - Spatial Joins are Easier in Manifold - Spatial joins are easier in Manifold Release 9 than in other GIS packages, like ArcGIS Pro or Q.

We first import two shapefiles, one that shows the boroughs of New York City and another that shows the locations of nursing homes in New York. Next, we do a spatial join that adds up the capacities of the nursing homes in each borough to create a Total Capacity field for each borough, and then we thematically format the boroughs by Total Capacity.

Manifold Tutorial 1 - Navigation and User Interface - Welcome to Manifold Release 9! Learn basic navigation moves, user interface, and more in this fast paced video. Watch for a quick launch into effective use of this amazing new tool. Applies to the free Manifold Viewer too. Download the project used from OSM_Venice.mxb (117338 KB), a Release 9 format .mxb archive project (open in 9 or Viewer and it automatically expands into a .map).

Manifold Tutorial 2 - Add Data and Create a Map - The second tutorial continues the Venice example, showing how to import data to create the example map. We see how to import data, how to link it while leaving the data in place in a shapefile, how to copy and paste from other Manifold sessions, how to link in projects for dynamic access, and how to copy and paste data sources. We create labels from imported data. We import a terrain elevation raster and style it. For extra credit we extract just the data we want from a larger OpenStreetMap data set, select a further subset based on attributes, and then we export that result as a shapefile for use in other packages.

Manifold Tutorial 3 - Export Data and Print a Map - We add points to the landmarks layer, showing how to add attributes and how labels automatically are created for those new points. We then export data in various ways, exporting a drawing to a shapefile, exporting an entire map to an ESRI geodatabase, and saving a map in compressed archival form. Next we create a database connection to a PostgreSQL server and we copy and paste a drawing from the Manifold project into the PostgreSQL DBMS. Easy! Finally, we create a layout, we add the map to the layout, add a text frame and then we add an automatically created legend, tinkering with the legend to suit our taste. We print to PDF and open the PDF in Adobe Acrobat to show the PDF printed perfectly.


Natural Earth Natural Earth II

Illustrations above: The Natural Earth and Natural Earth II projections.

Build 174.3 Build 174.3 is another quick build that introduces advances in LiDAR data handling, two new projections, along and UI improvements and configuration conveniences.

  • LAS metadata - The LAS / LAZ dataport as well as LAS / LAZ libraries expose data within built in and custom LAS headers as Info and InfoVLR tables.
  • New Projections - There are two new projections: Natural Earth and Natural Earth II. These are modern projections designed to better portray the entire Earth. Natural Earth II is a more rounded projection, with smaller polar regions.
Left aligned multiline labels Center aligned multiline labels Right aligned multiline labels

Image above: The new Position control allows formatting multiline labels to left, center, or right align text, with full Unicode / international languages support.

Build 174.2 Build 174.2 is a quick build to enhance label capabilities, along with some database and UI improvements and miscellaneous fixes.

Line labels can follow spline segments Line labels can follow spline segments

Image above: Line labels will automatically move to avoid acute angles. In the upper illustration we edit a line to introduce an acute angle. When we apply the change, the label automatically moves to follow the line where it avoids the acute angle.

  • Halos - Rendering curved line labels renders halos.
  • Label positioning - Placing a line label prioritizes placing the label near a straight line segment that is long enough to fit it. If there are multiple such segments, the system uses the segment closest to the center of the line.
  • Acute angles avoided - Placing a line label avoids placing the label onto a sequence of segments with high curvature (large angles between segments), to improve legibility. The maximum bend angle can be specified in the Label Style dialog.
  • Multiline text alignment - Rendering labels with multiple lines of text uses the left, center, or right alignment specified in the in the Label Style dialog.
  • EPSG Updates - EPSG coordinate systems that switched bases (5 cases) and coordinate transforms that switched source or target systems (3 cases) in the latest, 10.19 version of the EPSG database have been adjusted to coincide with their EPSG definitions.
  • Startup tips for new users - The gray background area of the main Manifold desktop window shows a dimmed Manifold logo and dimmed text with tips for new users.
  • PostgreSQL Collations - Creating a primary key on an existing text field in PostgreSQL always uses the collation of the field. This became a requirement in PostgreSQL 13. Secondary indexes continue to be able to use collations different from those of the fields.
  • MySQL and SQL Server Collations - Creating an index on an existing text field in MySQL or SQL Server always uses the collation of the field and does not attempt to change it. Previously, adding an index on a field that was not part of any other index attempted to change the collation of the field to that specified for the index. The system no longer does that and instead shows, for a likely edit, the collation of a field directly in the user interface.
  • Nested include directives within queries - Nested include directives in queries now resolve from the current data source instead of from the data source of the topmost query. This allows composing a query with includes, then including that query from within a different data source with nested includes resolving correctly.
  • References to components within included queries - References to components in included queries now resolve from the current data source instead of from the data source of the topmost query. This allows composing a query which references a script function, then including that query from within a different data source with the script reference resolving correctly.

Line labels can follow spline segments

Image above: Line labels will smoothly follow curves in spline segments. In addition to straight segments, Manifold lines can be built from circle arcs, ellipse arcs, and splines.

Hardware Videos

Hardware videos from a software company? Sure! Manifold's staff includes world-class hardware talent from innovative computer systems and leading CPU and GPU companies, like Intel, to ensure Manifold software provides maximum price / performance on real-life hardware.

Check out other recently-added videos lower down on this page. See the Videos page for the full collection of Manifold videos.

Manifold Hardware - David vs. Goliath - Part 1 - A hardware video, taking a look at some of the hardware used in Manifold videos, including Manifold E boxes used for software development. Part One of the David vs. Goliath comparison shows the 48-thread Threadripper machine shown in various videos, and compares that in size to an ultra-small 8 thread Ryzen 3 mini-ITX motherboard. In the David vs. Goliath comparison, which machine will be faster? ...David running Manifold Release 9, or Goliath running ESRI ArcGIS Pro? Stay tuned to see!

Manifold Hardware - David vs. Goliath - Part 2 - Part two of the David vs. Goliath hardware comparison takes a closer look at the tiny, mini-ITX, Ryzen 3 system that plays the David roll, showing the low-profile case that makes for a highly portable, low cost system that's great for GIS. The video discusses various options for even more power in such very low cost, high performance, super portable rigs with superb keyboards and great displays.


Build 174.1 introduces new label functionality, including labels that follow curved lines, with extensive support for Unicode and multiple languages. The build also provides truly convenient drag and drop capability to easily import or link data into a project from files or databases browsed in Windows Explorer. Other conveniences include support for GDAL/ORG VRT files, both raster and vector, upgrades to EPSG 10.19, a new coordinate system, and enhancements to SQLite and GPKG dataports

Create curved labels using multiple different languages

Image above: Create labels that automatically follow curved lines, using different languages and even mixing right to left and left to right languages in the same label.

  • Drag and Drop to Import and Link - Dragging and dropping files from Windows Explorer into the Project pane imports files, and dragging and Shift-dropping links those files.  The cursor automatically changes to show import or link when pressing the Shift key during the drag. See the new 10 Minute Tutorial - Drag and Drop video.
  • Drag and Drop Direct into Data Sources - Drag and drop data directly from Windows Explorer into data sources, with set up and conversion on the fly. Drag shapefiles from Explorer listings directly into ESRI file geodatabases, PostgreSQL/PostGIS databases or other databases linked into the project. Drag and drop directly into a database is the fastest way in GIS to load up a PostGIS database .
  • Drag and Drop Projects - Drag and drop Manifold .map project files or .mxb archives to pop open projects or to load or link data from other projects. Load or link thousands of components instantly, retaining the full hierarchies and organization of the original projects.
  • Import or Link VRT files - GDAL/OGR VRT files are text files that specify how to import or link lists of individual image or vector files. VRT files are often used to create a single "virtual" raster image or vector drawing from collections of many individual raster or vector files. Linking a VRT in Manifold creates what appears to be a single raster or vector, and importing automatically assembles data from files into a single component. Works with drag and drop, too!
  • Curved Line Labels - Labels that follow lines composed of multiple segments now automatically curved to follow bends in the lines. New algorithms support improved placement of characters and words to avoid label text distortion. Placement is also optimized for lines that are partially in view or off screen. Optimizations support curved labels in high resolution printing and large print areas. Upcoming builds will add even more controls.
  • Advanced Support for Many Languages - The label engine fully supports advanced Unicode features to handle multiple languages, even in the same label. Unicode features include multiple code points collapsing into a single glyph, a single code point expanding into multiple glyphs, all types of whitespace, right to left language text (like Arabic or Hebrew), and more. Mix different languages in the same label, even mixing right to left and left to right languages in the same label.
  • EPSG Upgraded - Manifold now includes the latest, and greatest EPSG 10.19 database, with thousands of upgrades, including to conversion methods.
  • WKT / WKT2 EPSG Upgrades - Writing a coordinate system to WKT or WKT2 (for example, using a Transform template) writes authority codes for EPSG systems. Parsing a coordinate system from WKT or WKT2 reads authority codes for EPSG systems: if the definition of the parsed system matches that of the referenced EPSG system, the system will add the EPSG code to the parsed system, to allow using transforms for that system specified in the EPSG system, for example, transforms based on grid files.
  • SQLite / GPKG + ESRI Upgrades - The SQLite and GPKG dataports have been upgraded to support ESRI ST_GEOMETRY for users who have installed ESRI's optional extension for SQLite. The dataports have also been enhanced to support deleting and renaming table fields.
  • New Projection - A new coordinate system type has been added: Lambert Conformal Conic (Single Parallel, B).

New Videos

Check out recently-added videos for a quick start on new features and to learn the ins and outs of the truly vast range of Manifold capabilities. See the Videos page for the full collection of Manifold videos.

10 Minute Tutorial - Drag and Drop - Drag and drop files from Windows Explorer into Manifold Release 9 or Manifold Viewer to open projects, and to import or link files and databases into a project. This video shows how easy it is to import or to link one file or many files, using many different formats, all at once into a Manifold project. Easily import or link into a project or into data sources within projects. You can actually drag and drop a shapefile from Windows Explorer directly into an ESRI geodatabase data source. Super! Drag and drop is so fast and easy you'll never use the File menu again! Works in the free Viewer too, the quickest way to pop open files in Viewer.

10 Minute Tutorial - TileMaskRange Expressions - We learn how to use the power of Manifold Release 9's many SQL functions without needing to learn SQL. The Transform pane's Expression template allows us to apply individual SQL functions, to transform rasters, vectors, and tables using hundreds of powerful SQL functions.

The example tutorial shows the TileMaskRange function in action, used to knock out unwanted pixels in images, marking them as missing pixels to make them transparent. We first apply the function to knock out unwanted black border pixels from a Landsat image, so the Landsat image can be seamlessly overlaid on other satellite backgrounds. Along the way we see how Previews can show us what will happen next, to guide our choices of parameters. We also show how to invert mask effects.

Next, we use the function to knock out thematically formatted pixels in a terrain elevation raster to create dramatic and useful raster contouring effects. All this works in both Manifold Release 9 and the free Manifold Viewer as well. This is a video version of the Example: TileMaskRange Expressions topic.

5 Minute Tutorial - Find Surrounded Parcels - A recent thread in the Manifold user forum asked how to find all parcels that are completely surrounded by a single other parcel, to find locations where easements may be hosting cell phone towers, or other isolated parcels. This video shows a fast and simple way of finding such parcels using Manifold Release 9 that is way easier than what you have to do in other GIS packages, like ArcGIS Pro.

In less than five minutes of actual work, we use the Join dialog to do a quick self-join, we use the Clip editing command to create an overlay, and then we do a spatial select. Done! What's complicated in other packages is easy in Manifold because of faster and easier to use commands and user interfaces. Works in the free Manifold Viewer too!

"This shows why Mfd's approach to GIS is so good. Flexible tools that allow rapid GIS gymnastics. While version 8 was really great at this, 9 has the join dialogue and now cool drawing tools that add to the quiver. The rapid application of the tools from the minimalist interface makes finding solutions so much more enjoyable." - Forum post

10 Minute Tutorial - Editing with Erase - The new Erase command in Manifold Release 9 removes portions of areas, lines, and points that are erased by drawing new areas or with existing areas. This fast-paced video shows three different examples, including freehand erasing, using areas to erase in different layers, and borrowing an area from one part of a map to erase in different parts of the map. Erase is very fast, flexible, and intuitive, minimizing the number of clicks required for powerful editing. Works in the free Manifold Viewer too.

"What a great video and set of tools! After just a few days of extensively using these tools, editing multiple drawings just became a lot more easy and straightforward. This is indeed an outstanding addition to Manifold vector data editing tools." - Forum post

Erase regions drawn freehand with the Create Area tool Erase regions drawn freehand with the Create Area tool

Images above: Interactively draw areas to erase. You can also pick areas to use as erasers, or enter or edit coordinates for where to erase.

Build 174 is a Base build that's published as a Windows installer package as well as portable installations. Build 174 includes all new items and fixes from all Cutting Edge builds since the last Base build, build 173. It includes enhancements to editing and other features introduced in the prior Cutting Edge build, Build 173.6:

  • New Erase Tool - Fast and easy erasing of portions of existing areas, lines, and points in a specified layer that are either inside or outside of the erasing area. The erasing area can be either an existing area, in the same layer or a different layer, or a new area in the process of being created. Edit coordinates for the erasing area on the fly as well! See the new Erase topic.
  • Clip from Other Layers - The Clip command now allows clipping with objects in a different layer, and allows specifying the layer to clip with. The choice persists in the dialog for that same window. See the updated Clip topic Clip topic for examples.
  • Split Other Layers - The Split command now allows specifying a different layer to split. The choice persists in the dialog for that same window. See the updated Split topic for examples.
  • Split with New or Existing - The Split command can be used with a new or existing line or area, in addition to a path. Use existing objects to split, in the same layer or different layer, or draw a splitting line interactively with a path.
  • Spatial Selections - The Select pane includes a new Spatial template for geometry values, that allows spatial selections to select objects which are adjacent to, contained by, are containing, are intersecting, or are touching records/objects from a different layer. Spatial selections can use either all objects or selected objects. The template always runs full parallel, using multiple threads.
  • New LiDAR Dataport Features - The LAS and LAS Library dataports now automatically scale X, Y, and Z attribute fields based on the coordinate system used. LAS libraries automatically compute shifts and scales for the entire data set, and optimize opening files as their data is needed for even faster launch. LiDAR exports now always use the LAS 1.4 standard with automatic upgrades of prior LAS standard data.
  • Automatic SQL from the Join Dialog - If you prefer running SQL to using point-and-click dialogs, the Join dialog now provides a one-click option to automatically write for you the update SQL that implements the Join as setup in the dialog, without actually doing the Join. That allows easy modification, for example, for custom aggregates and other processing, and to set up automated workflow when Joins are to be repeated, like every week for a newly updated data set.
  • Query Functions for Missing Pixels - A new TileMaskRange query function automates handling of missing pixels in rasters by marking values inside or outside the given range as missing pixels, with an option to include or exclude boundary values. Tile functions for scalar and X2, X3, and X4 vector raster values have been updated with a parameter to include or exclude missing pixels from outputs.
  • Numerous DBMS updates - Numerous updates add features in dataports for PostgreSQL, Jet DB, Jet XLS, Jet WKx, ADO.NET, MySQL, SQLite, Oracle, DB2, OLE DB and ODBC.
  • Many Library Updates - Numerous updates add features in dataports for PostgreSQL, Jet DB, Jet XLS, Jet WKx, ADO.NET, MySQL, SQLite, Oracle, DB2, OLE DB and ODBC.
  • Numerous DBMS updates - Key external libraries used by Manifold have been updated to provide better peformance, greater capabilities and minor fixes, including NVIDIA CUDA, ECW, Google WEBP, and SQLite, with ICU being reworked to use the Windows 10 ICU package whenever Manifold is run on Windows 10.
  • New, Smaller Download - Google's V8 scripting language has been moved from being a built-in to requiring an optional download. This reduces the size of a typical Manifold installation package by almost 20MB, now down to only 53MB. Other built-in languages continue to be built in, with Javascript provided by default using the built-in Jscript.NET language. Manifold continues to support ten scripting languages by default, with five scripting languages built in and always available. See the Scripts topic.
Erase regions drawn freehand with the Create Area tool Erase regions drawn freehand with the Create Area tool

Images above: Erase in action. Start with two layers, a layer showing the Great Lakes and another layer showing the Countries border between Canada and the US in the Great Lakes region. We want to erase from the Countries layer all regions covered by the Great Lakes.

Erase regions drawn freehand with the Create Area tool Erase regions drawn freehand with the Create Area tool

Images above: Easy! With both layers in the same map, Alt-click the Great Lakes area to pick it and then choose Erase to erase instantly those parts of the Counties layer covered by the Great Lakes. The last illustration has the Great Lakes layer turned off to show where the Erase happened. Zero effort sure beats lots of manual clicking!


split an area with a path line

Image at right: Use mouse moves or enter precise coordinates on the fly or a mix of both to draw a path that exactly splits an area on the 17th parallel. Easy!

Build 173.5 adds yet more enhancements to georeferencing, editing, and LiDAR work with LAS and LAZ files:

  • Enhanced georeferencing error reports - Error values for individual control points in the Register pane are automatically translated into the units of measure used in the target coordinate system, like feet or meters or other units.
  • Total Error RMS readout - The Register pane automatically reports total RMS error at the bottom of the pane for the proposed georeferencing.
  • Dynamic snap options for placing control points - Enjoy the full roster of rich snapping capability when placing control points. Combined with the use of multi-layer targets, snapping to any vector layer in the map or to grids for any layer allows precise placement of control points even when the target layer doesn't have the visible features desired.
  • Edit Path coordinates on the fly - When using the Path tool to split areas and lines or to make measurements, coordinates automatically appear in the Info pane coordinates list, allowing precise cutting with on the fly specification of coordinates for the cutting path.
  • Limitless triangulation - Georeferencing using triangulation has always been a popular choice from the many georeferencing methods Manifold provides, but now is no longer limited to within the bounds of control points: Manifold's new triangulation method can georefernce an entire image, even when control points cover only part of the image. Super!
  • Automatic layout updates - Print layouts make it easy to compose sophisticated presentations, using frames that can be populated from many maps with many layers. Layouts now automatically update when changing layers within maps, like adding or removing layers, reordering them, turning them off and on, and changing transparency.
  • LiDAR data enhancements to LAS and LAZ - Manifold is a great tool for manipulating LiDAR data and then exporting to LAS and LAZ. New enhancments automatically embed coordinate system information into the LAS or LAZ file, and automatically use WKT or WKT2 with automatic conversion from other coordinate system specifications into WKT.
  • Export data shortcut - A new, single-click Export Selected command makes it easy to export only selected records from tables. That's a great way to use point and click interactive Selection tools to refine a selection and then instantly export to popular formats like CSV, ESRI GDB, GPKG, JSON, LAS or LAZ, XLS, MDB, and others.

Build 173.4 adds spectacular new editing commands for interactive editing, making it even better as the fastest and easiest way to edit vector layers.

Create Areas and Lines with Automatic Clipping

The new Clip interactive editing command makes it easy to create areas that automatically follow boundaries of existing polygons, to create complex new areas. It's also easy to create new lines that are clipped to complex boundaries.

Suppose we would like to draw a single polygonal area that automatically fills in the regions between building footprint polygons in a neighborhood.

draw an areaChoose Clip

Choose Create Area and in the usual way draw a polygonal area that outlines the neighborhood. Right-click and choose Clip from the pop-up edit menu, and choose OK. Instantly, the provisional area outlines are automatically redrawn to follow the boundaries of building polygons within. We can further edit those if we like, or proceed with a single click to create the new area.

Clipped provisional arearesulting area

Commit the edit (a single click) and Manifold auto-completes the new polygonal area, with open regions that exactly fit the building polygons. We can Cut that new area and Paste it into a new layer to see it without the building polygons, to see the fantastic complexity of polygon we created in just a few seconds and a single Clip command click. The new area is perfectly aligned to the boundaries of the building polygons. Super!

High Speed, One Click Merge

The new Merge interactive editing command provides a super fast, one-click merge to combine areas or lines in place with sophisticated merging of attributes. Merge multiple area, line or point records into one. Merge pops open a dialog which allows switching between merging all objects or just selected objects (the default).

three areasmerged into one area

Transfer rules are automatically remembered to make repetitive edits fast:
  • (none) - Keep the value in the picked record, any field type.
  • copy - Keep the value in the picked record if it is not NULL, otherwise use a first encountered non-NULL value from one of the merged records, any field type.
  • minimum / maximum - Use the minimum or maximum value, any field type except binary.
  • average / sum - Use the average value or the sum of all values, any numeric field type.

Fast and Easy Interactive Split

The new Split interactive editing command uses an interactive cutting line to split areas or lines into separate parts, producing new objects in place for each part and automatically splitting attributes as desired. Split pops open a dialog which allows switching between splitting all objects cut by the line or just selected objects (the default). You can also split using lines or areas in other layers.

three areasmerged into one area

Images above: Draw a cutting line with the tracker, right-click and choose Split. The result at right above has been shifted slightly to show where the split happened.

Transfer rules are automatically remembered to make repetitive edits fast:
  • (none) - Use a NULL value, any field type.
  • copy - Keep the original value, any field type
  • split - Split the original value equally between parts, any numeric field type.
  • split proportional - Split the original value between parts proportionally to their area (for areas) or length (for lines), any numeric field type.
transfer rules

Image above: Transfer rules specify how to allocate attributes into the split results. Population of states, for example, can be split proportionally into the resulting parts, while the name of each of the resulting parts stays the same as the original.

New Interpolation Methods

The latest build introduces two major new interpolation methods, along with various enhancements to existing interpolation methods.

  • Natural neighbors - A new spatial interpolation method originally developed by Roger Sibson. The method is based on Voronoi tessellation of a discrete set of spatial points. This has advantages over simpler methods of interpolation, such as nearest-neighbor interpolation, in that it provides a smoother approximation to the underlying "true" function. Manifold's implementation uses Sibson weights to match the approach taken in ESRI's multi-thousand dollar Spatial Analyst option.
  • Thin-plate spline - A new interpolation method analogous to thin-plate spline algorithms used in georeferencing interpolation.
  • Even more parallelization - All interpolation methods are fully parallel, with parallel SQL functions introduced to enable fully parallel SQL interpolation as well.

Recent Videos

Wow! Lots of new videos to make it easy to learn and apply the wonderful new georeferencing capabilities in Manifold. See the Videos page for the full collection of Manifold videos.

5 Minute Tutorial - Editing with Clip - Spectacular new editing commands in Manifold Release 9 provide super easy, fast, and powerful interactive editing, the fastest and easiest way to edit vector layers in any data source.

The new Clip interactive editing command makes it easy to create areas that automatically follow boundaries of existing polygons, to create complex new areas. It's also easy to create new lines that are clipped to complex boundaries. See how in this short video.

Also see how to combine the Clip command with the new Merge editing command to edit polygons "in place" in whatever data source we want, including ESRI geodatabases, PostGIS, data sources, GPKG, shapefiles or any of hundreds of other data sources. Super! Works in the free Manifold Viewer too.

Newsflash - Merge, Clip, and Split - See a three minute, temporary video showing how to use fast and easy, new editing commands.

  • Merge - Instantly combine multiple areas, lines, or points into a single area, line, or point with fast choice of how attributes should be merged.
  • Clip - Create a new area or a new line and in the same step clip the area or line precisely to the boundaries of overlapping areas, either inside the overlapping areas or outside.
  • Split - Draw a line and instantly split existing areas and lines, with fast choice of how to split attribute values.

5 Minute Tutorial - Create a Multiband Landsat Image -

Landsat data provides images in individual bands, such as Bands 4, 5, and 6, for visual red, near infrared and shortwave infrared. Creating large, multiband Landsat images using many Landsat tiles can involve combining dozens of individual band images.

Manifold Release 9 is perfect for the job, because it can handle many large rasters effortlessly, merging them instantly, and then combining bands into false color RGB multiband images. Manifold does all that with easy to use, point and click dialogs. No need for programming.

This fast-paced video shows how in under five minutes of workflow, including importing the original Landsat data downloaded from USGS. All this works in the free Manifold Viewer too.

5 Minute Tutorial - Scrape an ESRI Feature Server - Working with web-based ESRI feature servers? If you want your own copy all the vector features (points, polylines, polygons) those servers provide that's easy to do with Manifold Release 9.

This video shows how to connect to a typical ESRI feature server, how to drill down and open the feature layer desired, how to copy all the features and to paste them into the local project. It's all a simple matter of point and click, copy and paste. All this works in the free Manifold Viewer too.

5 Minute Tutorial - LAS Point Statistics by Area - Save thousands by using Manifold Release 9: The "LAS Point Statistics by Area" tool in Spatial Analyst for ArcMap and ArcGIS Pro adds attribute fields to polygon features for LiDAR points that fall within those polygons, adding the minimum, maximum, and mean Z values in each polygon, as well as the point count of LiDAR points in each polygon, and also the standard deviation of Z values in each polygon.

The video shows how to do the same thing in just a few clicks in Manifold's point-and-click Join dialog. No need to buy Spatial Analyst. Manifold includes the Join dialog and thousands of other capabilities, all for only $145. Save thousands of dollars and enjoy easier workflow too!

Manifold also is much easier than using expensive products like LAStools, and costs far less in labor than writing your own code in Python, PDAL, or other lower level tools. All this works in the free Manifold Viewer too.

5 minute Tutorial - Georeference Many CAD Layers - Georeferencing CAD layers is a common task in any GIS. Manifold Release 9 makes it a lot easier with fast, simple workflow that avoids extra effort and lets us recycle what we've already done.

This video shows how we can add a few control points just once and then georeference an entire stack of CAD layers imported from a DWG without adding more control points or repeating any work. If the DWG contained a hundred layers we could do them all!

This is much easier than the complicated, more labor intensive procedures in ESRI or other GIS packages. All this works in the free Manifold Viewer too.

Georeference a Scanned Paper Map - In only five minutes of actual work we use Manifold Release 9 to georeference a 157 MB scanned paper map so it can be used as a layer in GIS. The scanned map is a historic map showing Davy Crockett National Forest in Texas, downloaded from the Library of Congress website.

Compare Manifold workflow to ESRI workflow and you'll agree it's a lot easier, quicker, and less confusing in Manifold. Fast GIS is fun GIS!

Georeference a Whole World Image - We see a map we like on a web site so we make a screenshot. How to use that map in GIS? Easy! We georeference it using Manifold. The video shows how to georeference an image scraped from the web that shows the geology of continents as they were 200 million years ago.

We mark four control points in the image, then we roughly mark four corresponding control in a Manifold map using Bing as a background layer. In the Register pane we edit the coordinates of those control points to be even +/- 90 and +/- 180 degrees, and then we press Register. Done!

The video also shows how we can import and georeference a second image similar to the first, without needing to add any control points, just re-cycling the ones we created before. Less work is great!

Previous What's New Pages: See the previous What's New page for prior news.


Manifold runs parallel on all cores

Faster by Design

Manifold is 64-bit and fully parallel throughout, automatically unleashing the incredible power of all of the CPU cores in your system. Four cores or sixty four, Manifold uses them all. Even faster, Manifold automatically launches massively parallel computations using thousands of available GPU cores for supercomputer speed. Running on a 24 core processor? Manifold will use all 48 threads.

Image at right: Manifold running 48 threads with 100% utilization on an inexpensive 24 core / 48 thread AMD Threadripper. Running 48 threads with 100% utilization Manifold takes only 9 seconds to compute Path Distance. ESRI's Spatial Analyst on the same machine takes 12 minutes, using only nine threads with poor utilization. Add Manifold to your ESRI toolset for faster geoprocessing.


Buy Now via the Online Store

Buy Manifold® products on the Online Store. The store is open 24 hours / seven days a week / every day of the year. Orders are processed immediately with a serial number sent out by email in seconds. Enjoy the world's most advanced spatial tools today!

 Click to begin shopping

Georegistration preview

A georegistration preview menu when previewing the georegistration of a drone photo. Starting with the same nadir drone photograph as in ESRI's ArcUser example the illustration shows a preview in blue color of georegistering that photo to a known good target layer, a Google satellite layer. Right clicking on the preview bar calls up a menu that controls the display of the preview, allowing it to be seen with partial transparency or with a split screen effect to the left or right side of the display window, with the dividing line between the preview and the rest of the window draggable to the left or right. The preview shows what a simple affine georegistration using six control points will do.

About Manifold

Manifold is a deep technology company creating advanced, parallel algorithms, next-level technology, and computation know-how that powers faster performance and smarter operations.

License Manifold® technology to power your company's products, or take advantage of Manifold's off-the-shelf commercial products. Jump decades ahead of your competition.

Manifold® brand products deliver quality, performance and value in the world's most sophisticated, most modern, and most powerful spatial products for GIS, ETL, DBMS, and Data Science. Total integration ensures ease of use, amazing speed, and unbeatably low cost of ownership. Tell your friends!

Questions? Contact sales@manifold.net. We're happy to help!