Projections

The terms projection and coordinate system are used as synonyms by Manifold.  Projections are used within Manifold for three main reasons:

 

 

Manifold handles essentially all known projections and automatically works with a variety of systems to specify projections.  See the discussion in the About Coordinate Systems  topic for information on the various systems known to and automatically used by Manifold.

Manifold Reads Coordinate Systems Automatically

Modern formats and data sources that are well-designed for spatial data will automatically specify the coordinate system to be used for the data they provide.  Manifold reads automatically reads such information.   When we import or link from such modern formats or sources, drawings and images will appear in Manifold with the correct coordinate system automatically assigned.  

 

We can then use the data in our workflow without worrying about the coordinate system in use.   Drawings and images will appear in the right places in maps with other layers, we can re-project them if we like and so on.  The coordinate system they use will appear in the Contents pane using normal, black text to indicate the coordinate system has been automatically specified by the format or data source.

Projections Manifold Knows

Manifold understands and can work with over 6500 coordinate systems, including all coordinate systems and transformations specified by the vast EPSG system.   When importing from or linking to a data source that conveys coordinate system information Manifold will automatically use the coordinate system specified for the data, including any projections specific to the data source, such as SRID designations of coordinate systems used by a particular data source.   See the Projections topic to learn how to work with projections in Manifold.

 

Some file formats utilize accessory files such as "world" files, or .PRJ files to convey coordinate information for formats, such as shapefiles, which do not automatically convey coordinate system information.   When reading formats Manifold will automatically read coordinate system information from accompany files, if they exist, in the following order: "world" files, .PRJ files, .XML files (Manifold System 8.00 accessory file) and .MAPMETA files (Manifold accessory files).  In the event of conflicting coordinate definitions the last read file wins, since the read order is in order of more rigorous definitions.

 

Manifold maintains coordinate system information in JSON format to enable easy interoperability with third party code.  When exporting data to a file Manifold will write a .MAPMETA accessory file saving the JSON coordinate system information in plain text.  When exporting to shapefiles, Manifold will automatically write a .prj file with projection information as well.  

Formats that Do Not Specify Coordinate Systems

Some older formats and formats poorly suited for spatial work, such as CAD formats, do not specify the coordinate system used by the data they contain.  

 

Manifold will detect that a source failed to provide coordinate system information, will assign a temporary placeholder coordinate system of Pseudo-Mercator, and will report that coordinate system in the Contents pane using red text to alert us that it is just a provisional placeholder.

 

Before we use that data we must specify the projection manually by launching Assign Initial Coordinate System in the Contents pane.

 

When Importing or Linking from non-spatial formats:

 

  1. Import or Link the file.

  2. Open the drawing or image.

  3. In the Contents pane, launch Assign Initial Coordinate System.

  4. Specify the coordinate system used by the data.

 

Always do the above procedure when importing or linking drawings or images from formats which do not specify the projection used for the data.  This includes all shapefiles not accompanied by a .prj file..  

 

See the Example: Import a Shapefile topic.

Projections and Images, Drawings and Maps

Vector data used for drawings and raster data used for images will always display data using the projection for which the data they contain has been computed.    Any other layers within a drawing's window will be re-projected on the fly into the projection used by the drawing, and likewise for image windows.

 

Map windows can use any projection desired no matter what projections are used by the components within them. The view of the components within the map will be re-projected on the fly to suit the projection used by the map. This works well so long as the components within the map are not extremely large.    Since it takes time to re-project very large components on the fly it makes sense to manage the projections we use so that the same projection is used by the map and by the biggest components it shows.  

 

btn_coord_sys_picker.png When a new map is created it takes its projection from whatever is the first component added to the map.  To change the map's projection, in the Contents pane we click on the coordinate picker button for the map's coordinate system.

 

We specify what projection we want a map window to use with the Edit - Map Projection command.

Manage Projections in the Contents Pane

The Contents pane is our primary interface for seeing the coordinate systems assigned to components and to edit those coordinate systems.  In Manifold, the terms "projection" and "coordinate system" are synonyms and are used interchangeably.

 

Manifold handles all projection information for us automatically, for example, automatically re-projecting layers in a map on the fly to match the projection use by the map.  Manifold also will automatically assign a projection to components such as drawings and images that are imported or linked into Manifold.

 

Modern formats and data sources that are well-designed for spatial data will automatically specify the coordinate system to be used for the data they provide.  When we import or link from such modern formats or sources, drawings and images will appear in Manifold with the correct coordinate system automatically assigned.  

 

