Reproject Component

 The Reproject Component dialog is accessed in the Info pane by clicking the coordinate system picker button for the component.


Use Reproject Component for three purposes:



The Reproject Component command the Info pane launches the Reproject Component dialog.   This 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 read out 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.

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, we 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 9 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 and Images

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:



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.



The current coordinate system used by this component.


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.


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.


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.


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 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.


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


Add, delete, or modify favorite coordinate systems.


Copy the current coordinate system to the Windows Clipboard.


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.

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.  


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.


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.  If the current and new coordinate systems are the same, or if they are the same except for coordinate system metrics and/or axes ordering (XY or YX), the conversion path will be shown as default and cannot be altered.  In such cases a short description will appear stating why default is the only choice.


In most cases, the conversion picker button will be disabled, since alternate conversion methods are generally defined for a limited set of combinations from Current to New coordinate system.    In most cases, only coordinate systems defined in the EPSG system will have conversion paths other than the default. Conversion paths that use NADCON 5, NADCON (including HARN and HPGN), and NTv2 transformations are available only between Current and New coordinate systems that are both specified using EPSG codes.



One such combination is reprojecting a component from a Current coordinate system of MGI (EPSG: 4312) to a New coordinate system of  ETRS89 (EPSG:4258).  Both of these coordinate systems are used in Austria.  For that conversion path, alternatives to the default conversion are available and the conversion picker button will be enabled.    


 We press the conversion picker button to launch the Conversion dialog, to see alternatives.



The Conversion dialog shows that for this particular path there are five options in addition to the default conversion method.  The numbers in the right hand column show the accuracy provided by the different conversion methods.  


 Conversion paths marked with a red message icon have been deprecated or otherwise are discouraged by the EPSG system.  In the illustration above, two of the options are marked with a red message icon to indicate they have been deprecated in the EPSG system.    


Tech tip:  Click on a conversion path in the list to see the definition of that conversion path in the lower panel of the dialog.  In the illustration above, we have clicked on one of the deprecated conversion paths to see the definition for that path.  We can see from the comments in the definition that it has been replaced by the EPSG 3914 conversion method.


The EPSG 3914 conversion method does not appear in the list because it is not a usable conversion path from the Current to New coordinate systems currently selected.   This is a fairly typical situation for deprecated paths, where the path was deprecated because it contained an error, for example, in the datums used..  When the error is corrected, the new path, with new EPSG number, is no longer applicable because one or both of the corrected datums are no longer the same as used in the Current or New coordinate systems.



We can click on the NTv2 method to see the grid file it uses.    


To use a particular method, we click on it to choose it and then we press OK.



The conversion method then appears in the Reproject Component dialog.  Pressing Update Component will reproject the component from the Current to the New coordinate system using the Conversion method specified.  If we change our minds and choose a different New coordinate system, choosing a different coordinate system for the New coordinate system will preserve whatever was the previously selected conversion path, if it is still available for the new Current to New pair.  

Grid Files and Conversion Methods

Manifold includes many transformation methods for converting one coordinate system into a different coordinate system.  Most such methods use mathematical formulae for the recalculation and do not need any other data.  However, three transformation methods,  NADCON 5, NADCON (including HARN and HPGN), and NTv2 transformations, in addition to mathematical formulae also use data files that provide parameters for specific areas.  Those data files are called grid files.


Most transformation methods convert a coordinate system based on whatever Earth ellipsoid is used within the source and target coordinate system.  However, the Earth is sufficiently lumpy that in many regions the smooth surface of an Earth ellipsoid does not model the actual surface of the Earth in that region with sufficient accuracy to allow coordinate system recalculations at the accuracy desired. In such regions, grid files containing an array of numbers that describe the uneven surface of the Earth in the region can be used with NADCON, NADCON 5, or NTv2 transformations to provide higher accuracy conversions from one coordinate system into a different coordinate system.  


Grid files contain numbers that describe the lumpy surface of the Earth in a specific region, so a grid file for one region cannot be used for a different region.   Grid files are also designed for use with a specific transformation type, either NADCON, NADCON 5, or NTv2.   Grid files created for use with NADCON transformations, for example, cannot be used with NTv2 transformations.   NADCON (also including HARN and HPGN) and NADCON 5 are used primarily in the United States.  Many countries outside the United States tend to use NTv2.   Manifold supports all three, NADCON 5, NADCON, and NTv2,  to enable use of all grids worldwide.


