User Interface Basics

Watch tutorial videos for a fast start:


  1. Manifold Tutorial 1 - Navigation and User Interface

  2. Manifold Tutorial 2 - Add Data and Create a Map

  3. Manifold Tutorial 3 - Export Data and Print a Map

  4. Visit the Videos page for many more live action videos.


Let's take a tour of Manifold, beginning with the desktop and learning how to navigate within windows.  


This topic assumes we have already read the Getting Started topic.  

The Manifold Desktop

Launch Manifold and the desktop opens with a typically Windows menu bar and an icon toolbar at the top.


The Project pane and Layers pane are docked on the right side of the Manifold desktop.   We can undock them by Shift-clicking their tabs.


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





Tech tip:  Users often undock display windows and panes by Shift-clicking their title tabs.  Monitors are cheap and our time is valuable, so most GIS users work with their Windows desktop spread across two or three monitors, with big, undocked windows.  


Manifold users will often have several different Manifold projects going at the same time so they can copy and paste between those projects.   Workflow can be much easier using several different Manifold projects open in different Manifold sessions at the same time.



Use File - Open to open a Manifold .map project file, and the Project pane will be populated with the contents of the project.  


Keyboard shortcuts:  Windows access key keyboard shortcuts work in Manifold.  For example, an Alt-F will open the File menu.  How access keys are shown can be set in the Tools - Options dialog.





The title bar shows the name of the project, Aus Hydro, taken from the name of the .map file.   The project contains three drawings and three tables.  Each drawing shows data from an associated table.  The project also has a map called Australia Hydro.   Maps have layers, where each layer shows some other component, like a drawing or an image.


Double-click a component to open it in a window.   We can open maps, drawings, images, tables, ... anything we see in the project we can open in a window.




We can double-click the Australia Hydro map to open it.





The map opens up in a map window.  A tab at the top gives the name of the window.  The status bar at the bottom of the main desktop


In the illustration above, we have zoomed far into the map, which shows all water features in Australia.  When first opened a component will be zoomed to fit, so the entire component fits within the window.


We can open more than one window at the same time.   For example, if we double-click the Lakes Table component it will open in a window.  Windows that open will be docked by default, and will be arranged in a tab strip near the top of the workspace.  


Click on a window tab to move that window to the top of the viewing stack. In the illustration below, we have opened the Lakes Table component and then we have clicked on the Australia Hydro window tab to move that window to the top.


When docked, panes are also arranged using tab strips.  Click on a pane's tab to move that pane to the top of the display stack.





Maps contain one or more layers that are drawings, images or labels.   Layer tabs appear at the bottom of a map window, with a tab for each layer in the map.   


Drag layer tabs left or right to set the order in which layers are displayed in the map.   Double-click a layer tab to turn a layer off and on.  Click a layer to make it the active layer for selection or editing.   Close a window by clicking the X button to the right of the tab strip.   The Layers pane makes it easy to manage many layers, when there are too many for convenient use of layer tabs.


Most maps use the default, "North up" orientation.  We can easily create a rotated view if we want an orientation other than North up.





In the illustration above, we have turned off the WatercourseLines layer by double-clicking the tab.


We can switch between the Project pane, Layers pane, and other panes by clicking their tabs.





Click the Layers pane tab, for example, to switch to the Layers pane.





The Layers pane allows us to control the order of layers, the opacity of layers, and to turn layers off and on, applying changes to many layers at once, if we like.   The Layers pane also allows us to group layers within folders.   The Layers pane is more convenient to use than tabs when maps have many layers.     


The North Arrow, Scale Bar, Legend, and Grid virtual layers provide virtual overlays in map windows to show a north arrow, a scale bar, a legend, or a grid or latitude and longitude reticule over the window.


When the Manifold desktop is sized for real-life use, and not artificially small like in these illustrations, there is plenty of room to keep the Layers pane in view all of the time.   A larger Windows desktop also allows us to size the Layers pane so it has  plenty of room for very many layers.  Features like folders and the filter box in the Layers pane make it easy to organize maps with many dozens of layers.   See the Layers pane for tips.


Click the Style pane tab, for example, to switch to the Style pane.





Switching to the Style pane, we can see controls for changing colors and symbology.   In the illustration above we have clicked on the Lakes tab to make that the active layer, so the Style pane shows formatting used in that layer.    In real life, we would use a much larger Manifold desktop, which would provide plenty of room for Style pane controls when features like thematic formatting are used.


Controls can automatically call up the right pane.  For example, Alt-clicking a feature in the active layer, called an object in Manifold, picks that object for display in the Info pane.  To pick an object from any visible layer, and not just the active layer, Shift-Alt-click the object.  It will be picked and the layer it is in will become the active layer.





When the Lakes layer is active, we can Alt-click on a lake and the Info pane will automatically pop open to show attributes, that is, the values for fields, for that object.   


The lake we clicked is called Devil's Playground.     The object picked is shown in the window with edit handles on the coordinates that define the object.   We can edit those by clicking on the Coordinates tab of the Info pane.





When maps have many similar layers it might not be easy to remember what feature is in which layer.   For example, the extensions of the water features to the left of the map display window might be in the Lakes layer or they might be in the WatercourseAreas layer.   If we do not know, we can pick such a feature using Shift-Alt-click, which will pick any visible object from any layer.





A Shift-Alt-click picks the object and also makes layer it is in the active layer.  In this case, we see the feature that we Shift-Alt-clicked is an area called Brians Watercourse that is in the WatercourseAreas layer.   Shift-Alt-click works from the top layer down.  If we Shift-Alt-click in a spot where several objects from different layers overlap, the uppermost object at the spot clicked will be picked.


 Using the Layers pane, we can specify if a layer in a map allows picks or disallows picks.  By default, layers allow picks, so by default if a layer is turned on then Alt-click or Shift-Alt-click will pick objects in the layer.   If we use the the Layers pane to turn off picks in a layer, then Alt-clicking or Shift-Alt-clicking an object in that layer will not pick it.


Projects contains items like tables, images, drawings, maps, data sources, queries, scripts, and more.  These are called components.  


Tables - All data within Manifold is stored in a table in one form or another.  Opening a table window shows a table in classic row and column presentation.    A drawing or an image is just a display window that shows geometry data or raster tile data that is stored in some table.   That is why when we see a drawing or image in the project we will usually see a similarly-named table from which it takes its data.

