Википедиа:Graphics Lab/Resources/OpenJUMP/Create a general map

Мавод аз Википедиа — донишномаи озод

This tutorial will describe the steps for creating a general historical map of the British Isles using the open-source GIS software Open JUMP and Inkscape.

It requires some proficiency with Inkscape and basic GIS skills.


Tools:

The reference map used in this tutorial, "British Isles in about 802", is from the Historical Atlas of William Shepherd (Shepherd, William R., 1926, Historical Atlas, New York City: Henry Holt and Company) https://commons.wikimedia.org/wiki/File:British_isles_802.jpg

This map has been geo-referenced using the WorldMap WARP tool and can be downloaded from this address: download link

The background geographic data used in this tutorial is made up of 4 datasets downloaded from the Natural Earth website (http://www.naturalearthdata.com/downloads/10m-physical-vectors/ ):

  • Coastline link
  • Rivers + lake centerlines link
  • Rivers + lake centerlines - Europe supplement link
  • Lakes + Reservoirs link

Creating the map in Open JUMP GIS and Inkscape[вироиши манбаъ]


Step 1: Importing files, cropping and styling vector data[вироиши манбаъ]


Opening the reference map
Opening the reference map

1. Start Open JUMP GIS and use File -> Open to open Shepherd's geo-referenced map of the British Isles. Click Next and Finish.


Opening the vector datasets
Opening the vector datasets

2. Now use File -> Open again and import the 4 vector datasets that were downloaded from the Natural Earth website.


Creating a new layer
Creating a new layer

3. The vector data extends too much, so we will crop it to the area needed for our map. Right-click on the layers menu and Add a new layer (or Ctrl+L). Name this new layer Fence (it has to be this exact name for our next operation).


Drawing a rectangle in a new layer
Drawing a rectangle in a new layer

4. The Editing Toolbox will open by default when you add a new layer (alternatively it can be opened from View -> Editing Toolbox). With the Draw Rectangle Tool from the editing toolbox draw a rectangle that fully contains the map of the British Isles.


Cropping the map
Cropping the map

5. Now the map will be cropped using the Edit -> Clip map to Fence command. In the next step click OK.


Style editing
Style editing

6. This is a proper time to edit the style of our layers. This is done from the Change Styles menu (Change Styles icon on the top level menu bar or right-click on layer Style -> Change Styles). Remove the Fill for the Fence layer and set the transparency to 0. Use a shade of blue (RGB 0099FF for example) for the lines on the coastline, rivers and lakes layers.


Tip: to "borrow" the graphic style from another layer right-click on the layer with the style you want to copy and go to Style -> Copy Styles. Now right-click on the target layer (or layers if you Shift+left click more layers) and apply the Style -> Paste Styles command.


Tip 2: To save new layers right-click on the layer and go to Save Dataset As. The same process applies to raster layers (in our case Shepherd's map), but you will have to save the raster in JUMP GML format (*.jml), otherwise the layer will not be saved as part of our Open JUMP project.

For vector layers you can save your data in about 10 GIS or CAD formats. The JUMP GML format has the advantage of keeping all the spatial information and layer attributes in a single file (unlike ESRI shapefile for example, where datasets come as .shp, .dbf, .shx and .prj files).


Copy and Paste Style
Copy and Paste Style
Saving layers
Saving layers
Copy and Paste Style Saving layers



Step 2: Editing and labelling vector data[вироиши манбаъ]


7. Create a new layer (named BORDERS in my example) where we will add the borders of the political entities in Britain. There are some things to know before we start drawing:

  • A layer is Editable when marked with red bold text in the layer list. When the name is shown in italics the layer is not Selectable. You can change the layer modes from the right-click context menu. When making edits to a layer it is advisable to uncheck both the Selectable and Editable modes for all the other layers.


  • The snapping options can be changed from the Editing Toolbox Options menu. In our case we will only need to Snap to vertices and to LineStrings being edited (the preset tolerance of 10px is fine). The vertices or nodes we will snap to belong to the coastline and rivers datasets.


  • You can adjust the transparency of the background reference map from right-click on layer -> Layer Properties -> Styles


  • To Zoom In or Out you can use the standard Zoom In/Out tool from the top menu bar. While editing, the combination Alt+mouse scroll is more suitable. For panning use the Shift+Alt+left click drag combination. To delete previous node while drawing a line or polygon use Backspace. To temporarily disable snapping use the Spacebar key. More information about shortcut keys can be found at Help -> Shortcut Keys.


Changing layer modes
Changing layer modes
Snapping options
Snapping options
Adjusting raster layer transparency
Adjusting raster layer transparency
Changing layer modes Snapping options Adjusting raster layer transparency



Drawing the political borders
Drawing the political borders

8. Add the borders using the Draw Linestring Tool. Do not draw lines in places where a river from our Natural Earth datasets forms the border. To continue a finished line start drawing from either the first or last node of the linestring.


9. The borders have to connect to nodes from the shoreline and rivers datasets. You can edit nodes using the keys V (move node), X (delete node) and A (insert node) or the Move Vertex, Delete Vertex and Insert Vertex tools from the Editing Toolbox. To temporarily disable snapping while editing nodes/vertices use the Spacebar key. Additionally, edit the coastline layer to match the historical shoreline in Kent and Northern Flanders and edit the course of the Ouse River in the area around Ely. Use the Split Lines tool to split the coastline in Northern Flanders and draw the estuaries.


Splitting line
Splitting line
Deleting nodes
Deleting nodes
Adding the historical coastline
Adding the historical coastline
Splitting line Deleting nodes Adding the historical coastline



10. Note that the 2 river layers have some topological errors. In 5 places the rivers don't snap to the coastline layer. You will have to Zoom In to each area to see the errors better. Either move and snap the nodes individually or use the Snap Vertices Tool for faster results.


Topological errors to be corrected
Topological errors to be corrected
Moving a node (vertex) with the Move Vertex Tool
Moving a node (vertex) with the Move Vertex Tool
Using the Snap Vertices Tool to correct the topology
Using the Snap Vertices Tool to correct the topology
Topological errors to be corrected Moving a node (vertex) with the Move Vertex Tool Using the Snap Vertices Tool to correct the topology



Adding the settlements
Adding the settlements

11. In a new layer (SETTLEMENTS) we will add some settlements using the Draw Point Tool. I have added 15 settlements that were more important in Anglo-Saxon Britain and in pre-Norman Ireland: Armagh, Dublin, Waterford, Bamburgh (Bamborough), Durham, York, Leicester, Exeter, St. Davids, Winchester, Canterbury, London, Rochester, Edinburgh, Scone. You should disable all snapping options before inserting points.

Note: The quality of the source map has been reduced during the geo-referencing process. View the original file if some text is illegible (link).


Editing the layer schema
Editing the layer schema

12. To write the names of the settlements we first need to add a "NAME" attribute field to the layer. This is done from the layer Schema menu. Right-clik on layer -> Schema -> View/Edit Schema and add a new field (NAME) with the Data Type set to String. Click Apply Changes and close the menu.


Adding names
Adding names

13. Open the layer Attributes table (right-click on layer -> View/Edit Attributes or from the top menu bar View/Edit Attributes icon) and add the names of each settlement. If you Zoom to Full Extent you can Flash Selected Rows or simply click on a row to highlight a point on the map.


Displaying labels
Displaying labels

14. To show the labels on the map open the Change Styles menu and go to Labels. Check Enable labelling, use the field with the settlement names for the Label attribute parameter and, optionally, change Font and text Height.


Styling points
Styling points

15. From Rendering (Change Styles menu) style the points in a more appropriate way (remove fill, black line, check to show Vertices, Point Display Type set to Circle)

IMPORTANT: Open JUMP cannot display curved labels yet, so the country/province and geographical names will be added in Inkscape.

Step 3: Reprojecting vector data, creating polygons and exporting the map[вироиши манбаъ]


Reprojecting vector data
Reprojecting vector data

16. Our data will be reprojected from the Geographic projection (the projection of the Natural Earth data and source map) to a more British Isles-suitable projection. Turn all the vector layers (not the raster source map) to Editable (use Shift to select multiple layers). Then Shift+select all vector layers and go to Plugins -> Coordinate Transformation. Write 4326 in the Source coordinate system field (this is the EPSG code of the Geographic/Equirectangular projection) and 32630 (UTM projection) in the Target coordinate system field.


Cropping the data for the new layout
Cropping the data for the new layout

17. Delete the existing Fence layer and add a new one. Draw a rectangle around the British Isles and crop the map for the final layout.


18. Add a new layer (LANDS). Have the fence, borders, coastlines and the rivers layers set to Selectable and Shift+select them. Select all the features in the 4 layers (Ctrl+A) and Paste them (Ctrl+V) in the new layer. Go to Tools -> Edit Geometry -> Convert -> Polygonize and check Node input before polygonizing. Delete the "Dangles" and "Lands" layers and move the newly generated layer up in the list.


Ctrl+A to select features
Ctrl+A to select features
Pasting the features (Ctrl+V) in the new layer (LANDS)
Pasting the features (Ctrl+V) in the new layer (LANDS)
Applying Polygonization
Applying Polygonization
Moving the generated layer below the other vector layers in the layer list
Moving the generated layer below the other vector layers in the layer list
Ctrl+A to select features Pasting the features (Ctrl+V) in the new layer (LANDS) Applying Polygonization Moving the generated layer below the other vector layers in the layer list



Moving the sea&ocean polygon to the "lakes" layer
Moving the sea&ocean polygon to the "lakes" layer

19. Set the LANDS-Polygons layer to Editable and Selectable. Cut (Ctrl+X) the sea&ocean polygon and paste it (Ctrl+V) to the lakes layer


Coloring the political units
Coloring the political units

20. Uncheck Selectable and Editable for all the vector layers, except the LANDS-Polygons layer. Use Ctrl+M to merge/group the polygons belonging to the same political units (small islands and "mainland"). With the Pick Color Tool color the political entities.


Map after final graphic edits
Map after final graphic edits

21. Once all the polygons have been grouped and colored, the final graphic edits can be made. I have colored the borders layer in grey (line width was changed to 1px) and moved the lakes (water bodies) layer on top of the rivers layers. The fill for the water bodies is light blue (RGB EBFBFB) and the stroke color was changed to medium-blue (RGB 80B3FF).


22. The map is ready for export. Go to the PrinterPlugIn (File -> Print -> As Map To Printer, Image, PDF (Cadplan) or the Printer icon from the top menu bar). Set the scale to 1 : 4 000 000. Add the "Furniture" (North arrow and map scale). In the map scale menu set the Value Scale to 1000. Go to Save Image and save the map as PDF.


Changing scale to 1:4000000 in the PrinterPlugIn
Changing scale to 1:4000000 in the PrinterPlugIn
Adding the North arrow
Adding the North arrow
Adding the scale bar
Adding the scale bar
Saving the map as PDF
Saving the map as PDF
Changing scale to 1:4000000 in the PrinterPlugIn Adding the North arrow Adding the scale bar Saving the map as PDF



Step 4: Adding text and final edits in Inkscape[вироиши манбаъ]


Importing map
Importing map

23. Open the PDF file in Inkscape (right-click on file -> Open with -> Inkscape in Windows). Keep the existing PDF import settings. Click OK.


Ungroup objects
Ungroup objects

24. Ungroup the map objects (Shift+Ctrl+G). Apply 3 ungroup commands to ungroup all the objects.


Moving labels
Moving labels

25. Move the overlapping labels in the South-East of England (London, Rochester, Canterbury).


Adding names in a new layer
Adding names in a new layer

26. In a new layer (Layer -> Layers, Add Layer) add the names of the political units (Mercia, Northumberland, Pictland, Essex, Ireland etc.). In my example I have used Liberation Serif font, sizes 16-22.


Adding river names
Adding river names

27. Add sea and river names. To curve labels, first drag a line with the Pencil tool. Select the text and line and apply the command: Text -> Put on Path. Afterwards remove the curved line and convert the text to path (Path -> Object to Path or Shift+Ctrl+C). For better Wikimedia rendering convert all text added in Inkscape to paths. Add the map title in a box in the upper part of the map.


Resizing document
Resizing document

28. Select the black Fence rectangle and crop the SVG document to it (File -> Document Properties - Resize page to drawing or selection).


29. The map is finished and should be similar to this one:

The final map
The final map



The table above has links to various tutorials and resources which can help in the creation of Wikipedia maps from digital georeferenced data (GIS).