Including interactive maps in Humanities projects has become quite common, making the discovery and storage of spatial data an integral part of a project’s workflow. As most of our Geo-Humanities projects store spatial data in TEI XML, Vertexer has been created to generate data formatted (using TEI XML or GeoJSON) for easy insertion in to an external document.
This application relies heavily on the work of the OpenLayers project.
Tilesets and primary geocoding is handled by OpenStreetMaps.
Date deployed: | SVN revision:
If you have a mapping project that needs custom-drawn features or you want to reuse and modify existing geometries available elsewhere you will probably be able to see the value of an application like Vertexer.
There are a few other applications that allow you to draw features and export them but none that incorporate all of Vertexer’s features.
Vertexer integrates drawing tools and external geocoders to enable users to create bespoke features for use in their own projects.
Using several geocoders provides specialist searches for ancient places (Peripleo), Canadian places (CGNDB), as well as a robust search engine for current places (OSM's Nominatim). These external resources provide the information required to create complex vector representations of features on the user’s map.
Included drawing tools provide a relatively simple method for creating and editing existing features.
It is also possible to have external projects included as a custom geocoder.
What Vertexer does not do: in order to keep functionality as straightforward as possible Vertexer assumes that users will only be working on one feature at a time - more detail on this is available below. If you want to create a feature collection with Vertexer you will need to create each feature separately and compile it yourself outside of this application.
Aside from the map itself, the Vertexer interface is split in to 4 distinct sections: drawing, layers, search, and legend.
The Drawing section provides tools to draw arbitrary dots, lines and shapes on the map.
The Layer tools provide methods for feature import/export, zooming to features, and changing the layer sources themselves.
Search allows the user to query a variety of sources for places that can be added to the map.
The legend provides ancillary information about the presentation of detail currently on the map, such as projection, cursor position, and so forth.
There are three ways to add a ‘place’ to the map:
1) Draw it with the available tools to the left.
2) Import it by clicking the ‘Import’ button to the right and pasting valid GeoJSON in to the popup.
3) Look it up using the search utility at the top.
Important note: vertexer is designed to work on one feature at a time. This may have an impact on the output you get.
Dialogue and information panels can be dismissed with the ‘Escape’ button. Drawing can also be finalized this way.
A number of shortcut keys are available:
The layer configuration button on the right allows you to change the tilesets in use and allows you to select a geopolitical region on which to centre your work.
There are two layers available: the primary layer is the one you see all the time. Change it if you find another tileset is more suitable for your work. If you add a secondary layer (try the satellite layer) you'll notice a tall bar appear on the far right of the screen. Click and drag the bar to reveal the satellite view.
You may notice that the URL of the page is constantly changing. This is so you can bookmark your position and zoom level at any point. Layer choices, map projection, and changes to the geocoder in use are also added to the URL.
Drawing modes include the capacity to draw: a point/multipoints; a linestring/multilinestrings; a polygon/multipolygons. There is also a modify mode to edit features on the map.
A drawing example: the MacLaurin Building at UVic is effectively two buildings. It may be useful to draw it as such, even though you want to retain the concept of a single building. To do this, draw a polygon around the west wing, double-clicking the mouse on the last point to complete the polygon. Start a new polygon and draw the east wing, completing the polygon as before. When you export your drawing Vertexer will collapse the two polygons in to a MultiPolygon automatically. The principle is the same when you draw several points or linestrings.
Important note: if you draw two different geometries (say, a linestring and a point) Veretexer will export what is called a Feature Collection. Be aware that this is probably not what you want, so go back and remove extraneous geometries from the map before export.
Once a feature has been finalized (click the pink checkmark button or tap the ‘escape’ key on your keyboard) you can still modify it if you aren't happy with it. Click the modify button at the bottom of the drawing tool palette and just click-and-drag to edit. Finalize the modification with ‘escape’ or the pink checkmark and you can export.
When in draw or modify mode it is possible to delete an existing vertex by Alt+clicking it.
Clicking on a feature opens a panel with some details about the feature, including provided names, geometry type, length/area, and centre point. There are also buttons to delete or simplify the feature.
Simplifying very complex features can be very useful when working with features imported from external providers. For example, the MultiLineString representing the Fraser River can be reduced by 20% using the standard, rather conservative settings. Note that this tolerance is adjustable (see below).
If you're interested in knowing a bit more about Vertexer there is an ‘about’ panel available by clicking the Vertexer logo (top-right). This panel also makes a few extra settings available:
In some cases Vertexer makes assumptions about your intent. For example, if you export multiple points/lines/polygons there is an assumption made that you are drawing a MultiPoint/LineString/Polygon feature. If you export several different geometries (ie. you draw a point and a polygon) Vertexer will throw you a bone and output a GeoJSON FeatureCollection. However, Vertexer is not intended to be used to generate multi-feature collections. Note that if you have overlapping polygons, Vertexer assumes that you are trying to construct a doughnut (cutout) polygon. Vertexer does not support GeometryCollections. If you have a real-world use for one let me know [gregster AT uvic DOT ca]!
A pre-configured URL can be used as a link or starting-off point. For example, the URL https://hcmc.uvic.ca/people/greg/vertexer/?c=-13726964,6184072&z=28&l=sat&s=osm will set the map’s centre point on the UVic library, zoom to level 28, primary layer to satellite, and the secondary layer to OpenStreetMaps.
The list below shows the options available in the URL. The notation includes each option, separated by a | character. For example, the information panel projection can be set to either EPSG:3857 or EPSG:4326. The URL would look like this: ?p=3857. Clicking the various options below will open a new tab using the option clicked. Look at the address bar of your browser to understand the option used.
Any given location on earth can be represented by a set of coordinates in (alpha)numeric form. Specific points are represented by a pair of coordinates, while more sophisticated features are represented by many coordinate pairs making up lines and polygons. These representations generally use latitude (lat) and longitude (lon) coordinates to accomplish this.
In many modern cases, especially online maps, the coordinate system uses exclusively numerical data to represent features on a map: for example, the centre point of the University of Victoria’s Ring Road is located at 48.463° latitude and -123.312° longitude. Online maps use an alternate representation of this: 48.463,-123.312. When rendered on a map, this type of feature is usually indicated with some kind of simple marker. Note that online maps frequently use single coordinate pairs to represent general positions such as the centre of the UVic campus.
More complex shapes can be described using coordinate collections. Polygons can be represented by sequentially chaining coordinate pairs: for example, the rough footprint of the UVic Library can be rendered thusly: -123.309978,48.463704 -123.309879,48.46308 -123.308976,48.463146 -123.309024,48.463422 -123.30864,48.46345 -123.308698,48.463798 -123.309978,48.463704. This is just a long list of space-separated coordinates (which are themselves comma-separated). As we use single coordinate sets to indicate approximate locations, we use polygons to provide a more accurate representation of a specific area on earth. Polylines (also called polygonal chains) are, simply put, connected line segments. In online mapping systems, the fundamental difference between polygons and polylines is that polygons re-use their initial coordinates to close the shape, whereas polylines do not because the ‘shape’ does not close. Polylines are frequently referred to as linestrings.
In the context of this application the term feature refers to a shape defined by geo-coordinates - a spatial indicator. We use shapes (like polygons or lines) and geo-coordinates to represent locations on a geographical reference system like an online map, and at that point it becomes a feature. Ultimately, though, the distinction between a shape and a feature is fine one, and the two terms are frequently used interchangeably.
Although importing GeoJSON FeatureCollections is supported the application is intended for use on one feature at a time. At this point Vertexer does not support GeoJSON GeometryCollections. If you have a good use-case for them please get in touch.
Features in Vertexer have two states: selected and unselected. Selected polygons and markers have segment markers and a pink background, while unselected polygons and markers have a translucent grey background and solid segment markers. Polylines do not change colour, and are considered selected when segment markers are visible. The buttons to the right of this panel allow users to import, export delete selected features from the map and zoom in to a feature.