Drawings - Vectors.   A visual display of vector data stored within tables.  Data can be stored using a variety of geometry types. The same data from the same table can be seen in multiple different drawings using different styles, and the same drawing can be open in multiple windows with different selections and views in each.

Data Sources - Data linked into a project from an external source, which could be a file, a file database, a database server or a web server, covering virtually every database and file type encountered in database or GIS work.

Images - Rasters.  A visual display of raster data stored within tables as tiles.  Tiles can use a wide variety of different data types and channel combinations.   All rasters are called images in Manifold, even those which are terrain elevation rasters or other non-photographic data rasters.

Labels - Annotations, using text and symbols, created manually or created automatically from fields in a drawing's table.

Layouts - A composition on virtual sheets of paper, for printing to a PDF or physical printer.  Layouts are made up of frames, each of which can show components such as maps, drawings, images, labels, or text frames.

Locations - Locations save a particular geographic location with an associated scale, thus saving a given view in a map or other window to which we can return with one click.    Locations are just snippets of JSON text that specify lat / lon coordinates and scale, easy to change, create automatically, edit and manipulate.

Maps - A window that shows a stack of layers.   Each layer in map is a drawing, image or labels component.  Maps can use different projections than their layers.  Maps will reproject their contents on the fly as needed to display them in the map's projection.   Maps take zero space, because they are just windows that show other components as layers.

Queries - Written in SQL, queries manipulate data and projects, for example, creating new tables and other components, performing calculations,  altering the structure of databases and tables, and extracting, editing and analyzing subsets of data.     Many Manifold dialogs and facilities, like the Create Map dialog or any of hundreds of Transform or Select templates, will automatically create queries for us, if we want.   That's a great way to learn how to use SQL in real life ways.

Scripts - Manifold includes built-in support for scripting in eleven different languages with six to eight always available and the remainder easy to install.  Scripts provide custom capabilities and can automate virtually anything.

Comments -  Text saved and displayed in a comments window provides a simple but  convenient way to save notes about a project or to save text as a scratch pad.  For tips on editing Comments, see the Editing Queries, Scripts and Comments topic.

Folders - We can organize our project by using folders.

Renaming Components

Right-click on any component and choose Rename Related.  Manifold components can participate in large constellations of relationships, for example, a drawing that shows data from a table, and that drawing in turn may participate as a layer in dozens of maps, which in turn might appear in many frames within many different layouts.  Manifold provides handy commands that allows us to rename components in a way that automatically preserves such relationships, updating properties, layer names and so on where necessary to use new names.   See the Show / Rename / Delete Related topic.

Opening Components

We can open a component by double-clicking it in the Project pane:





Double-clicking on Lakes Table in the Project pane opens it in a window.  


If we double-click open a component and a red message icon appears in the window's lower tab, we should choose View - Messages from the main menu to read the message.   Blank drawings or images may show an message icon: in the message Manifold will offer to fix the problem for us.





A tab for the Lakes Table window appears next to the tab for the already open Australia Hydro map window.    


We can Ctrl-click on a table's column header to sort that column.  Ctrl-clicking toggles between sorting ascending and sorting descending.  In the illustration above we have Ctrl-clicked the column header twice for the NAME column, first to sort ascending and the second time to sort descending.  That provides a more interesting display, with the NAME field sorted to be full of names, and not just NULL values.


We can sub sort by additional columns by Shift-Ctrl-clicking the header for an additional column.  See the Sorting Columns topic.


Tech tip:  Manifold opens up new windows as docked windows, as seen above.  It is easy enough to click on the tab for the window we want, but in real life many Manifold users will Shift-click the name tab for a window to undock it.   They will then resize the window and move it around on their Windows desktop to a convenient place.  That allows them to see both the Lakes Table window and the Australia Hydro window at the same time.  

Window Tabs

We can switch back and forth between different windows that are opened by clicking on their tabs,   For example, we can click on the Australia Hydro tab to switch to that window:





The Manifold desktop by default arranges windows to the left and panes to the right.    We can drag the boundary between the windows section and the panes section to make the docked panes section wider or narrower.








Undocking and Docking  /  Closing  Windows and Panes

The Manifold workspace starts off with all windows and panes docked.  We can undock any window or pane by Shift-clicking the name tab.  Undocked windows can be moved to anywhere on our Windows desktop and can be resized.











Panning and Zooming with the Mouse

The cursor mode button in the main toolbar chooses the mouse mode.  The default is navigation.  The drop down menu on the cursor mode button provides other choices depending on the context, such as creating objects in drawings, adding text frames in layouts. or using paths to measure distances or to edit objects.


Click-and-drag anywhere in the window to pan the view by dragging it.


Right-click and drag to draw a zoom box with the right mouse button.  Release the button and the view will zoom into that box.


Wheel to zoom in and out with the mouse wheel.  


Menu buttons allow Back and Forward view commands, Zoom to Fit, Zoom In, and Zoom Out.   Mice equipped with auxiliary buttons giving Back and Forward functionality will also work.


Most users will navigate using the mouse.  Using click-and-drag to pan, right-click and drag zoom box and the wheel to zoom in and out is very fast and convenient.


Zoom to Fit using Layer Tabs

The following commands work with any window that has a tab at the bottom.  Right-click a layer tab for a context menu giving the same choices, plus other useful commands.


Ctrl-click the bottom layer tab of any window to Zoom to Fit the contents of that layer.  Note that some of the buildings in the layer have been selected.



Shift-Ctrl-click on a layer tab will Zoom to Fit any selection that is in the layer.   This is a great way to see in a drawing or map layer those objects that have been selected in a drawing's table.  


See the Manifold 9 - Incredibly Convenient Zooms video for the above in action.

Changing Colors and Appearance

Change colors and formatting of layers by using the Style pane.  


Some GIS packages are limited to only one geometry type in a layer, for example, only areas, or only lines, or only points in a layer.  Manifold allows a mix of areas, lines and points in the same layer, so the Style pane shows controls for all three types of objects.   The illustrations below use a mix of Style features for areas, a thematic format for lines, and a camera symbol for points.