We can then use them in our workflow without worrying about the projection they use.  They will appear in the right places in maps with other layers, we can re-project them if we like and so on.  The coordinate system they use will appear in the Contents pane using normal, black text to indicate the coordinate system has been automatically specified by the format or data source.

 

Older formats and data sources or those which are poorly-designed for spatial data, such as CAD formats, often will not specify the coordinate system to be used for the data they provide, or they will do so in an incomplete way.  When Manifold brings in such data it will assign the default coordinate system, WGS 84 / Pseudo-Mercator (EPSG:3857), as a placeholder, and will use red text in the Contents pane to indicate the coordinate system must be manually specified before that data can be used.

 

We use the Contents pane for three key activities involving coordinate systems:

 

 

 

 

For a step-by-step illustrated example using the Assign Initial Coordinate System command, see the Example: Assign Initial Coordinate System topic.

Change Coordinate System

btn_coord_sys_picker.png Launched from a layer's coordinate picker button in the Contents pane, the Change Coordinate System command is used to re-project an image or drawing that already has had an initial coordinate system assigned, either automatically as a result of import from a spatially-aware source, or as a result of manual application of the Assign Initial Coordinate System command in the event of import from a spatially brain dead source.  

 

If the initial coordinate system has not yet been assigned, Manifold will display the coordinate system for the layer in red text and the Change Coordinate System command will not be enabled.  The only choice in the coordinate picker button's menu will be Assign Initial Coordinate System.

 

To change the projection of an image or drawing:

 

  1. Open the image or drawing.

  2. In the Contents pane click the coordinate picker button and choose Change Coordinate System.

  3. In the Change Coordinate System dialog click the coordinate picker button for the New system to use, and choose the new coordinate system desired, either from the favorites listed or by choosing Edit Coordinate System.

  4. Press the Add Component button to create a copy of this component using the new coordinate system, or..

  5. Press the Update Component button (drawings only) to update the drawing in place using the new coordinate system.

 

For drawings, changing the projection changes the coordinate numbers embedded in the drawing's geometry.  For images, changing the projection will change the number of pixels to interpolate coverage by pixels over the new shape of the image in the new coordinate system.  

 

Because the number of pixels and thus tiles will change changing the projection of an image is always an Add Component operation to create a copy of the image in the new projection form.  See the Re-Projection Creates a New Image topic for why re-projecting an image changes the number of pixels.

Assign Initial Coordinate System

If we work with data from modern formats and sources that are spatially aware, we will rarely need to use this command.  If we work with data from older formats, CAD formats, or other spatially-unaware formats we frequently will use this command.

 

btn_coord_sys_picker.png Launched from a layer's coordinate picker button in the Contents pane, the Assign Initial Coordinate System command is used to specify the correct initial coordinate system for an image or drawing that was brought into Manifold from a spatially brain-dead source.  If the originating format or data source failed to specify the coordinate system used, Manifold assigns a provisional placeholder, the default Pseudo_Mercator coordinate system, and then warns us the data has not had an initial coordinate system assigned by reporting the coordinate system in red text.

 

Assigning an initial coordinate system does not change the coordinate numbers embedded in a drawing's geometry and it does not change pixels in images.   It only specifies the correct coordinate system property to be associated with that drawing or image so the data they contain makes sense as intended.

 

To assign an initial coordinate system:

 

  1. Open the image or drawing.

  2. In the Contents pane click the coordinate picker button and choose Assign Initial Coordinate System.

  3. In the menu that appears, choose the new coordinate system desired, either from the favorites listed or by choosing Edit Coordinate System.

 

 

Manifold comes pre-loaded with default favorite coordinate systems of Latitude / Longitude and Pseudo-Mercator, the most frequently used in most GIS work.  Latitude / Longitude is used by older data and Pseudo-Mercator by most web and modern data, since it is the universal standard for web server cartographic displays.

 

tech_ravi_sm.png

Tech Tip:   Please make sure that anyone who you allow to work with your data understands that Assign Initial Coordinate System is to be used only to specify the correct starting coordinate system when importing from a spatially-unaware source.   It is not to be used to change the projection of a correctly imported image or drawing.    Please make sure that everyone on your team understands they should use Change Coordinate System to change the projection of a correctly imported image or drawing.

Coordinate System Problems

Problems with coordinate systems as a result of import almost always happen for one of three reasons, all of which are caused by bringing data in from spatially-unaware or defective sources.   When using modern, spatially-aware, competently programmed sources these problems do not happen:

 

 

 

 

In addition, problems with coordinate systems can arise when the data we import has already been vandalized:

 

 

Verify the Projection / Coordinate System

