Maps are components that take their layers from other components, with each layer being a drawing, an image or a labels component. Map windows add a tab strip to the bottom of the window with the name of each layer on its tab. In this topic we tend to use the word layer as a synonym for component, because that is how components appear in maps, as layers in the map.
By default, new maps are created using the EPSG:3857 Pseudo-Mercator coordinate system, as used by almost all modern web mapping data sources. Components that appear in a map as layers can use coordinate systems that are different from the map. They will be reprojected on the fly into the map's coordinate system when displayed in the map.
Choosing File - Create - New Map launches the New Map dialog:
Name |
Specify a name for the new map. |
Base layer |
If desired, choose an image server layer as the lowest layer in the map. The pull-down menu will be loaded with all image servers that are Favorite Data Sources. The box will be loaded with the last-used base layer by default. If no base layer is desired, choose (none) from the pull-down menu. |
Coord system |
The coordinate system to use for the new map. The system default EPSG:3857 Pseudo-Mercator coordinate system will be used by default. If desired, we can change the system default in Tools - Options. |
Coordinate system picker button. Press to choose a new coordinate system. |
|
Picked Filter |
Filter the list to show only picked components. Click to toggle the filter on or off. With the filter off the dialog will list all drawing, image and labels components in the context data source, allowing us to add any of them to the map as well. |
Filter Box |
Enter text to be matched, case not significant. The list of components will be reduced to show only those which match the text. For example, entering ro will reduce the list to components such as roads and railroads, both of which have the two letter sequence ro in their names, but will not include components like buildings or places. |
Right-click |
Right-click a layer row and choose Use Coordinate System to use that component's coordinate system for the map. |
Ctrl-click |
Ctrl-click onto a layer to select or to de-select that layer. Selected rows are shown with red background color.
The usual selection methods work with the focus on the list pane: Ctrl-A to select all. Ctrl-I to invert the selection. Shift-Ctrl-A to select none. Ctrl-click a row, and then Shift-Ctrl-click another row to select those two rows and all in between. |
Click the picked / not picked box to choose if a layer will be used in the map. A filled box means the component will be used in the map. An empty box means the component will not be used in the map. When the check box is toggled on a selected layer, the result applies to all selected layers.
This is a handy feature if we change our minds and do not want to include a layer in the map. |
|
spacebar |
Toggles the current layer's use/do not use box Same as clicking the use/do not use box. |
Create Map |
Press to create a new map with the given list of layers. |
Edit Query |
Press to launch a Command Window loaded with the SQL that creates a new map with the given list of layers. The Edit Query button is a great way to learn how to use SQL to create maps. |
Cancel |
Close the dialog without creating a new map. |
By default, the New Map dialog uses the Pseudo-Mercator coordinate system, or whatever else has been set as the system default in Tools - Options. We can change that to use whatever projection (coordinate system) we like, and that projection can be different than the projections used by the layers within the map.
When a map window uses a projection different from the projections used by the layers the map contains, the map window will automatically re-project on the fly, for display, the various layers into the projection used by the map. The data in the various layers will not be changed, as the reprojection on the fly by the map window will be for display only, a virtual reprojection.
Click the coordinate system picker button to choose a Coordinate System using the usual dialogs, including choosing a favorite coordinate system with one click.
Shortcut: We can also pick the coordinate system of any component in the layers list, by right-clicking that row and choosing Use Coordinate System.
If later we would like the map to use a different projection, we can change the projection of the map at any time.
Along with the power of choosing whatever projection we want for the map comes the responsibility of not making crazy choices that are wildly incompatible with the contents of components that are layers in the map. Some projections are highly local, in that they are designed to show only certain parts of the world, and are not a good choice for maps with drawings or images that show data from other parts of the world.
If our map will contain layers that show objects or images throughout the world, we should choose a projection designed to display objects throughout the entire world. One reason Pseudo-Mercator is the default projection is that it creates an acceptable display for worldwide data, except near the North Pole or South Pole.
Manifold provides four main ways to create new maps interactively.
Create a blank map, add layers - Create a new, blank map, and drag and drop components into the map.
Create a map starting with layers - Highlight desired components in the Project pane, and create a map with all those layers. Highlighting a folder uses all layers in the folder.
Copy an existing map - Copy an existing map using standard Windows Copy and Paste. This duplicates an existing map. We can then add or remove layers, reorder layers, etc.
Start with an existing map - Create a new map from an existing map. We can choose only some layers from the existing map.
We can also create new maps using queries. Press the Edit Query button in any New Map dialog to see the SQL query that will create the map with those layers and the given coordinate system settings.
See the Maps topic for information on maps and layers, and the Example: Create Maps topic for step-by-step illustrations of the procedures below.
It is easy to create a new, blank map, with or without an image server base layer, and then to drag and drop drawings, images or labels into the map as layers.
Choose File - Create - New Map or right-click on a blank spot in the Project pane and choose Create - New Map.
Specify a Name for the new map.
Choose a Base layer if desired.
Choose a coordinate system as desired, if the default Pseudo-Mercator projection is not desired.
The list in the New Map dialog will show all of the components in the context data source that can be used as layers in the map. We can check those we want to add as layers.
Press Create Map. A new map component will appear in the Project pane.
In the Project pane, double-click the new map to open it.
Drag and drop the desired drawing, image or labels component from the Project pane into the map.
Arrange layers as desired by dragging their tabs left or right, or by using the Layers pane.
We can add layers one at a time, or we can highlight many layers and drag and drop all of them at once into the map.
In the Project pane, Ctrl-click each desired drawing, image or labels component to highlight it.
Drag and drop any of the highlighted components into the map. All of the highlighted components will be added as layers
Rearrange layers by dragging their tabs left or right, or by using the Layers pane.
Any layers added to a map which do not use that map's coordinate system will be reprojected on the fly into the map's coordinate system for display. On the fly reprojection is for display only: components will not be modified.
Choose File - Create - New Map or right-click on a blank spot in the Project pane and choose Create - New Map.
Specify a name for the map, if desired, and choose a coordinate system if the something other than the default is preferred. The list in the New Map dialog will show all of the components in the context data source that can be used as layers in the map. If we right-clicked in the main part of the project pane, that list will include all components that are not within external data sources, whether or not they are inside folders. We can check those we want to add as layers. Press Create Map.
A new map is created in the project pane, and a Bing streets image server data source is created at the top level (root) of the project. The data source has just been created and has not yet been opened or used, so the database cylinder icon for the data source is still gray. Once it is used for the first time the database cylinder icon will switch to yellow. If the Bing streets data source had already existed in the map, that would be used instead of a second copy being created.
If we want the map to use a different coordinate system we can change the coordinate system used by the map at any time. In the Info pane, click on the coordinate system picker button for the map and choose the coordinate system desired.
To add layers to the map, we double-click the map to open it, and then we can drag and drop any drawing, image or labels component that appears in the project into the map.
A popular way to create a map that contains multiple layers is to highlight one or more desired components in the Project pane, and then to create a map with all those components as layers.
In the Project pane, Ctrl-click on desired drawing, image or labels components to highlight them.
Right-click onto any one of the highlighted components.
In the context menu that pops open, choose Create - New Map.
The New Map dialog pops open. Specify a Name for the new map.
Choose a Base layer if desired.
Choose a coordinate system if the default choice is not desired.
Uncheck a layer's box to not include that layer.
Press Create Map.
In the project we highlight six drawings. We right-click any of the highlighted drawings and choose Create - New Map in the context menu that pops open.
In the New Map dialog we provide a Name for the new map. We choose the image server desired as the Base layer or (none) if none is desired. Choose a coordinate system for the new map if Pseudo-Mercator is not desired. Press Create Map.
A new map will be created with the chosen components as layers, in the order in which they appear in the New Map dialog list. We can reorder layers in the map, if desired, by opening the map and then using either the Layers pane or by dragging layer tabs left and right as desired.
When we create a map from highlighted layers, the picked filter button is automatically engaged to show only those layers that have been picked to be in the new map. If we would like to add more layers, we can click the filter button off to show all drawings, images and maps in the data source (usually the main project) in which the map is being created. We can then check the boxes of those components we want to add as layers.
In addition to Ctrl-clicking on individual components to highlight them, we can Ctrl-click a folder to highlight it to include it along with other components, or just right-click it to launch a context menu on it.
Right-clicking on a folder and choosing Create - New Map will load the new map dialog with all of the components in the folder that can be added as layers to the map.
We will also use a Bing base layer. The resulting map will be created within the folder:
Note that the Bing layer is created as a data source at the top level of the project, and not within the folder.
The fastest way to create a new map that is similar to an existing map is to Copy and Paste the existing map to make a copy of it, and to then modify that copy as desired. We can change the new map as we like, for example, deleting layers from it (use the Layers pane for fast deletes of many layers from a map), adding layers to it, changing opacity of layers or their order in the display stack.
In the Project pane, click on the existing map.
Press Ctrl-C, or click the Copy button in the Project pane toolbar.
Press Ctrl-V, or click the Paste button in the Project pane toolbar.
A new map, a copy of the existing map, will be created.
Rename the new map as desired.
Alter the new map as desired, for example, using the Layers pane.
A new map appears in the Project pane that is an exact copy of the copied map, but using a different name. It will use the same coordinate system as the original map, and it will use all the layers in the existing map. Making copies of a map is a great way to get different versions of the same map, with different arrangements of the same layers or different layer opacities. We can make dozens of copies of a map and the project will not require any more room on disk.
Suppose we have a map with five layers, as seen above.
In the Project pane we Click the Map component and press Ctrl-C to copy it. We then press Ctrl-V to paste. A copy of the map, called Map 2, appears in the project pane. We also could Copy and Paste using the toolbar buttons in the Project pane, but most experienced users will just do a quick Ctrl-C, Ctrl-V sequence, which is very fast.
Except for the name, the new map is exactly the same as the original map, using the same layers and using the same projection for the map. We can pop it open and alter it as we like
Another way to create a new map from an existing map is to use Create - New Map. Right-click on an existing map in the Project pane and choose Create - New Map. The new map will use the same coordinate system as the existing map, and it will offer use of all the layers in the existing map that occur in the data source in which the original map resides. Uncheck any layers not desired. Press Create Map.
In the Project pane, right-click on the desired map.
In the context menu that pops open, choose Create - New Map.
The New Map dialog pops open. Specify a Name for the new map.
Choose a Base layer if desired.
Choose a coordinate system if the default choice is not desired.
Uncheck the box for any component in the list not desired as a layer.
Toggle (click) the Filter button to show other available components. Choose any desired.
Press Create Map.
Suppose we have a map with five layers, as seen above.
We right-click the existing map and choose Create - New Map.
We uncheck two of the layers, so our new map will not include them, and then press Create Map. If we had wanted to add other layers, we could have clicked the Filter button to show other components in the main part of the project that were not used in the original map. The main value of this approach is that it allows us to right away specify a new name for the new map, and it allows us to right away remove or add layers to the new map.
Note that when right-clicking a map and then choosing Create - New Map the New Map dialog does not include any image servers or other web servers as background layers. If we would like to have any such layers from the starting map in the new map, we should use Copy and Paste to copy the starting map and then make adjustments as we like to the copy.
See the Example: Create Maps topic for step-by-step illustrations of different ways to create maps.
We can change the projection of a map at any time.
To change a map's projection, in the Info pane click on the coordinate picker button for the map's coordinate system.
See the Coordinate System dialog topic for details on using the dialog.
Imageserver data sources that are added to Favorite Data Sources automatically will appear as choices in the Base layer pull-down menu in the New Map dialog. See the Favorite Data Sources topic for a step by step example that adds a custom imageserver data source to Favorites. We can then use that Favorite imageserver data source as a Base layer when creating new maps.
There are two important details we should keep in mind when creating maps:
Use a sensible projection - We can choose any projection we want for the map, but it makes sense to avoid crazy choices that are incompatible with the contents of the map. For example, some polar azimuthal coordinate systems can only show data for the North Pole, but not the South Pole. If our map contains a drawing that shows Antarctica, we should not use a projection for the map which cannot show objects on the South Pole. Also, even though Manifold can reproject vast amounts of data on the fly from one coordinate system into another, if a map contains a layer with hundreds of GB we can get faster display by using the same projection for the map as for that very large layer, so the very large layer does not need to be reprojected on the fly for any display operation.
Create the map in a read/write portion of the project - Manifold creates new components, like new maps, wherever in the project the focus may be when we create the new component. If the last item we clicked or Ctrl-clicked happens to be inside a read-only data source, like a Bing map server, we will not be able to create a map within that read-only data source. When Ctrl-clicking multiple components to create a map with all those layers at once, make sure that the last component clicked is in a read/write portion of the project.
To learn how to create a map from an SQL query, choose File - Create - New Map and then press the Edit Query button.
In the illustration above, we have chosen a Bing streets image server as a Base layer. We have checked three components we would like to add as layers. We press the Edit Query button to launch the SQL Command Window loaded with a query that creates the Map.
-- $manifold$
--
-- Auto-generated
-- New Map
--
CREATE DATASOURCE [Bing Maps Street Map] (
PROPERTY 'Source' '{ "Source": "http:\\/\\/ecn.t{switch}.tiles.virtualearth.net\\/tiles\\/r{cell}?g=516&mkt=en-us&n=z&key={key}",
"SourceAgent": "Mozilla\\/5.0 Manifold\\/9.0", "SourceCache": true, "SourceCacheTemp": true, "SourceSubtype": "bingstreet" }',
PROPERTY 'Type' 'imageserver'
);
CREATE MAP [Map] (
PROPERTY 'CoordSystem' '{ "Axes": "XY", "Base": "WGS 84 (EPSG:4326)", "CenterLat": 0, "CenterLon": 0,
"Eccentricity": 0.08181919084262149, "MajorAxis": 6378137, "Name": "WGS 84 \\/ Pseudo-Mercator (EPSG:3857)",
"System": "Pseudo Mercator", "Unit": "Meter", "UnitScale": 1, "UnitShort": "m" }',
PROPERTY 'Folder' 'monaco',
PROPERTY 'Item.0' '{ "Entity": "[buildings]", "Z": 0 }',
PROPERTY 'Item.1' '{ "Entity": "[railways]", "Z": 1 }',
PROPERTY 'Item.2' '{ "Entity": "[roads]", "Z": 2 }',
PROPERTY 'Item.3' '{ "Entity": "[Bing Maps Street Map]::[Bing Maps Street Map Image]", "Z": 3 }'
);
The query above is very simple, even though it creates an image server data source. It shows how to create a map with multiple layers using SQL.
Example: Project Pane Tutorial - In this example we take an extended tour of the Project pane, engaging in a variety of simple but typical moves that are illustrated step by step.
Example: Layers Tutorial - We take a tour of the Layers pane, learning how to manage layer display order, select layers, turn several layers on and off at the same time, alter opacity settings for one or more layers and how to change background color.
Example: Create Maps - Maps are used to show layers that can be drawings, images, and labels. This topic shows how to create new, blank maps, how to create maps from existing components, and how to create maps from other maps.
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.