The small illustrations used in this documentation make it difficult to illustrate style controls, especially for thematic formatting.  In real life, we either would work with a full screen display, which provides plenty of room, or we would Shift-click the title tab for the Style pane to undock it,  as seen in the third example below, to make it as big as we would like.





To change the Fill color for areas from a soft ivory beige color to a slate blue, we click on the parameter button for Fill color for areas.





We choose the desired color from the many colors in the drop down menu, and the display is immediately updated.   


If we like, we can specify a thematic format for any parameter by selecting a field that will drive that thematic format.   In the illustration below we use the mfd_id field to drive thematic formatting for Fill color for areas, so the areas are colored based on the value of their mfd_id field, interpolating between five different colors.   



In the illustration below, we have Shift-clicked the Style pane tab to undock the pane, so the Style pane can be made bigger.   We use a thematic format to color area fill color by mfd_id field.  




Manifold provides a vast number of capabilities and symbol options to provide exactly the look we desire.  In the illustrations above, for example, we have used an inner border effect for areas, and we have placed a very thin halo effect on lines, to outline the edges of lines in black.  See the main Style topic for links to using the Style pane with drawings, images and labels layers.

Tab Strips

A row of tabs is called a tab strip.  Docked windows in the Manifold desktop will typically have a tab strip at the top, which allows us to choose which window is displayed, and a tab strip at the bottom, which allows us to manipulate layers in the displayed window.







Undocked windows or panes may be resized and can be moved anywhere on our Microsoft Windows desktop, including outside the Manifold desktop area and including being spread out across multiple monitors.   


If an undocked window becomes hidden when some other application is clicked and brought into foreground, clicking on any Manifold window to move the focus to Manifold will bring all undocked Manifold windows to the foreground as well.





The illustration below shows a Manifold desktop with a map window open on the left and four panes docked on the right.  The map has three layers, shown in a tab strip at the bottom of the map window.  





The panes on the right are the Project pane, the Layers pane, the Style pane, and the Info pane.   By default, Manifold opens all panes on launch, but to fit into the very small sizes of illustrations we have closed all other panes.  





In the illustration above the Project tab is shaded because it is the active tab.   Clicking on a tab will switch to the pane for that tab, bringing it to the front for viewing.   For example, we can click on the Info tab to bring the Info pane to the front.





Panes that apply to whatever window or window tab is active.  In the illustration above the Info pane displays coordinate system information for the active Map window, Australia Hydro, as well as coordinate system information for the active layer in that map, the Lakes layer.


The Info pane also displays the number of records (same as the number of objects, since every object is a record in the table), and the number of selected records.  Those same values are also shown in the Counts pane in the status bar, for quick reference at all times.





If we click on the WatercourseAreas layer tab in the map to make it the active layer in the map the Components pane will switch to displaying information for the WatercourseAreas layer.   





We can bring any other pane to the front by clicking its tab.   We click the Style tab to choose the Style pane.





The Style pane allows us to choose colors and symbology for the active layer.   We can switch back to the Project pane by clicking on the Project pane tab.

Seeing the Full Names of Tabs

The illustration below shows a Manifold project with five docked windows open in the Manifold desktop.





The upper tabs show one map window, three drawing windows and one table window as can be seen from the icons in the tabs.   Given the small size of illustrations the tabs are too narrow to show the full names of the windows.  


That can also happen in big desktops if we have many docked windows open.   Tab strips will try to fit all tabs into the available space, reducing them in size as much as reasonable but eventually as they get too small for the available area tabs will be scrolled out of view.   



To display the full names of tabs for windows or panes or to see tabs that are out of view we can click on the downward triangle in the tab strip.   That will open a pull-down menu that shows the full names of each tab with a button by the name of the tab that is displayed.  We can click on an item in the list to choose that tab and bring that window to the top for viewing.


Tab strips will always keep the selected tab in view. Switching to a tab that is currently scrolled out of view brings it into view, so if the tab strip is not large enough to show all tabs (even with tab size reductions), these tabs can be accessed via the pull-down menu.

Shift-click to Undock a Pane

Panes and windows may be undocked by Shift-clicking their tab.  





For example, we can undock the Project pane by Shift-clicking the Project pane tab.





Another way to undock a pane is to right-click the tab and to choose Undock in the context menu.





Undocked windows and panes may  be resized and moved about on our Windows desktop.    We would normally move an undocked Project pane to some other place on our Windows desktop, where it would not cover other Manifold windows and panes.


See also the Example: Project Pane Tutorial topic for a guide to typical actions using the Project pane.

Shift-click to Undock a Window

Shift-click the title tab for a window or a tab to undock it.      





We can Shift-click the title tab for a window, as in the title tab for the Lakes Table window above.





Another way to undock a window is to right-click the tab and to choose Undock in the context menu.  Right-clicking the tab will switch to that tab as well as popping open the context menu.





The table undocks into a separate window, which we can move about on our Windows desktop and resize however we like.    Shift-clicking on the caption bar docks it again.





If we undock the window again during the same Manifold session, Manifold will undock it back to the same place and size on our Windows desktop as before.

Dock Down, Dock Up with Ctrl-Click

Ctrl-click a docked pane's tab to open that pane vertically below the other pane.  Drag the border as desired between the two open panes.  Ctrl-click again either tab to close them into a single tabbed row.





Ctrl-click the Style pane tab to open the Style pane in a second row below the Project pane.   Moving it to the second row is called docking down.


We can also right-click the Info tab and choose Dock Down in the context menu.




The Style pane opens up in a second row below the other panes.   We can drag the border between the two to arrange the relative heights of each.


Ctrl-click to pop the Info pane back into position next to the Project pane tab.


Just as with panes, we can Ctrl-click to arrange a docked window into a second row of windows:





We Ctrl-click the Lakes Table tab to open it in a second row.   We can also right-click the Lakes Table tab and choose Dock Down in the context menu.





We can drag the boundary between the upper and lower window to arrange each to the vertical size we prefer.   Ctrl-clicking the table's tab will again close it into a single tabbed row.


Tech Tip: As a practical matter, most Manifold users work with a large Windows desktop, using two or three monitors. With such a setup it is more efficient to undock windows with an Shift-click than it is to tile a smaller Manifold display using Ctrl-click.

Status Bar

A status bar at the bottom of the main Manifold desktop window provides information and tips.  A small dimple in the lower right corner of the desktop changes form and color when Manifold is working in foreground or background.