The easiest way to avoid problems from data with incorrectly specified initial coordinate systems getting into our projects and then being replicated throughout all our workflow is to check the coordinate system when we first bring in the data.   Even if the source is a modern one that specifies initial coordinate system, the author of the data might have made a mistake when publishing it.  

 

Surprisingly, even data downloaded from national cartographic bureaus as prestigious as IGN in France or USGS in the US sometimes will have the wrong initial coordinate system specified.

 

Opening a drawing or an image in its own window is not enough.   To detect obvious errors the data must be displayed with a known good layers, for example, a layer taken from an imageserver like Bing or Google.

 

It might not be obvious that we have brought data into Manifold with an incorrectly specified initial coordinate system. Sometimes there may be obvious distortion visible, but in more subtle cases if we open a drawing in its own window it may look perfectly OK so long as it is not compared with good data.    We might only be able to tell that the coordinate system was incorrectly initialized by seeing it in a map as a layer compared to a "known good" layer.

 

That is easy to do.  

 

How to quickly check coordinate systems:

 

  1. Create a data source for an imageserver like Google streets or Bing street.

  2. Create a map with that imageserver image as the first layer.

  3. Bring new data into Manifold.

  4. Drag and drop that new data into the map.

  5. See if the new data aligns as expected with the "known good" background layer of the image server.

 

In most cases when projected data has the wrong initial coordinate system specified it will be obviously not aligned with the background layer in the map.   It may be so wildly off that it won't even be visible in the map.

 

See the Example: Detecting and Correcting a Wrong Projection  topic for a step by step, illustrated example.

 

The above technique is so convenient, so fast and so important that, for all the sophistication of Manifold analytics, in a production environment involving a lot of spatial data the simple checking of newly-imported data for incorrectly specified coordinate systems may be the most important task.

Coordinate System Formats

Many different formats and notations have emerged for conveying coordinate systems.  These range from the supremely expert and unambiguous, such as EPSG, to hodgepodge notations like "world files."  When connecting to data sources, for example, when importing files, connecting to database servers or connecting to online sources such as web servers, Manifold recognizes many different formats for specifying coordinate systems:

 

Notes

Synonyms -  Cartographers favor the term projection while programmers seem to prefer coordinate system.  This documentation uses the two terms interchangeably, with the term projection tending to be used more in GIS or display contexts and the term coordinate system tending to be used more when discussing programming, SQL or standards.

 

Coordinate System Property - The coordinate system in use for a drawing or image can be seen in the Properties dialog for the table that hosts the drawing geometry or the tile.  Right-click on the table in the Project pane and choose Properties.  The FieldCoordSystem.Tile property for images or the FieldCoordSystem.Geom property for drawings will contain the coordinate system.

 

Re-projections and Accuracy - Re-projecting a component from one coordinate system into another coordinate system may or may not be lossy depending upon the mathematical difference between the two coordinate systems.   Some coordinate systems use the same basic projection and are different only in terms of shifts, scaling or the order of axes.  When a re-projection only requires component data to be shifted, scaled or have axes swapped, the result is a high accuracy transformation.   When two different coordinate systems have two different underlying mathematical models the recomputation of coordinate data to re-project a data set from one coordinate system into the other can require curvilinear transformations that are lossy.  

 

See Also

Coordinates

 

Assign Initial Coordinate System

 

Repair Initial Coordinate System

 

Change Coordinate System

 

Map Projection

 

Coordinate System

 

Base Coordinate System

 

Favorite Coordinate Systems

 

Favorite Base Coordinate Systems

 

Example: Assign Initial Coordinate System - Use the Contents pane to manually assign an initial coordinate system when importing from a format that does not specify the coordinate system.

 

Example: Re-project a Drawing - An essential example on changing the projection of a drawing, either within the drawing itself, or by changing the projection of a map window that shows the drawing and re-projects on the fly for display.

 

Example: Change Projection of an Image - Use the Change Coordinate System command to change the projection of an image, raster data showing terrain elevations in a region of Florida, from Latitude / Longitude to Orthographic centered on Florida.

 

Example: Adding a Favorite Coordinate System - Step by step example showing how to add a frequently used coordinate system to the Favorites system.

 

Example: Detecting and Correcting a Wrong Projection - A lengthy example exploring projection dialogs and a classic projection problem.  We save a drawing into projected shapefiles and then show on import how a projection can be quickly and easily checked and corrected if it is wrong.

 

Re-Projection Creates a New Image - Why changing the projection of an image creates a new image.

 

About Coordinate Systems

 

Projections Tutorial

 

The Earth as an Ellipsoid

 

Latitude and Longitude are Not Enough

 

Shapefiles Strangely Out of Shape

 

That YX Thing