Skip to content

v0.1.0

Choose a tag to compare

@mradamcox mradamcox released this 12 May 19:17
· 127 commits to main since this release
1fd8b46

Why release now? This is the first tagged release of the OldInsuranceMaps.net code base in a very long time. The only prior release, v0.0.0-lahmg, tagged the code base a couple of years ago in its final state as a georeferencing extension for GeoNode, before I began the process of turning it into a standalone web application. That transition has been 100% complete for a long time now, and the code has been has been running in production with daily usage for years, even as I continue to fix bugs and add features. Last year I began managing a second deployment of OldInsuranceMaps (a private instance for a research group) and it's becoming messy to deploy fixes and features across these two instances with just branch management. So: it is high time to begin tagging releases in a more regular manner.

Overview

OldInsuranceMaps.net is a web georeferencing platform that facilitates crowdsourced contributions to the creation of seamless historical atlas mosaics. The underlying software is slowly becoming more generic and applicable for any maps, not just Sanborn atlases. Currently though, the line between the core package, Online Historical Map Georeferencer (OHMG), and the implementation of it at OldInsuranceMaps.net, is still blurry.

Features

These release notes have a baseline description and some screenshots of the platform's main features, future release notes will just have changes.

Processing workflow

  • 3-step workflow for handling georeferencing activity
    • Prepare: split an image (if needed)
    • Georeference: create ground control points (GCPs)
    • Trim: add a mask to remove margins if desired
  • Handles common georeferencing complications
    • Multi-page atlases
    • Multiple insets or sections on the same page
      • Also useful for folded maps with gaps between sections
    • "Skippable" pieces that are too small to georeference well
    • Non-map content, like title pages and indexes
  • Session-based user input creates narrative of work performed
  • Staff/admin accounts can undo any sessions as needed

Split interface

  • Draw lines across a page to split it into different regions
  • Upon submission, the input page is split into multiple files based on the defined regions
  • Only necessary for pages that have insets or contain multiple maps
image

Georeferencing interface

  • Manual ground control point (GCP) creation (define pixel coordinates -> define lat/long coordinates, repeat)
  • Movable GCPs during editing
  • After 3 GCPs, live preview shows warped overlay when GCP added or moved
  • Polynomial and Thin Plate Spline transformations
  • Target projections (this feature disabled in OldInsuranceMaps.net; EPSG:3857 is fine for all Sanborns)
  • Reference layers
    • Automatically added "key map" if one has been defined within the atlas
    • Automatically added mosaic of all other georeferenced sheets in the same atlas
    • Snappable parcel boundaries if a parcel layer has been created for the atlas' locale
image

Mosaic creation

  • A "multi-mask" creation interface provides workflow for creating topologically sounds masks across many different layers
  • Each vertex is snappable so adjacent layer masks will always have contiguous boundaries
  • Vertices turn green when they are shared across multiple masks (easy visual inspection to find unsnapped vertices)
  • A dashed red layer extent outline is added to the interface when a user hovers a layer name in the right-hand panel
  • A server-side process can be run by a server admin to combine all masked layers into a single, downloadable geotiff
image

Map content management

  • A database structure that models maps and pages to support the georeferencing workflow
    • Map: a collector-style entry that can have one Document (for a standalone map) or many Documents (like a multi-page atlas)
    • Document: a single scanned image
      • A Document is "prepared" into one or more Regions
    • Region: a defined portion of a Document, or entire boundary this Document was not split during preparation
      • A region can be "skipped" to remove it from the georeferencing workflow, or marked as a non-map
    • Layer: a georeferenced Region
      • All layers are grouped by category into LayerSets
      • Layers can have a mask defined which is an extra geojson polygon used to hide the margins of the page
    • LayerSet: a thematic grouping of layers within a Map, like "main content" (the default), or "key map", or other categories
image

Import, export & web services

  • Server-side direct import of any items from the Library of Congress Sanborn Map collection
  • Server-side import of arbitrary files and non-Sanborn maps (requires local files or links and a CSV "manifest")
  • An inherited Importer class pattern to provide foundation for future custom import pipelines
  • Downloadable Cloud-Optimized GeoTIFF (COG) for any georeferenced layer
  • Downloadable COG for any multi-layer mosaics that have been created (based on "multi-mask")
  • Dynamic geospatial web services available for any layer or mosaic on the website
    • Services are provided by TiTiler and include standard formats like XYZ Tiles, TileJSON, WMS, and more
  • Annotations and AnnotationPages are generated that conform to the IIIF Georeference Extension and are directly viewable in Allmaps.org
image

Map viewer

  • Basic interactive map viewer aggregates all "main content" mosaics for a given locale
  • Opacity sliders allow multiple layers to be compared
  • "stateful" url params track x/y/z position of the map view as well as opacity of all layers
image

What's Changed

New Contributors

Full Changelog: v0.0.0-lahmg...v0.1.0