When the activity indicator shows that Manifold is working, hovering the mouse cursor over the dimple will report the number of active background processes.



Right-click onto a blank portion of the status bar to turn optional panes on or off.  The Position pane, the Scale pane, and the Counts pane in the status bar are on by default.



The Position pane reports the current mouse position, using Latitude / longitude decimal degrees format by default.   Right-click onto the Position pane to change the format.



Right-click onto the Scale pane to change the scale used for the active window.   Changing the scale changes the zoom level.


We can choose from a list of typical scale values or specify a custom scale.  The active window will immediately zoom to the scale specified.

Cursor Modes

In the beginning we spend most of our time viewing data.   As we learn more we will want to edit drawings by creating points, lines or areas, or by using paths to edit objects or to make measurements.



The drop-down menu on the mode button lets us choose a different mode, offering choices depending on what window is active.  When working with a drawing, if we choose Create Line the mouse cursor user interface switches from Navigation mode into Create Line mode.



The mode button always shows what mode applies for that window.   


 Different windows can have different modes, with one window being in Create Line mode while another window stays in Navigation mode.  As we switch between windows the mode button will automatically switch to show the mode for that window.    The drop-down menu for the mode button will show appropriate choices for whatever is the active window.



For example, if a layout window is active the drop-down menu for the mode button will show choices that work only for layouts.


Make measurements in open windows using path measurements to report length and bearing.

Get Information - Show Attributes

Objects seen in a drawing will often have attributes, that is data fields associated with that object's record in the drawing's table.   We can see that information by clicking on a drawing's tab to make it the active layer in a map and then alt-clicking onto the object.


In the illustration below we have opened the project that may be downloaded from the Manifold Viewer download page as an example.   The map displayed has three layers: a drawing showing the find locations of Martian meteorites that are indicated with magenta triangles, a drawing showing the find locations of lunar meteorites that are indicated with blue triangles, and a background layer that is a satellite image automatically downloaded from a Google imageserver.





We click on the martian meteorites layer tab to make it the active layer (in case it is not already the active layer) and then we Alt-click on a Martian meteorite point to pick that point, to see the data for that point.  That will automatically pop open the Info pane's Values tab to show fields for the picked object's record.    If the Info pane is not open, it will automatically open when we Alt-click an object.


If we Alt-click onto an object in a layer that is not the active layer, nothing happens.  That is an important feature that helps us pick objects of interest in busy maps.  If there are other objects in other layers, such as an area object in a layer beneath the active layer, we do not have to worry about accidentally Alt-clicking those instead of the object we want.





The Info pane's Values tab shows the field values, called attributes in some GIS packages, for the object we Alt-clicked.  In the map window the picked object is marked with a small square at the coordinate location that defines the point, with a wider square box to help direct our attention to the picked object.  


In this case we see that the name of this meteorite is Dar al Gani 1051, that it was discovered in 2000 in  Libya, and that it is officially verified as both a meteorite and as a piece of Mars that has made its way to Earth.  





If we click on the Coordinates tab of the Info pane we see the coordinate geometry of the picked object.  In the case of a point that is only one X,Y coordinate row, but in the case of a large area that could be many rows of coordinates that define the area.   The blue box marking the designated object increases in size.  


Note that the coordinates reported in the Info pane may not be the same as reported in the status bar Location readout, since the status bar reports the position of the mouse cursor.   A mouse cursor click very near the object will be interpreted to be a click on the object.





Panes iare always live action, so we do not need to worry about closing dialogs before doing something else.  If we want to see record values for a different object, such as the neighboring Martian meteorite, we simply Alt-click on that and the Info pane will instantly show values for that object.





The name of this meteorite is Dar al Gani 735, and it was discovered in 1997.   


When there are more attribute fields than can be displayed in the vertical size of the Info pane, a scroll bar will appear.  Navigate within the Info pane using the scroll bar, or use keyboard commands such as the up arrow and down arrow, or Page Up and Page Down, or Ctrl-Home to jump to the top of the list and Ctrl-End to jump to the bottom of the list.


We can Shift-click the Info tab to undock the Info pane and then resize it to provide more vertical space for display of all fields.   





The Values tab allows editing of field values.  For example, if we wanted to we could double-click into the 1997 value to change it to 1996 if the original value was incorrect.   Field values that may be edited are shown with white background while field values that cannot be edited in the Values tab are shown with light gray background.  For example, we do not edit the geom data type in the Values tab.  Instead, to edit object geometry (in this case simply moving the point by editing its coordinates) we would click on the Coordinates tab and edit the coordinates there, or we could click on the Coordinates tab and drag the point to a new location in the map window.


We Shift-click the title bar of the Info pane to dock the pane again.     To "unpick" the Dar al Gani 735 meteorite, we can Alt-click anywhere in the map other than on a meteorite, or, with the focus on the map window, we can press the Esc key.





We click on the Project pane tab to switch to the Project pane.   We double-click open the drawing's table, martian meteorites Table, so we can take a look at the meteorite's record in the table.  


 Another way to open the drawing's table is to right-click on the martian meteorites tab in the tab strip at the bottom of the map, and choose Open Table in the context menu.


We Shift-click the title tab for the martian meteorites Table, to undock it.





In the illustration above we have ctrl-clicked the row in the table for the Dar al Gani 735 meteorite to select it.   The meteorite icon in the drawing layer switches to red selection color and the corresponding row in the table also switches to red selection color.


If desired, we can change the selection color used by Manifold in the Tools - Options dialog.   This allows us to use a color different than red selection color in cases where a map already uses very much red color or to provide a more discernible color in case of color blindness.


We can adjust the width of columns in a table and hide or show columns using the Layers pane, as we have done in the illustration above, to show only the columns we want to see.





Another way to see a record in the Info pane is to Alt-click on the row for that record in a table.   For example, in the illustration above we have Alt-clicked on the row for the Dar al Gani 735 meteorite.





That picks it for display in the Info pane.  We can unpick it by pressing the Esc key.

Open in Multiple Windows

Double-click an item in the Project pane to open it in a window.   The same component can be open in more than one window at the same time, with each window providing totally independent panning, zooming, and other navigation capabilities.   