Many grids have been published by governments for use in various countries, regions, provinces, and even for local settings such as counties and even individual cities.  Grids are not always easy to find, so Manifold has assembled a collection of grids within a single file, the grids.dat file, which covers all grids known to the EPSG database.    The grids.dat file provides in compressed form over 170 grid files, in .gsb, .las, and .los format, plus NADCON 5 grids, for use in NADCON 5, NADCON (including HARN and HPGN), and NTv2 grid-based transformations.  Grid files are for Australia, Austria, Brazil, Canada, France, Germany, Ireland, Japan, Netherlands, New Zealand, Portugal, Spain, Switzerland, the United Kingdom, and the United States.


The grids.dat file is provided as a separate file since it is approximately 380 MB in size: if we are not working with projections in a country that uses grid transformations, we can skip downloading the file and keep our Manifold / Viewer installation significantly smaller.


 grids.dat file required - The option to use NADCON 5, NADCON (including HARN and HPGN), and NTv2 grid transformations, if applicable, will be available and can be used in the Conversion setting only if we have installed the optional grids.dat file or the equivalent required grids as individual files.  The grids.dat file may be downloaded for free from Manifold's Product Downloads web page, and may be used with either Manifold System or the free Manifold Viewer.


In addition to grids known to the EPSG system that are published within the grids.dat file, there are grids with such niche constituencies that they do not appear even in the exhaustive EPSG database.  Occasionally new grids pop up as local governments publish new grids.   When grid files are published in standard formats like .LAS / .LOS for NADCON and .GSB for NTv2,  Manifold can use those when they are placed in the ~\shared folder of our Manifold installation.


When we use a NADCON (including HARN and HPGN), NADCON 5, or NTv2 conversion method, Manifold searches for the required grid file by name, checking first within the grids.dat file if that has been installed.  Manifold also checks for individual grid files by name, using .LAS and .LOS extensions for NADCON grid files and .GSB extension for NTv2 grid files.   If an individual grid file is found using the name required by the chosen conversion path, Manifold will use that grid file instead of the version in the grids.dat file.   That allows us to use a newer or alternate version of a grid file that has been published within the grids.dat file.


When Manifold looks for required grid files, if the files are not found or if they cannot be loaded for any reason (such as lack of permissions, corrupted data, access prevented by an antivirus package, etc.), the transformation logs the name of the file that failed to load into the Log Window and returns NULL values for the coordinates.


Using individual grid files, that is, not using the collection within the grids.dat file, is also a way to save space.   If we only use NADCON, NADCON 5 or NTv2 transformations in one specific region that requires only a single grid file, if we have that grid file we can put it in the in the ~\shared folder of our Manifold installation and skip downloading the entire grids.dat file.     As a practical matter, a 380 MB file is no big deal in GIS, so most users will simply download the grids.dat file for the convenience of not having independently to find and to download individual grid files.


See the Product Downloads web page for download and installation instructions for the grids.dat file.

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 resize.


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.



What grids are in the grids.dat file? -  See the SQL Example: List Transformation Grids topic.


Grid files are cached - For better performance, Manifold caches any grid files used by coordinate transforms.  The cache is effectively unlimited in 64-bit Manifold, but limited to 16 MB in 32-bit Manifold.


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.


Using Auto with Local scales when reprojecting images - The Auto checkbox sets local scales to values that produce an image with roughly the same number of pixels by X and Y.  If we reproject an image without making any changes to the dialog, using Auto with the same coordinate system for New as the Current system, the resulting image might not have exactly the same number of pixels as the original image due to two rounding effects made by the Auto checkbox: First, the exact scales are rounded to two digits, with a scale of 1.31923 ft becoming 1.3 ft.  Second, if the rounded X and Y local scales differ by less than 25%, they are made the same as the smaller value, to make pixels square.


Conversions between the "same" coordinate systems - In general, there is no point picking a conversion method between coordinate systems that have different names but which have identically the same parameters.  An exception is when coordinate systems have identical parameters but different EPSG codes, where the EPSG database may provide for more than one conversion path between coordinate systems, in which case Manifold will allow selecting any of the different EPSG conversion methods.  The EPSG database contains a fair number of such cases.


