Example: Convert a 0 to 360 Degree Projection

We often encounter images or drawings that appear to be in Latitude / Longitude projection but which have longitude values from 0 degrees to 360 degrees and latitude values from 0 degrees to 180 degrees, instead of the usual, GIS-standard, 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.


 This topic shows a typical solution to using a 0 to 360 range for longitudes in an image.  Another way to deal with a 0 to 360 longitude range, especially with drawings, is to use Assign Initial Coordinate System and to then drill down to the Base Coordinate System dialog's Custom tab, and to assign a Prime longitude value that is -180.  See the Prime Longitude in Latitude Longitude Base section at the end of the Base Coordinate System topic for an example.  


Most of this topic is setting up the example.   The actual work of changing a Latitude / Longitude drawing or image that uses 0 to 360 for longitude and 0 to 180 for latitude into the standard arrangement using -180 to 180 for longitude and -90 to 90 for latitude boils down to two key steps:



That is basically all that is required.


We will use images downloaded from the https://www.earthbyte.org site, which provides a "PaleoAtlas" collection of over 90 images that show the geography of Earth during various epochs in geologic time.   The images are provided in .jpg format but with no projection information by way of world files or other accessory files.


To fit into this documentation, illustrations show a small Manifold desktop, with only a few panes, docked to the right side.  In real life we use a much larger Manifold desktop, and more panes would be turned on, with panes docked to the left or to the right, or undocked, as we prefer.   Right-click a pane's tab to change where it is docked.  Manifold will remember that new arrangement for our next session.

Import Image

We begin by importing one of the images.





Launch Manifold and choose File - Import.




We navigate into the folder where we have saved the images.  We click the first one and choose Import.





When we pop open the image, we can see by mousing over the image that it has been imported without any sensible coordinate system automatically applied.  For example, in the illustration above we have placed the mouse cursor over Spain and the coordinates reported in the Status Bar are nonsensical.

Assign Projection

As with any format we import that does not save coordinate system information, to find the right projection to use we must do some detective work.  The only mention of any projection is in the PDF which accompanies the images.   The images were intended for use in a "GPlates" custom program, which appears to have hard-wired assumptions that whatever it imports will be in a certain projection.   The only thing the PDF says about projections is:


The images "... have been saved as jpg images (3600 x 1800 pixels) in a rectilinear projection. A rectilinear projection (i.e., Cartesian latitude and longitude) was used ..."


Super!   Based on the above, we will now use Manifold to assign Latitude / Longitude projection.





We switch to the Info pane, which shows the Component tab.    The coordinate system is shown in red color, using the Pseudo Mercator system as a place holder.  That tells us a coordinate system has not yet been assigned.


 To assign a coordinate system, we press the coordinate system picker button.





In the resulting menu, we choose Assign Initial Coordinate System.  



Next, we choose More... to launch the Coordinate System dialog.


It is tempting to choose Latitude / Longitude right away, but our guess, given that Latitude / Longitude projection is 360 degrees wide and 180 degrees tall, is that an image which is 3600 pixels wide by 1800 pixels tall probably uses a custom scale, where there are 10 pixels per degree   We choose More... so we can right away specify the scale factors for this image.



In the Coordinate System dialog we choose the Custom tab.  We choose Latitude / Longitude as the base Type.


 To specify metrics, such as a scale factor associating a given number of pixels with a degree unit of measure, we press the "XY" metrics picker button.



We choose Edit in the resulting menu.



In the Coordinate System Metrics dialog we enter 0.1 for both Local scale X and for Local scale Y.   This means there are ten pixels per degree in both the X and the Y directions, so each local unit, that is one pixel, is one-tenth of a degree.   We press OK.



Back in the Coordinate System dialog, the Metrics prompt is updated to show 0.1 degree per local unit.  We press OK.





There is no outward change in the appearance of the drawing, but when we position the cursor on the Equator near the right edge of the image, we see a position readout in the status bar that shows the cursor at latitude 90 degrees North and almost 360 degrees East longitude.  That is a clear indication the image is in  Latitude / Longitude coordinate system that uses only positive numbers for coordinates, from 0 to 360 for longitudes and from 0 to 180 for latitudes.





Another way to see the problem is to create a map using a Bing Street Map image server as a base layer for the map.  Double-click the new Map to open it.


The image will be distorted because it is being re-projected on the fly into the Pseudo Mercator projection used by Bing, but we can see from the above illustration how the image is aligned with the lower left corner at the 0,0 intersection of the Prime Meridian and the Equator, in the ocean just off the coast of Africa.

Convert a 0 to 360 Coordinate System into Standard Latitude / Longitude

We can easily fix the problem by repairing the coordinate system used for the image, once more making a slight adjustment in the Coordinate System Metrics dialog.





With the focus on the image,  we switch to the Info pane.  The illustration shows the focus on the image layer in the map.  It does not matter if we click on the image component to open it, or if we have the focus on the image layer in the map.  In both cases, the focus is on the image component so the commands will apply to that component.


 We press the coordinate system picker button.