To open a component in more than one window:


  1. Open the component by double-clicking it in the Project pane.

  2. Make sure that window is the active window by clicking its tab or title bar.

  3. Choose Window - New Window from the menu.


Opening the same component in another window will add a distinguishing number to the name shown in the tab or title bar.  For example, if we open a table called Customers in a window and then we open the same table in a second and third window those subsequent windows will be named Customers (2) and Customers (3).


Windows for Everything

Windows display the contents of components in the project.  Windows appear in a stack of docked windows in the large open area of the Manifold desktop, each window with a tab giving its name.


Different components will appear in windows adapted to display their contents with three basic types of windows used:





The following illustrations have most panes turned off, for simpler illustrations in the reduced space in this documentation

A map window:


Map windows have a tab strip at the bottom of the window that shows all of the layers in the map.  Double-click on a layer tab to turn that layer off and on.  Layers in a map persist.  If the map is closed and then opened, any layers added to the map will still be there.

A drawing window:


Drawings can include a mix of areas, lines and points.  The above drawing uses lines to show water courses in Australia.  The same drawing also participates as a layer in the map window.   


Like Map windows, drawing windows also have a tab strip at the bottom of the window that shows all of the layers in the drawing window.  Double-click on a layer tab to turn that layer off and on.   Layers in a drawing are a temporary convenience.  We can add layers to a drawing, but if we close the drawing when we next open the drawing the layers will be gone.   We can convert a drawing with layers into a map by choosing Edit - Save as Map.

An image window:



While we usually think of images as photographs, in Manifold an image can be a visualization of any raster data set.  The image above, for example, shows a false color image where the colors represent the intensity of gamma ray emissions from radioactive potassium, thorium and uranium.  Blue colors indicate greater intensity from uranium.  The image is created from tiles, each of which contains many pixels.  The Counts report of Selected: 0 of 624 records reports the number of tiles in the image, since each record is one tile.


Like Map windows, image windows also have a tab strip at the bottom of the window that shows all of the layers in the image window.  Double-click on a layer tab to turn that layer off and on.   As with drawings, layers in an image are a temporary convenience.  We can add layers to an image, but if we close the drawing when we next open the image the layers will be gone.   We can convert an image with layers into a map by choosing Edit - Save as Map.

A table window:



Everything in Manifold is ultimately a table so we should become familiar with table windows.  We normally would work with tables in a much larger, undocked, window than seen above.   Table columns can be read-only (light gray background) or fully editable (white background).


A table must have an index to be editable.  See the Editing Tables topic.

A command window, for SQL:


With everything a table in Manifold, we can do whatever we like with a query in a Command window using SQL, by far the most popular of all languages for databases.  Command windows provide a Query Builder tab, a Results tab and a Log tab that facilitate creating and running queries.  


The query text above is:


SELECT [NAME] FROM [Lakes Table]

   WHERE StringLength([NAME]) > 1



The query builder in the Command Window makes it easier to create queries with greatly reduced need to manually keyboard, although of course we normally would work with a much larger, undocked, Command Window than shown in the illustrations above.


Manifold can also write queries automatically for us, either using a simple drag and drop interface or a dialog button, such as the Edit Query button in the Transform pane or Select pane.

The result of a query:


Run the query by pressing the ! Run button in the main toolbar.   The Command Window automatically switches to the Results tab.


Note that the Counts pane in the status bar reports Selected: 0 of ?, with a question mark for the total number of records.  Queries stream their results as the query computes, so the total number of records can be unknown until the query finishes, which could be beyond the system's control in the case of queries run against external data sources.


To see the total number of records returned, right-click the Counts pane and choose Refresh.   The Refresh command is enabled any time the number of selected records or the total number of records is unknown.




The Counts pane will immediately report the total number of records returned by the query.

A Script window, for JScript.NET




We can program Manifold in many languages. See the Scripts topic.  The script above uses JScript.NET to compute a factorial.  


class Script


static var Manifold: Manifold.Context;

