Copy and Paste between Drawings

We can copy and paste objects between drawings using the usual Windows menu (Edit-Copy, Edit-Paste) and keyboard shortcuts (Ctrl-C, Ctrl-V) to select objects or records, copy them and them paste them into a destination.  We can copy from a drawing and paste into another drawing, copy from a drawing and paste into a table that has a geom field, copy from a table that has a geom field and paste into a drawing or vice versa in any of those combinations.  Manifold will automatically re-project coordinate systems that are used by different drawings and geoms so pasted objects are re-projected into the destination coordinate system.


Copy objects and paste them into a different drawing:


  1. Select desired objects in a source drawing, or select the records for those objects in the source drawing's table.

  2. Choose Edit - Copy in the main menu or press Ctrl-C  to copy those objects to the Windows clipboard.

  3. Click the open destination drawing or table to move the focus to that drawing or table.

  4. Choose Edit - Paste in the main menu or press Ctrl-V to paste the objects.


Drawings and tables that participate in copy and paste must have been correctly imported or created, and ready to participate in editing, for example, allowing selection in source drawing:




When we choose Edit - Paste or press Ctrl-V to paste, Manifold will avoid raising an extra Paste dialog if it is likely a simple paste is what we want.   If all attribute field names do not match or if we use a Shift-Ctrl-V command, Manifold will raise a Paste dialog to enable us to specify how we want fields to be pasted.


When the destination has no attribute fields except mfd_id and a geometry field named the same as the source geometry field,  a Ctrl-V simply pastes the objects.   If there are any fields in addition to mfd_id and the geometry field in the source, and the destination has exactly the same named fields, a Ctrl-V simply pastes the objects.   If there are additional fields and there is a mismatch in names between source and destinations, Manifold will raise a Paste dialog allowing us to choose how fields will be pasted.

Merge Drawings

A quick way to combine many drawings is to use the Merge Drawings command.

Tutorial Example

We will copy and paste between drawings that appear in two different maps.   Both maps have a background layer taken from the Canvas webserver that is available in the ArcGIS REST collection published as a .map in the Product Downloads page and used as a demo in the Manifold Viewer Introduction video.




Our Destination Map contains an empty drawing called Destination.   In this example we will copy objects from a different drawing and then paste them into the Destination drawing.   




With the focus on the Destination Map window we see the map uses the usual Pseudo-Mercator default coordinate system, as does the Destination drawing.  




The Destination drawing is empty, as we can see from the drawing's table above.   The table contains only two fields, the usual mfd_id key field, and a geometry field named Geom in the usual, default Manifold style.


Our source drawing is in a different map called Provinces Map.   This map also uses a Canvas webserver layer to provide visual context.




The Provinces Map has the Provinces drawing as a layer.   The Provinces drawing shows administrative subdivisions taken from OSM maps for France, Germany, Poland, Lithuania and Latvia.   These have been colored using Style so provinces for different countries have different fill colors.




With the focus on Provinces Map we can see from the Component pane's readout that Provinces Map is in the usual Pseudo-Mercator coordinate system.   However, the Provinces drawing is in Latitude / Longitude.   The map window re-projects the Provinces drawing on the fly into Pseudo-Mercator for display purposes so it correctly lines up with the projection used by the map window.




In the Provinces Table we see the table has fields that give the country code using ISO standards, a name for each province and the type of the province.   

Copy and Paste

We will now copy some objects from the Provinces drawing and paste them into the Destination drawing.  




In the Provinces drawing, Ctrl-click onto three of the German provinces to select them.   They will appear in red selection color.




The same provinces are also selected (of course) in the table and likewise appear in red selection color.    If we wanted, we could have ctrl-clicked the records in the table to select them, and the corresponding objects in the map would also be selected.  


With the focus either on the Provinces layer in the map window or on the Provinces Table window, choose Edit - Copy in the main menu or press Ctrl-C on the keyboard.  The same objects/records are selected in both the map window and the table window, so it doesn't matter which has the focus when we command a Copy.   Selected objects in the drawing and their corresponding selected records in the table are the same things, just displayed in different ways.  




We click onto the Destination Map to move the focus there, with the Destination layer the active layer.   We press Ctrl-V.  




Instantly, the three provinces are pasted into the drawing.   We have previously used Style to set the fill color for the Destination drawing to yellow, so the provinces appear using that style.




Three new records appear in the table, corresponding to the three new objects that we see in the Destination drawing.  Manifold has automatically re-projected the geometry info in the Geom field from the source Latitude / Longitude coordinate system used in the Provinces drawing's Geom field into the Pseudo-Mercator coordinate system used in the Destination drawing's Geom field.


