Change Coordinate System

 Use the Reproject Component dialog to change the coordinate system used by a component.  When a component window has the focus, the coordinate system picker button in the Info pane will show a Reproject Component command in the button's menu.

 

Use Reproject Component for three purposes:

 

 

The Reproject Component dialog is used to change the projection of an image or drawing that already has had the initial coordinate system set correctly.  Initial coordinate systems are either set automatically upon import or are manually assigned, if necessary, using the Assign Initial Coordinate System command.

 

 

If the coordinate system readout in the Info pane uses red text then the initial coordinate system has not yet been assigned and the Reproject Component command will be disabled. To enable the Reproject Component command we must first use Assign Initial Coordinate System to specify the initial coordinate system.

 

To change the projection of an image or drawing:

 

  1. Open the image or drawing.

  2. In the Info pane press the coordinate system picker button and choose Reproject Component.

  3. Press the coordinate system picker to choose the new coordinate system desired.  This allows a quick pick from the listed favorites or choosing More... to launch the full Coordinate System dialog that allows a choice of thousands of systems.

  4. If the Conversion picker button is enabled, click to choose a Conversion method other than default, if desired.

  5. When reprojecting an image, specify Local scales and other options if Auto settings are not desired.

  6. In the Reproject Component dialog choose how the new coordinate system will be applied:

 

See the Example: Change Projection of an Image topic for a step-by-step example.

 

 To convert a coordinate system into a different coordinate system Manifold can use enhanced accuracy transformation methods that use grid files, including NADCON 5, NADCON (including HARN and HPGN), and NTv2 transformations.  See the Enhanced Accuracy topic to learn how to use enhanced accuracy transformation methods.

Reprojection Changes Drawings, and Creates New Images

The  Reproject Component process changes the coordinate numbers within the component into numbers computed for a new coordinate system, and also updates the projection assigned to the component.  The dialog appears with drawing and image windows but does not appear with map windows, since map windows are just viewports into the layers they display and do not themselves contain any data.  To change the projection used by a map window, use the Map Projection dialog.  See the discussion in the Projections topic.

 

For drawings, changing the projection changes the coordinate numbers embedded in the drawing's geometry, but does not change the number of objects or the number of vertices in each object.  After reprojecting a drawing, the table for the drawing will still have the same number of rows.  

 

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.  After reprojecting an image, the table holding tiles for the image will in most cases have a different number of rows.

 

Because the number of pixels and thus tiles will change when reprojecting an image, the action button in the Reproject Component dialog for an image is always an Add Component operation, to create a new table and image in the new projection form.  See the Reprojection Creates a New Image topic for why reprojecting an image changes the number of pixels.

 

The forward, average reprojection option enables the system to compute coordinate system transformations for images to conversion accuracy even more detailed than the size of a single pixel.   That is important when a single original pixel during warping / georegistration can expand to more than one pixel in the new image, or vice versa.

Drawings

Choosing Reproject Component in the Info pane launches the Reproject Component dialog.  The dialog shows the current coordinate system in use and allows us to specify a new coordinate system to be used.    When launched to reproject a drawing, the dialog allows choice of a new coordinate system and a conversion method:

 

 

 Click  the coordinate system picker button in the Reproject Component dialog to specify the new coordinate system to use.

 

 

The drop down menu in the lower left corner of the dialog allows us to switch the action of the dialog between Update Component and Add Component.

 

Current

The current coordinate system used by this component.

New

The new coordinate system into which this component's data should be reprojected.

Click to choose the new coordinate system desired.  This allows a quick pick from the listed favorite coordinate systems  or choosing More... to launch the full Coordinate System dialog that allows a choice of thousands of systems.

Conversion

The conversion method used.  Depending on the Current coordinate system in use and the New coordinate system desired, choices other than default

Click to choose a different conversion method.  Only enabled when there are choices other than default going from the Current system to the New system specified.

Allow parallel execution

If checked (default) the reprojection computation will use CPU parallelism in multiple threads on as many CPU cores as are available for faster performance.   Checking this box is equivalent to commanding THREADS SystemCpuCount() in SQL in templates that utilize parallelism.

Add Component / Update Component

Choose either the Update Component or Add Component setting by pulling down on the down arrow button, and then press to reproject.

 

  • Update Component - Available for drawings only.  Reprojects the drawing in-place without creating a new drawing and table.

 

  • Add Component - Available for both images and drawings.  Create a new component and its table as reprojected into the new coordinate system. Does not change the original component.

Edit Query

Click to open the Command Window pre-loaded with an SQL query which accomplishes the reprojection as specified and given the choice of Update Field or Add Component.