In the resulting menu, we choose Repair Initial Coordinate System.   When we previously assigned the coordinate system we did not do that exactly correctly (we should have specified local offsets in addition to local scales), so as the map view indicates we must repair the initial coordinate system.  



Next, we choose More... to launch the Coordinate System dialog.



In the Coordinate System dialog the Custom tab automatically appears by default, since that is the system we will repair.  We take this opportunity to provide a more descriptive name for our custom coordinate system, Latitude / Longitude PaleoAtlas 0 to 360.  


 We once again press the "XY" metrics picker button.



We choose Edit.



In addition to the Local scale factors we entered previously, we now enter -180 for Local offset X and -90 for Local offset Y.   One way of thinking about this is that we want to offset the image as it is currently displayed in the map by 180 degrees to the left, and by 90 degrees down.


Press OK.


 Most of this topic has been setting up the example.   The actual work of changing a Latitude / Longitude drawing or image that uses 0 to 360 for longitude and 0 to 180 for latitude into the standard arrangement using -180 to 180 for longitude and -90 to 90 for latitude boils down to two key steps:





Back in the Coordinate System dialog, the Metrics prompt has been updated to show the local offsets we specified. We press OK.





Right away, the image snaps into correct position in the map.  It is still distorted in higher latitudes, as we would expect given the Pseudo-Mercator projection used in the map, but we can see by how it completely overlays the Bing layer it is in the correct position.





We can see the image now really is in the correct coordinate system by creating a Google image server layer that shows streets and place names with transparent fill in between.  We drop that layer into our map above the image layer, to see country name labels that show the image is correctly georegistered.

Add Our Custom Projection to Favorites

The website from which we downloaded our starter image has over 90 images that use the same projection.  To save time when we next import such an image, we can add the projection we just created as a Favorite Coordinate System so we can choose it with a single click.





 With the focus on our image layer, in the Info pane we click the coordinate system picker button and choose Reproject Component.   We will not actually change the coordinate system, but making that choice allows us to drill down into the dialogs we want to use.



In the Reproject Component dialog we press the coordinate system picker button.



In the menu we choose Favorites.



The coordinate system we are using appears in the Favorites dialog in the bottom pane.  We Ctrl-click it to select it, and then we press Add to Favorites.



The coordinate system is added to the Favorites list, using the default setting that does not change metrics specified by any prior coordinate system.


We double-click the keep metrics value to change that to override metrics, since we want this favorite coordinate system to override default local offset metrics with the new local offsets we have specified.



We choose override metrics.



We press OK.



Back in the Reproject Component dialog, we press Close to exit without making any changes to the coordinate system.  We have just added a new choice to our Favorites list.

Apply the New Favorite

We will now apply the new favorite.   We being by importing the next image in the collection, an image that shows ice coverage during the last Ice Age maximum glaciation.





We open the image and in the Info pane we see the red Pseudo-Mercator placeholder telling us the image has been imported with no coordinate system assigned.


We press the coordinate system picker button and choose Assign Initial Coordinate System.



However, this time we have a new Favorite in the one-click list of choices, the Latitude / Longitude PaleoAtlas 0 to 360 # custom projection we previously defined.  The name has a # added to it to indicate it overrides metrics with new numbers, the # being a mnemonic for "number".


We choose Latitude / Longitude PaleoAtlas 0 to 360 #.





Instantly, the correct coordinate system is assigned.  We can confirm that by zooming into the image and noting what the Status bar reports for the mouse cursor location when we place the cursor near the intersection of the Prime Meridian and the Equator just off the coast of Africa.  As expected, it shows the location near zero degrees latitude and zero degrees longitude.


Citation - Sample images from Scotese, C.R., 2016. PALEOMAP PaleoAtlas for GPlates and the PaleoData Plotter Program, PALEOMAP Project, http://www.earthbyte.org/paleomap-paleoatlas-for-gplates/


Correct link - As of the time of this writing, the link cited in the above citation page, to download the images used in this topic, is not correct.  The correct link is https://www.earthbyte.org/webdav/ftp/earthbyte/ from which we can download the Scotese_PaleoAtlas_v3.zip file.  Links change all the time, so that link might no longer be good.


See Also





Info Pane: Component


Assign Initial Coordinate System


Repair Initial Coordinate System


Reproject Component


Sub-pixel Reprojection


Map Projection


Coordinate System


Base Coordinate System


Favorite Coordinate Systems


Favorite Base Coordinate Systems


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


Example: Create Terrain Elevation Raster from a NASA PDS Table - A long, multistep example showing many powerful features of Manifold in various steps.  We import terrain elevation raster data from a NASA PDS archive and style the images with an elevation palette and hillshading.  We notice one of the images was wrongly georegistered by NASA, so we import the original LiDAR point data from a table in the PDS archive.  We transform the imported table from 0 to 360 degree longitudes into +/-180 longitudes, construct a geometry field, and then we create a drawing from the table that shows the LiDAR point data in the table.  Next, we use Kriging to create a terrain elevation raster from the LiDAR point drawing, and then we style that and hillshade it so it can be exactly overlaid on a Bing satellite layer to enhance the satellite photography with enhanced terrain relief.