The above is an example of a simple paste.  The destination drawing has only an mfd_id field and a geometry field, with the geometry field using exactly the same name, Geom, as the source geometry field.  There are no other fields in the destination drawing/table to accept any other attributes, so there are no decisions to make regarding how other attributes should be copied.   When we pressed Ctrl-V it was clear to Manifold we wanted to paste the objects with no options required so that is what was done.

Copy and Paste with Attributes

When the source and destination drawings have multiple fields, Manifold will raise a dialog to resolve any ambiguities.   Let us repeat the above copy and paste, but this time we will paste into a different drawing that has fields in addition to the mfd_id field and Geom field.




In the illustration above we have removed the Destination drawing from the map and instead have dropped a different drawing, Countries, into the map as a layer.




The Destination drawing's table has Country and Province fields, both nvarchar Unicode text fields, in addition to the mfd_id and Geom fields.    These are different names than are used for fields in the Provinces drawing's table.




We copy the same three provinces from the Provinces drawing, as before.




We paste them with a Ctrl-V into the Countries layer.




This time, Manifold pops open a Paste dialog to allow us to specify how we want the fields to be pasted.  On the left are the destination fields and on the right are the source fields.   The Geom fields use the same name in both tables so Manifold guesses we want the Geom field from the Provinces table to be pasted into the Geom field for the Countries table.   To specify the other fields, we double-click into the source cell.




In the pull-down menu, we choose the field desired.




  For example, we want the name field from the Provinces table to be pasted into the Province field in the Countries table.




We repeat the procedure to choose the iso_a2 field from the Provinces table to be pasted into the Country field in the Countries table.  Press OK.




As before, three new provinces appear in the Countries layer.   We have used Style to specify a blue fill color for areas in the Countries drawing.




Three new records appear in the table.    Comparing the source table to the destination table we can see how values for fields have been assigned based on the choices we made in the Paste dialog.




Although the illustrations above do not show data types, the text fields in the Provinces table are all varchar text.    When pasting into the nvarchar Unicode data type fields in the destination Countries table, Manifold automatically converted the data from varchar to nvarchar.

Automatic Matching of Field Names

As much as possible, Manifold by default will match field names.




In the above map we have removed the Countries layer and instead have dropped a drawing called ISO into the map as a layer.




The ISO table shows the drawing is empty, but the table uses field names where four out of five field names are the same as in the Provinces table.




If we copy the same three provinces from the Provinces drawing and then we Ctrl-V into ISO Table (or, into the ISO layer in the map), Manifold will raise the Paste dialog again.




In this case, all of the field names that are an exact match are already filled in for us.   If we like, we could also choose the type field in the Provinces table to be pasted into the class field in the ISO table.   We will not do that, and instead we will simply press OK.




Three new records appear in the table.   Since we did not paste anything into the class field, that field has NULL for each record.





Three new, corresponding objects appear in the drawing.   We have used Style to apply a green fill color to the ISO drawing.


Manifold will automatically paste without raising a Paste dialog when all of the field names match up.    That can be a problem when the names of fields match up, but the same name is used to mean different things in a different drawing.   




Consider the drawing layer above, called Oops.    It already has two objects in it, showing provinces in Germany.




In the Oops drawing's table we see it has fields that are named the same as in the Provinces Table, but using different meanings.   For example, for a country code that the Provinces drawing calls iso_a2 the Oops drawing uses a field name called name.    But the Provinces drawing uses name for the names of provinces.




If we copy our three selected objects/records from Provinces and paste them into the Oops drawing, Manifold will automatically match field names and will silently paste three additional records in the table and objects in the drawing.




By automatically matching the contents of the name field in Provinces to the name field in Oops, the result is incorrect, putting a province name into what should be the code for the country.


We can avoid that problem by pressing Shift-Ctrl-V to paste, either in the Oops drawing layer in the map or in the Oops Table window:




Pressing Shift-Ctrl-V is a command to Manifold to open the Paste dialog so we can explicitly specify or confirm what Manifold has guessed about which fields should match up.




The Paste  dialog opens with the name field from the source to be pasted into the name field for the destination.  That is not what we want.   We can change that by Double-clicking into the name field for the source and changing it to iso_a2.




We then press OK.




Three new records are created, this time using the correct paste of country codes from the iso_a2 field from Provinces into the name field of Oops




Three new objects appear in the drawing as well.


Paste is always Paste Append -  If we have objects or records selected in the destination, the paste will ignore them and will simply add new objects and records.   Therefore, if we want to replace very similar objects with new versions of those objects copied from a different drawing, we should delete the old versions first.   Otherwise, when we paste the new objects they may appear in exactly the same place as the old objects.   Having two very similar objects in the same place can be very confusing.