Close

Close the dialog

 

Images

Reprojecting an image necessarily changes the size of the image, so the dialog provides controls to manage that process:

 

 

For example, the Render option specifies how pixel values at a given starting place will be cast into what could be different numbers of pixels covering that place in the reprojected image.

 

 

We can choose forward, average as the Render option.  

 

 

That option uses pixel subdivisions for finer accuracy of interpolation and rendering in the reprojected result.   Choosing forward, average as the Render option adds a Pixel divisions box to the dialog, to allow us to specify how many pixel subdivisions we want to use.

 

 After setting up desired options we can click  the coordinate system picker button to specify the new coordinate system to use.

 

Current

The current coordinate system used by this component.

New

The new coordinate system into which this component's data should be reprojected.

Click to choose the new coordinate system desired.  This allows a quick pick from the listed favorite coordinate systems  or choosing More... to launch the full Coordinate System dialog that allows a choice of thousands of systems.

Conversion

The conversion method used.  Depending on the Current coordinate system in use and the New coordinate system desired, choices other than default

Click to choose a different conversion method.  Only enabled when there are choices other than default going from the Current system to the New system specified.

Local scales

For images: The local scale transformation to apply to X and Y values, which has the effect of setting the size of pixels.  The Auto checkbox sets local scales to values that produce an image with roughly the same number of pixels in X and Y extents.   Uncheck the Auto checkbox to enable a custom choice.

 

In addition to controlling the size of resultant images when re-projecting an image, the Local scales control also allows resizing images within the same coordinate system, by altering the pixel size.  

 

For example, an image might have 10 pixels per degree and thus a Local scale X of 0.1 would be used in degree-based coordinate systems, such as Latitude / Longitude.  

 

See the Coordinate System Metrics topic.

Local offsets

For images: Absolute values to add or to subtract in the X and Y directions, in effect setting the position of the image origin (lower left corner).  The Auto checkbox sets the image origin so that the coordinate of the pixel in the left bottom corner of the image is 0, 0.  Uncheck the default Auto checkbox to enable a custom choice.

 

See the Coordinate System Metrics topic.

Tiles

For images:  Specify the pixel data type within tiles and the size of tiles.  The Auto checkbox sets the tile type and tile size to be the same as the original image.  Uncheck the default Auto checkbox to enable a custom choice.  

 

In addition to specifying the pixel data type and the tile size in resultant images when re-projecting an image, the Tiles control also allows changing the data type and tile size within the same coordinate system.  

 

For example, we can create a new image in the same coordinate system where the pixel data type has been changed from float32 to float64. and the tile size is 256 x 256 instead of 128 x 128.  

<Image size readout>

For images:  Reports the X by Y dimensions in pixels for the image about to be created, as well as the total size of the image's data in bytes. The exact size of image data in the storage will vary due to a number of factors, such as compression, visible / invisible masks, intermediate levels, and storage overhead, but the reported size is useful as an approximate estimate.

Render

Choose the rendering process used for generating pixels in the projected result image:

 

  • forward, average - The image is composed by traversing the source image, converting source pixels to projected locations, and computing a weighted average of the results.  Choosing this option opens a Pixel divisions box that controls quality by using more subdivisions of individual pixels: higher values produce results of higher quality, but are more computationally expensive, taking longer for the reprojection.

  • forward, nearest - As above but with nearest neighbor instead of averaging.  This is a new option developed to allow reprojecting images with values that cannot be averaged.

  • inverse, bilinear - The projected image is composed by traversing the projected result image, finding corresponding source pixels, and then using bilinear interpolation on their values.  This is a fast method that is the default and is good for most purposes.

  • inverse, bicubic - As above but with bicubic interpolation.

  • inverse, nearest - As above but with nearest neighbor, used when the image stores values like classification codes that cannot be averaged.

 

Depending on image content, a particular interpolation method, such as bicubic, bilinear, or nearest neighbor, can provide smoother results, for example, fewer step effects in pixels representing linear features.

 

See the Notes section at the end of this topic for tips on choosing Render methods.

 

See also the Sub-pixel Reprojection topic.

Pixel Divisions

Appears when we choose forward, average as the Render option.  The Pixel Divisions box allows us to specify the number of pixel subdivisions, 1 being the default and enough for most cases. Increasing the number of subdivisions improves image quality (with diminishing returns) at the cost of additional processing time.  A maximum of 8 pixel divisions are used even if the number specified is greater.

 

See the Sub-pixel Reprojection topic.

Allow parallel execution