Failing safe - The Reproject Component dialog checks all parameters prior to performing the reprojection, or generating a query that will attempt to perform the reprojection.   The reprojection fails (does not occur) if the reprojection cannot succeed due to an impossible combination of parameters in the coordinate systems or other errors.


Maximum reprojected image size - The maximum size of an image created by the Reproject Component dialog is 16 terapixels, that is, no more than 16,000,000,000,000 pixels.  Attempting to produce an image with more than 16 terapixels will fail.  Dang.  Given the limitation on .map file sizes this is more a theoretical limit than a practical limit.


Render methods -   Inverse methods are faster than forward methods,  but forward methods are more accurate. Map windows use inverse methods for automatic reprojection, because the accuracy is more than good enough for dynamic screen display. For permanent reprojection it is better to use forward methods.


Pixel divisions - This parameter controls accuracy in the forward, average method.  The current default of 2 is a great sweet spot which gets most of the quality without giving up a lot of  processing time. Increasing pixel divisions to 3 or more will improve quality slightly, but there will be heavy diminishing returns in processing time. The jump from 2 to 3 has a much greater effect than the next jump from 3 to 4, and so on.  Processing times increase a lot as well.  If greater accuracy than 2 is desired, try 3 or 4 as an experiment.   The forward, nearest method also uses pixel divisions, but no Pixel divisions parameter box appears for the forward, nearest method since the parameter is internally set by the system.  The current value used internally is 2 divisions.  Future builds may vary that dynamically for different parts of the image.


Interpolation variations - The inverse, bilinear, inverse, bicubic, and inverse, nearest methods utilize bilinear, bicubic and nearest neighbor interpolations within the method. The forward, average and forward, nearest methods utilize averaging and nearest neighbor interpolation, respectively.


Nearest neighbor interpolation should be used whenever pixel values cannot be averaged, for example, if pixel values in an image represent classification codes, such as 5 = forest, 10 = water, 15 = unknown, and similar.  In such cases, averaging pixels for forest and unknown can produce water, which does not make sense, and averaging pixels for water and unknown can produce a value like 13.75 which does not match any classification code.  


If values in pixels can be averaged, it is usually better to use an interpolation option other than nearest.   For forward methods, there is only one alternative to nearest neighbor, and that is the forward, average method.  The forward, average method produces very accurate weighted averages. For inverse methods, the alternative to inverse, nearest is a choice between inverse, bilinear and inverse, bicubic methods.  The inverse, bilinear method is faster while the inverse, bicubic method is slightly more accurate.   However, the inverse, bicubic method tends to be used less frequently because usually when we want greater accuracy we go with forward, average.   If we use an inverse method that is usually because we want speed and care less about accuracy.  In that case, we tend to choose the inverse, bilinear method.  That is what map windows do when reprojecting on the fly, since they value speed and fine differences in accuracy are not visible given the resolution of dynamic screen displays.

See Also

Info Pane






Assign Initial Coordinate System


Repair Initial Coordinate System


Sub-pixel Reprojection


Map Projection


Coordinate System


Coordinate System Metrics


Base Coordinate System


Favorite Coordinate Systems


Favorite Base Coordinate Systems


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


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.


SQL Example: List Transformation Grids - In this example we use a few snippets of easy SQL to list NTv2 and NADCON transformation grids that are available within the grids.dat compressed collection of transformation grid files.   Grid transformation files can be used when creating custom base coordinate systems, for NADCON / HARN / HPGN and NTv2 high accuracy transformations that use grid files.


About Coordinate Systems


Projections Tutorial


Latitude and Longitude are Not Enough


Example: Convert a 0 to 360 Degree Projection - We often encounter data, both images and drawings, using latitude and longitude degrees that appears to be in Latitude / Longitude projection but which has longitude values from 0 degrees to 360 degrees and latitude values from 0 degrees to 180 degrees, instead of the usual arrangement of -180 degrees to 180 degrees for longitude centered on the Prime Meridian, and -90 degrees to 90 degrees for latitude centered on the Equator.  This example shows how to utilize such data by assigning the correct projection.


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


Example: Reproject 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 on the fly reprojects the drawing for display.


Example: Change Projection of an Image - Use the Reproject Component 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: Change the Pixel Size of a Terrain Elevation Image - Use the Reproject Component dialog to change the pixel size of a terrain elevation image, reducing the total number of pixels used.  This process is also called resampling.