Use Background Maps - When pasting into a totally blank drawing it is easy to get confused if objects happen to be pasted out of sight of whatever is the current viewport.  Yes, we can zoom to fit but it may be better to avoid any confusion by working with drawings as layers in maps where there is a background layer, like the Canvas world map background layer used in illustrations above, to provide immediate visual context.


Must we use the name Destination for drawings into which we Paste?  - No.  We can paste into drawings or tables of whatever name we like.   The name "Destination" as used in this example has no special meaning.   It is intended merely to help readers keep track of what is going on.   We could have called it "Alice."


See Also

Getting Started


User Interface Basics






Layers Pane


Record Pane


Example: Draw Lines, Areas and Points - Simple example of using basic mouse moves to add points, lines and areas to a drawing.


Example: Trace an Area in a Map over an Image Background - In a map with a drawing layer above an image layer, create an area object in the drawing by tracing over the outlines of something seen in the image layer below.


Example: Edit Coordinates While Creating an Object - When creating an object in a map using a tool such as Create Area, right in the middle of the process we can edit coordinates in the Contents - Record pane's Coordinates tab.   This example shows the step by step process.


Example: Edit Attributes and Move a Point - We look at the attributes for a point in a drawing layer and edit one of the attributes using a more expanded Edit dialog.  We then move the point to a new location. Easy!


Example: Edit Attributes, Larger Text, IME for Asian Languages - A tour showing how to edit attributes in a drawing using the Record pane Values tab and the expanded Edit dialog, including advanced Unicode facilities and use of the built in Input Method Editor (IME) to input text in Japanese language.


Example: Create a Multipoint - This topic provides two examples:  First we create a multipoint and then next we create a multipoint having two branches.  The purpose of this topic is to help teach the implementation of geometry in Manifold and other spatial packages using an unusual and rarely met object type, the multipoint, which combines what appear to be many separate points into a single multipoint object.


Example: Change the Shape of Areas - Step-by-step editing of an existing area in a drawing: changing the shape by moving a vertex, by moving several vertices together, by moving the entire object, by deleting a vertex and by adding a vertex.


Manifold 9 - Copy and Paste Part 1 - The latest builds add seamless copy and paste between drawings, maps and tables. We copy objects from one drawing and paste them into another. Manifold automatically re-projects copied objects from whatever coordinate system the source uses into the coordinate system of the destination. Manifold even re-projects on the fly multiple, different geometries. We can either let Manifold paste automatically or choose options.


Manifold 9 - Copy and Paste Part 2 - We continue with our look at copy and paste, this time looking at how we can paste using different names for attribute fields. When Manifold can match up attribute fields by name the system will do so, but if we want to use differently-named fields that's easy to do also, as this video shows.


Manifold Future - Future Tour Part 1 - This video shows how to download and use a portable installation for Manifold Future.  The video also shows the Contents, pane, layers and layer opacity, one click use of data source favorites, using your own archival favorite and getting record values instantly.  If you are using Viewer or Radian Studio, download and use the Future version to get access to all these powerful new features.


Manifold Future - Future Tour Part 2 Editing - The video shows how to create new objects, how to add fields and vertices and move vertices around, how to edit existing objects and how to use simple selection methods to choose vertices to move together, including moving all objects.


Manifold Future - Future Tour Part 3 Editing - The editing tour continues with a look at how to create branched objects, including how to create areas with holes and islands, how to add branches to lines and how to add coordinates between vertices in existing objects.  We finish up by creating an area that traces over a pond in the Luxembourg Gardens in Paris using a Google satellite view, and then we add a hole to that area and two additional islands.


Manifold Future - Future Tour Part 4 Edit Attributes, Move a Point - We use Manifold Future to see how to view attributes of objects in drawings, including use of the new Edit dialog to view long, multi-paragraph text fields.  We edit fields and see how easy it is to preview edits and either accept them or abandon them. We switch to editing the geometry of objects in a drawing, viewing the coordinate locations and using mouse moves to reposition points. We edit the location of a point to correct an error in a drawing, using Google Satellite view to provide context for the correction.  Fast and easy, with previews all the way!


Manifold Future - Future Tour Part 5 Unicode Attributes and IME -  We take a tour through Manifold Future attribute editing, showing how to edit attributes in a drawing using the Record pane Values

tab and the expanded Edit dialog, including advanced Unicode facilities and use of the built in Input Method Editor (IME) to input text in Japanese language.