If checked (default) the reprojection computation will use CPU parallelism in multiple threads on as many CPU cores as are available for faster performance.   Checking this box is equivalent to commanding THREADS SystemCpuCount() in SQL in templates that utilize parallelism.

Add Component / Update Component

Choose either the Update Component or Add Component setting by pulling down on the down arrow button, and then press to reproject.

 

  • Update Component - Available for drawings only.  Reprojects the drawing in-place without creating a new drawing and table.

 

  • Add Component - Available for both images and drawings.  Create a new component and its table as reprojected into the new coordinate system. Does not change the original component.

Edit Query

Click to open the Command Window pre-loaded with an SQL query which accomplishes the reprojection as specified and given the choice of Update Field or Add Component.

Close

Close the dialog

 

Choosing a New Coordinate System

 Click the coordinate system picker button to choose a new coordinate system.   The default favorites and any other favorites we have added will appear in a list, along with a More... option to launch the full  Coordinate System dialog.

 

 

(Favorites List)

A list of favorite coordinate systems.  Factory defaults are Pseudo-Mercator and Latitude / Longitude.  Add or delete favorites as desired.

More...

Launch the full Coordinate System dialog that allows a choice of thousands of systems.

Favorites

Add, delete, or modify favorite coordinate systems.

Copy

Copy the current coordinate system to the Windows Clipboard.

Paste

Paste a coordinate system from the Windows Clipboard.

Paste without Metrics

Paste a coordinate system from the Windows Clipboard, but do not paste any Coordinate System Metrics it may contain, pasting everything else.

 

See the Coordinate System topic for information on choosing a new coordinate system using the full Coordinate System dialog.

Conversion and Enhanced Accuracy

Drawings and images are reprojected from a current coordinate system into a new coordinate system using mathematical formulae, called conversion methods, which vary depending upon the starting and ending coordinate systems.  Conversion methods also are called paths. In most cases of the millions of different starting and ending combination possible within Manifold, only a single, standard conversion method is available and is used by default.   In some cases, however, more than one conversion method can be used.

 

The Conversion button allows us to choose a non-default conversion method, if available, for recalculating the reprojection from the Current to the New coordinate system.  Those may include enhanced accuracy methods that provide more precise, more accurate conversions

 

See the Enhanced Accuracy topic for information on using the Conversion button and using enhanced accuracy conversion methods.

Using Copy and Paste to Reproject

We often want to reproject a component into exactly the same coordinate system used by some other component.  That is easy to do with Copy and Paste.   In what follows, the source component means the one with the coordinate system we want to copy, and the target component is the one we want to reproject.

 

 

In the Info  pane for the source component, click the coordinate system picker button and choose Copy.  That copies the coordinate system in text form into the Windows Clipboard.  

 

Next, in the Info  pane for the target component, click the coordinate system picker button and choose Reproject Component.  

 

 

Click the coordinate system picker button for the New component and choose Paste or Paste without Metrics, as desired.  

 

 

That will paste the previously-copied coordinate system to use as the New system.  We can then click the Update Component button to reproject the component.

 

SRIDs from databases: When copying coordinate systems from components that reside within DBMS data sources, SRID:xxx definitions that only make sense in the context of a specific database are converted to JSON text representation prior to copying.  The JSON text is more broadly understandable and reusable in other settings.

 

Using Copy is also great way to get a text version of the coordinate system used by a component.  For example, we can paste it into a Comments component or into Notepad to have a text record of all details of the coordinate system in use:

 

 

If we want to compare two different coordinate systems that seem similar, we can Copy each of them and then Paste into a Comments component or into Notepad as ordinary text, to facilitate comparison of all details.

Changing the Size of Images

As discussed in the Reprojection Creates a New Image topic, reprojecting an image usually changes the size of an image by changing the size of its pixels.  The same internal, interpolation machinery that automatically resizes images during reprojection can also be used to change the size of an image without changing the coordinate system.

 

To change the size of an image, in the Reproject Component dialog, do not choose a New coordinate system, but simply uncheck the Auto box for Local scales and set the number of pixels in X and Y direction for the unit of measure.   The image size readout will show the result.  Press Add Component to create a resized component.

 

To change the size of an image:

 

  1. Open the image.

  2. In the Info pane press the coordinate system picker button and choose Reproject Component.

  3. Do not change the New coordinate system.

  4. Uncheck the Auto box for Local scales.

  5. Specify Local scales values that produce the desired image size in the readout.

  6. Press Add Component to create a new image and table of the desired size.

 

See the Example: Change the Pixel Size of a Terrain Elevation Image topic for a step-by-step example and discussion.

 

 

 

Next:  Enhanced Accuracy