static function factorial(n) {

  return n <= 1 ? 1 : n * factorial(n - 1);


static function Main()







JScript.NET is recursive, so we can use recursion to write an elegant and fast factorial function.  JScript.NET is one of the several scripting languages that are always available, requiring no extra installation of any kind.  

Running a script:



We write a different script, also using recursion, to compute the Fibonacci number for seven.  Press the ! Run button to run the script, with the result appearing in a message box.

A map window:


Maps can combine any visual component, such as drawings, labels and images.   The illustration above shows the drawing of water courses with alternate formatting, a bright green color, shown as a layer above an image layer brought in automatically through Internet from the Microsoft Bing image server.   The green version of the lines layer takes zero extra storage space, since we can make copies of drawings that take their data from the same table, with each such drawing being Styled differently, without increasing the amount of storage required.


Drawings in Manifold take zero space.  A drawing is just a display window with internal pointers to a table that contains the actual data, together with some information in the drawing as to how that data should be displayed.   Except for the few bytes of info on styling, each drawing requires no storage space.  All the data is stored in the table.

A styled image layer


We can apply Style on the fly to any drawing or image, even those dynamically brought in from web servers using protocols like WMS, TMS or others.   We can even style web server images from commercial web servers like Microsoft's Bing or Google Maps.  The illustration above shows Bing dynamically restyled to use different channel assignments than usual.   


Like drawings, images take zero space.  An image is just a display window with internal pointers to the table where the actual data is stored, together with some information on how to display that data.  We can make copies of images that all point to the same table and style those various images as we like, without increasing the amount of storage space at all.

Another styled image:



The illustration above shows the same presentation using a forced palette and hill shading for the Bing image.





Above, we see the same map zoomed further in.

Navigating Table Windows

Table windows provide a view into tables using a classic row and column presentation: each row is a record and each column is a field in those records.  The intersection of a particular row and column, that is a specific field within a specific record, is a cell.   



See the Tables and Editing Tables topics for shortcuts for navigation and editing.


Double-clicking open a table in Manifold will show it in a table window, as seen above.   Tables show data in a classic grid presentation, with rows and columns.  Each row is one record in the table and the various columns show the values for fields in each table.    Manifold uses the words row and record as synonyms and the words column and field as synonyms as well.   If we say column handle we mean the same thing as field handle, for example, and if we say row handle we mean the same thing as record handle.    In addition, GIS people will often refer to fields as attributes.  


Click on a table's title bar or onto its tab when docked to move the focus to that table.  We can also click on a cell in the table to move the focus to that table and to make that cell the current cell.  A table window always has a current cell indicated by a dotted line box called the cursor.  The current cell's column handle and row handle will be darkened as well.  When a table window opens it is filled with records starting at the top of the table and the current cell will be the first column of the first row in the upper left hand corner.  


The current cell indicates the focus of any intended activity.    We can move the focus by clicking on any cell to make it the current cell or by using the keyboard arrow keys to move the current cell down, up, left and right with each click of an arrow key.    When we move the current cell up, down, left or right beyond the current view in the window, the window will scroll up, down, left or right to bring more rows or columns into view.


Pressing the keyboard Page Up and Page Down keys to move the current cell up and down one window's worth of records at each key click will move the focus faster and cause the window to scroll faster up and down.  


The Home key moves the current cell to the left-most column of the current record.  The End key moves the current cell to the right-most column of the current record.  


Tech Tip:  The Home key is particularly useful in tables because it will always move the cursor to the first field and also will scroll the table so that the current cell is in view.   For example, if we use Edit - Find to find a record to scroll to that record we press the Home key to quickly bring it into view.   Keep in mind that Manifold tables are not ordered so jumping back and forth using the Home key does not somehow confer order where there is not.   To get order use a query that temporarily displays the table in sorted order using ORDER BY.


Ctrl-Home moves the current cell to the first, topmost record of the table, still  within the current column.   Ctrl-End moves the current cell to the last, bottom record of the table, still within the current column.


If there are more columns than will fit into the window a horizontal scroll bar will appear.   We can use the horizontal scroll bar to pan the window's view into the table left and right.  Right-clicking on a column title opens a menu of commands that adjust the displayed widths of columns.

Really Big Tables

Table windows are mainly useful for smaller tables, since really big tables contain way too many records for humans to browse interactively.  Tables in a Manifold project can have tens or hundreds of billions of records when stored in external data stores.  Tables stored in a Manifold project stored in the .map project file are limited to a maximum of 2 billion records (2 x 10^9 records).


Table windows in Manifold will show all records for tables stored in a Manifold project, up to and including 2 billion records if that is what the table contains.    Table windows showing tables stored in external data sources, for example, databases like Oracle, PostgreSQL, or SQL Server, will show however many records are set as the default in the Tools - Options dialog.   If we want to set external tables to show all records, Manifold will be happy to do that as well.


However, just because a table window is happy to show all records for such really big tables does not mean it is a good idea to work with such tables using interactive techniques like scroll bars, sorting columns, and similar.


At approximately 50 records per screen and a one-foot tall monitor display, even a mere 50,000 records is 1000 feet or 300 meters worth of table to browse one screen at a time.  A table with two billion records is over 7600 miles or over 12000 km of screens to browse one screen at a time.    In comparison, the distance from New York to Beijing is only 6900 miles, or less than 11000 km.  


Another way to get a feel for the enormous size of a table with two billion records:  Suppose each display screen in a table window on our computer shows 50 records.  Suppose our full-time job is to look at 10 screens a minute (one every six seconds), for every minute of every work hour for eight hours per day.    If we work five days a week all year long, taking just one two-week vacation per year, it will take us over 33 years to scroll through that single table at that pace.  


That is why interactively browsing tables with table windows is mainly a good idea for smaller tables, up to a hundred thousand records or so, and why Manifold provides tools like SQL queries to help us find data within and to get our heads around bigger tables.

Scroll Bars

If there are more records than will fit in view in the window a vertical scroll bar will appear.   See the Tables topic for quick shortcuts for navigating using scroll bars.


The vertical scroll bar is not a precise tool but is simply a relative aid to panning the window's view up and down through records near those that have been browsed.    If we are used to big data we know that scroll bars are basically useless in really big tables.  See the discussion in the Table Windows and Big Data essay.


The vertical and horizontal scroll bars pan the window's view into the table: they do not move the focus, that is, the dotted box outlining the current cell.   Right-click on a scroll bar to call up a context menu of useful choices.   The context menu is useful for horizontal scroll bars but of limited utility for vertical scroll bars.


For example, we could click on a cell to designate it as the current cell and then use the vertical scroll par to pan the window's view so the current cell is no longer in view.   To get it back into view we could either use the vertical scroll bar to pan the window's view back to where we can see the current cell, or we could just press the Home key or left arrow key to move the current cell to the first column of that current row and the window's view will automatically to bring that record into view.

Sorting Table Windows

Important:  As with any big DBMS, tables in Manifold are not ordered.   There is no guarantee at all in what order records will be displayed.   To display records in some particular order we can sort columns in a table window, or we can create a results table - for viewing purposes - from a query using ORDER BY.     If we are not familiar with big-time DBMS products like Oracle, SQL Server, DB2 or PostgreSQL, that Manifold tables are unordered may come as a surprise.  See the Tables topic and the ORDER BY topic for discussions why tables are not ordered.


Clicking a column handle will sort the table for all fetched records by that field.   Clicking the column handle again will sort the table in reverse order by that field.  Keep in mind we are not sorting data in the table itself: as with all high end database systems table data within Manifold is always stored in unsorted form.   We are only sorting the display of the table data in the table window.



The table window above shows the one thousand largest cities in the US.   Ctrl-clicking the state column handle sorts the table window by state name, in ascending order.    Ctrl-clicking the state column handle again would re-sort the table window by state in descending order.



Sorting the table window by state means that all records displayed by the window with a state value of Alabama will appear before those from Alaska, which all will appear before those from Arizona and so on.   Within each state records are not ordered.    


If we would like them to be ordered within each state by some other field we can Shift-Ctrl-click on the column handle for that other field.  In the illustration above we have Shift-Ctrl-clicked on the city field to sub-sort cities within each state.   See the Tables topic for an example.

Context Menus

Right-clicking onto the name of a column calls up a context menu:


Order Ascending

Sort the table using values in this column so that lower numbers or letters nearer to A are at the top.  For sub-sorts, use Shift-Ctrl-Click on additional columns to sub-sort the table by those as well.

Order Descending

Sort the table using values in this column so that higher numbers or letters nearer to Z are at the top.  For sub-sorts, use Shift-Ctrl-Click on additional columns to sub-sort the table by those as well.

 Align Left

Align column contents to the left margin of the column.  The default.

 Align Center

Align column contents to center the contents between the left and right margins of the column.

 Align Right

Align column contents to the right margin of the column.

Best Fit

Arrange the width of this column so that the values in this column will fit better.

Best Fit Title

Arrange the width of this column so that the name of the column will fit better.


Choose a display style for the contents of the column, including language-country format.   Options depend on the data type of the field.  For example, numeric fields will allow choice of a currency display style, while datetime fields will have a choice of different calendar and time styles.  Style can be applied to fields that are binary, boolean, datetime, geom, numeric, tile, uuid, or vector data types.

Show in Layers

Pop open the Layers pane if it is closed, and scroll this field into view as the context field.



To align the contents of a column to the right margin, right-click the column header and choose Align Right.



The contents of the column will be aligned to the right margin.


To best fit all titles, in the Layers pane do a quick Ctrl-A to select all fields, and then right-click on any of the selected fields and choose Best Fit Title.   That technique also lets us apply Best Fit Title to only some fields, by selecting those we want.


Experienced users will Ctrl-click a column head to sort the table by that column.   Order Ascending and Order Descending are in the menu to help new users.  For sub-sorts, use Shift-Ctrl-Click on additional columns to sub-sort the table by those as well.

Styling Fields

We can change the format, that is, the style, for how fields are displayed in tables by right-clicking the column head for the field and choosing Style.  That allows us to choose different ways of displaying text as URLs, different ways of displaying dates and times, or different styles for latitude and longitude numbers, such as decimal degrees or degrees, minutes, and decimal seconds, all with automatic adaptation to different language and country styles for displaying numeric values and dates.



For example, we can change a Unit Price field shown using default numeric style to showing currency in Euros, using European language style for decimal points:



See the Styling Table Fields topic for complete details and examples.

Editing Tables

Editing tables, we can:




Index Required:  To be editable tables must have an index and they cannot be read-only.  If a table has a light gray background in all of the columns it is not editable.  Having an index is a good idea in any event because it makes work with tables faster and it enables facilities like interactive selection.


Add a new row to a table by double-clicking into the last row, marked with a * asterisk in the row handle, and adding info into cells.   Press Ctrl-Enter or click the row handle to commit the new row.


Manifold provides two options for editing the contents of cells in tables:




Any changes we make to a record within a table window that are shown with blue background color are temporary until we command the table window, with a Ctrl-Enter or a click on the row handle, to commit those changes by dispatching them to the table.  Cells shown with blue background color have changes that can be abandoned.  Cells with normal, white background that have been edited have had their changes already committed to the table.

Finding Records

For very simple "finds," just use Edit - Find or Ctrl-F.   Most experienced users will prefer to use the Select pane for richer ways of finding desired data.


Manifold provides many facilities for working with tables, such as queries written in SQL and dialogs or panes such as the Select pane and Transform pane.  As with most Windows applications, we could use the Edit - Find command to find desired text in table windows.   In addition, Manifold provides a more powerful Select pane.





Consider a project showing a docked table as seen above.   We click the Select tab to switch to the Select pane.





In the Select pane we choose the Name field, and then we double-click the Search template.  




In the Search template we choose contains from the long list of available comparative conditions in the Condition box.





In the Value box we enter the text to find, Cou, with no need to use quotes around the text.    


To see a preview of what will be selected, press the Preview button.   We are not required to press the Preview button, but seeing a preview can be a useful way to verify we have set up our selection criteria as we desire, when doing a lengthy sequence of complex selection operations that modify the selection.


The preview shows records that will be selected with blue preview background.  It also adds a preview caption to the top right of the window that names the selection template used.   We can right-click that caption bar and choose Hide Preview to turn off the preview, if we want.   Making a selection also turns off the preview.


If desired, we can change the preview color used by Manifold in the Tools - Options dialog.   This allows us to use a color different than blue preview color in cases where a visual display  already uses very much blue color or to provide a more discernible color in case of color blindness.





Press Select to make the selection:  all records containing Cou in the Name field are selected.  The Collation we are using is nocase, so the search is not case significant.





Add another letter to the Values text to make it Coue and press Select and the selection will be updated.   


We are using replace selection as the Action mode, so every time we press the Select button whatever selection is made will completely replace any prior selection.  





We can switch the Action mode to add to selection, enter a different Value text, Pier, and then press Preview, to see what that will do.  That finds all records with Pier in their Name field, and adds those to the existing selection.    The records that will be selected are shown with blue preview background.





Press  Select to make the selection.  The Collation we are using is nocase, so the search is not case significant.


Other Action options are to subtract from selection, intersect with selection, and invert with selection, allowing very finely tuned construction of exactly the final selection we want, by combining new selections in various ways with the existing selection.





 To show only selected records, click the Selected button to toggle the table window so it only shows selected records.





Right away, the table shows only selected records, in this case only those records which in the Name field contain either the text Coue or the text Pier.  

Table Windows are Populated as Needed

Table windows will automatically be populated with as many records from the beginning of the table as will fit into the window.  Additional records will be fetched and displayed on the fly as we scroll down through the records using either keyboard clicks or panning the view downwards through the table using the vertical scroll bar.    Pressing the down arrow at the bottom of the vertical scroll bar control will scroll the table downwards continuously, growing the scroll bar display as more and more records are fetched on the fly into those being browsed by the window.


Table windows allow us to browse a table by looking at those relatively few records that will fit into a window and to edit the records we see.   Table windows allow us to see records, which we might locate using Edit-Find or other tools, along with those records that just happen to be immediately around them.  That can be useful when editing records or when setting up test cases in applications development, but manual peeks at relatively small portions of data are no replacement for effective use of SQL and other big data tools.   


Tech Tip:  Even if we scroll through very many windows of records we will see only a small part of a table that has millions of records.   Given that most big data is unsorted, the records we might see in a window cannot be assumed to have any special relationship with each other based on their position in the table.  For that matter, almost always in databases the records shown are not ordered: to see them in some meaningful order we should use queries with ORDER BY and similar constructs.    See the discussion in the Table Windows and Big Data essay.


To find relationships within big data we should be using tools like SQL in preference to manual browsing with table windows.   See the Essay on that topic.


Manifold prints to hard copy or to PDF from layouts.   We can print a visual window such as a map, drawing or image window using File - Print Preview.   The File - Print Preview command pops open a pre-composed, temporary layout using default settings that we can immediately print to hard copy or PDF using File - Print.   If we like the temporary layout Print Preview creates we can save it as a permanent layout using Edit - Save as Layout.  


For greater control over print jobs such as creating more sophisticated compositions using multiple frames, we first create a layout, we customize the paper size and margins using File - Page Setup, we tinker with the layout to add frames, repositioning them, changing views within the frame and so on, and then we use File - Print to print the layout to PDF or to a hard copy printer.


Example: Navigation

In this example we open a detailed satellite image of Paris, slightly over 9 GB in size, and then we use the mouse to zoom in and then to pan the view.





We open a project called Paris Image.  Within the Project pane we double-click onto the Paris image to open it.  Using right-click-and-drag we draw a zoom box with the right mouse button.





The window zooms into the region we drew with the box, with the river Seine winding through the center of the view.   Once again we draw a zoom box by using right-click-and-drag to zoom into the region around the Arc de Triomphe.





This zooms us closer, and once again we will right-click-and-drag to zoom even closer.   If we have a wheel mouse we could also use the wheel to zoom in and out.





We can now pan the scene by simply clicking-and-dragging.  For example, we can click-and-drag beginning at a spot near the right side of the window.





As we click-and-drag the display moves in the direction we drag.





When we release the mouse button to end the click-and-drag operation the scene will fill in.





Once we get used to the speed and convenience of the above there is no way to do without it.

One more view...

If we zoom box to center on the Arc de Triomphe and then choose View - Zoom to Native we command Manifold to automatically zoom the display so that one pixel in the data corresponds to one pixel on the screen, that is, native resolution.  That zoom setting usually provides the best view of a given image's resolution.





In this case we can see that our 9 GB image of Paris is detailed enough so that we can see every vehicle in the center of Paris and even see individual people.   We can count the people in line to enter the Louvre.   The image above shows people on the circular plaza surrounding the arch, and people walking about the observation platform on the roof of the arch.


Watch tutorial videos for a fast start:


  1. Manifold Tutorial 1 - Navigation and User Interface

  2. Manifold Tutorial 2 - Add Data and Create a Map

  3. Manifold Tutorial 3 - Export Data and Print a Map

  4. Visit the Videos page for many more live action videos.


Tech tip: If a component such as a drawing opens and does not seem to be zoomed to fit, keep in mind that it might actually be zoomed to fit but we cannot see very small objects at the extremities of the view.   Vector drawings often contain very small objects that might not be easily seen at a zoom level that fits the entire data set into a window.    


For example, a drawing that shows US states and territories will include many small islands far from the mainland mass of US states.    If we open such a drawing we may be surprised to see the continental US is just a small part of the display with what seems to be lots of empty space around the continental US in the window.  But if we were to zoom into that empty space we might see US possessions far from the mainland that are islands and not easily visible when the data set is zoomed to fit.  


To take another example, drawings might contain errors that create spurious points located very far away from all the rest of the data.   A classic example is the case of errors when geocoding street addresses that result in a latitude/longitude of 0,0 instead of the correct geographic location.  


For example, suppose we have geocoded addresses of customers in Los Angeles and then when we open a drawing showing those geocoded addresses as points we are surprised to see a tiny clump of dots near the left edge of an otherwise empty window.   That unexpected display could be the result of a typical error, where just one dot, representing a single erroneously-coded address, has been placed at latitude zero and longitude zero, a location in the ocean off the coast of Africa where the Prime Meridian and the Equator intersect.  


The display was mostly empty because it had been automatically zoomed to fit to include both a tight knot of points within Los Angeles and also a single point half a world away off the coast of Africa.  Delete that spurious dot and then when we Zoom to Fit the drawing of geocoded addresses will fill the window within the expected extents of Los Angeles.


Message Icons - If we double-click open a component and a red message icon appears in the window's lower tab, we should choose View - Messages from the main menu to read the message.   Blank drawings showing a message icon usually indicate lack of a spatial index, which Manifold will offer to build for us.  Blank images showing a message icon usually indicate a need to build or update indexes or intermediate levels, which Manifold will offer to do for us.


Long Menus - Drop down menus that are generated by the system, for example a long list of fields for choosing a field in a dialog box, usually show their contents in alphabetical order.  In long menus with many items, keyboarding the first letter of a desired item will jump to the first item in the list that starts with that letter.


Martian meteorites -  Pieces of Mars sometimes end up on Earth when an impact on Mars blasts pieces of Mars out into space with enough force that some pieces achieve escape velocity from Mars, travel through space and then are attracted by the Earth's gravitational field to fall to Earth as meteorites. Over 130 Martian meteorites have been found.  They can be verified as pieces of Mars by the distinctive proportions of microscopic amounts of Martian atmosphere trapped within the meteorite, by isotopic ratios and other characteristics unique to Mars.    Lunar meteorites are pieces of the Moon that have been blasted off by impacts and have also made their way to Earth.


How do we get that inner border effect in the Cameras map? - The slight hatching inwards from areas borders seen in the Cameras map screen shots uses an Inner Border effect in the Symbol dialog for area style.   We use the Symbol button for areas so the effect applies regardless of what we do with other style parameters, such as colors.   In the Symbol tab of the Symbol dialog (not illustrated) we set the Inner / outer offset value to 2, and then in the Inner Border tab (illustrated below) we check the Inner border box and set the stroke size of the Inner border to 2.  We then use a pattern of 0.1,1 for Dashes.  The result is a very short dash of 1/10th point, which the eye reads as a thin line perpendicular to the border, separated by 1 point of space.   Changing the color from full black to shades of very dark gray can soften the effect, as desired.   See the Style: Areas topic.  



See Also

Getting Started


How to Edit a Single File




Rotated Views




Styling Table Fields


Editing Tables






Copy and Paste between Drawings or Tables








Show / Rename / Delete Related


Manifold Server








Editing Queries, Scripts and Comments


Layer Opacity


Project Pane


Layers Pane


North Arrow


Scale Bar




Info Pane


Select Pane


Style Pane


Transform Pane


Keyboard and Mouse Quick Reference


Table Windows and Big Data