Skip to content
mike.jeffe edited this page Dec 23, 2015 · 17 revisions

Background

Hootenanny is an open source conflation tool developed to facilitate automated and semi-automated conflation of critical Foundation GEOINT features in the topographic domain, namely roads (polylines), buildings (polygons), and points-of-interest (POI’s) (points). Conflation occurs at the dataset level, where the user’s workflow determines the best reference dataset and source content, geometry and attributes, to transfer to the output map. Hootenanny internal processing leverages the key value pair structure of OpenStreetMap (OSM) for improved utility and applicability to broader user groups, e.g. normalized attributes can be used to aid in feature matching and OSM’s free tagging system allows the map to include an unlimited number of attributes describing each feature. Hootenanny is developed under the open source General Public License (GPL) and maintained on the National Geospatial-Intelligence Agency’s (NGA) GitHub site.

Hootenanny is built upon the open source Mapbox iD Editor which provides an intuitive and user-friendly conflation experience without the extra overhead of thick desktop GIS clients. This offers several key benefits which include its open license allowing users to easily customize and add functionality, a robust editing capability originally targeted for interactive editing of OSM features, and a web service based architecture for integrating into SOA environments. A REST API is in place to connect the web browser based User Interface (UI) with the core conflation algorithms and database. The translation and conflation operations are also exposed through an Open Geospatial Consortium (OGC) Web Processing Service (WPS) and the resulting vector data is accessible via a Web Feature Service (WFS) for additional open interoperability. The application is primarily supported in either the Chrome or Chromium browser with limited supported in Firefox.

Specifications

Conflation

Hootenanny currently supports the conflation of POIs, Building polygons, Transportation polylines (highways, cart tracks, trails, bridges, and tunnels), and Waterway polylines (hydrologic features such as rivers, streams, drainage, and ditches). When conflating these features, it is important to note that conflation occurs between similar feature types (e.g. POI to POI, Building to Building, Transportation polyline to Transportation polyline, etc.).

Supported Data Formats

Import: Hootenanny can ingest shapefiles, openstreetmap (.osm), ESRI File Geodatabase (.gdb), and geonames.org (.geonames). Additionally, .zip files containing shapefiles and/or .gdb files can be uploaded.

Export: There are currently four options for exporting data from Hootenanny: File Geodatabase (FGDB), Shapefile, OSM and Web Feature Service (WFS). Note that .gdb, Shapefile, and OSM formats are exported as a zip file containing all of the relevant associated files, while WFS is exported as WFS Get Capabilities service URL that can be added into an OGC-enabled third party application

Tag Schemas

Hootenanny leverages the OSM key value pair tag concept and PostgreSQL database structure to support translation between various data schemas. By default, Hootenanny supports automated schema conversion between Topographic Data Store (TDS) v6.1/v4.0, Multi-National Geospatial Co-Production Program (MGCP), Geonames, OSM, as well as user defined "custom" translations where a specific mapping can be defined based on an uploaded dataset using a semi-automated Translation Assistant. More detailed background on the translation capabilities of Hootenanny can be found in Hootenanny User Guide as well as specific examples from the UI in the [Hootenanny User Interface Guide] (https://github.com/ngageoint/hootenanny/releases/download/v0.2.19/Hootenanny.-.User.Interface.Guide.pdf).

Installation

Hootenanny can be installed on both CentOS/RHEL 6.5 and Ubuntu 14.04 operating systems. Background on both installation processes can be found in the Hootenanny Developer Guide for Ubuntu and the [Hootenanny Installation Instruction] (https://github.com/ngageoint/hootenanny/releases/download/v0.2.19/Hootenanny.-.Installation.Instructions.pdf) for CentOS/RHEL installations. For Ubuntu and Windows host environments that support Vagrant, a pre-configured Vagrantfile containing all of the required software dependencies and configuration settings is included to greatly ease the installation process. However it should be noted that the software is not optimized or targeted for desktop usage but is rather a server application that is generally hosted on a scalable server infrastructure that can be accessed from a user's web browser.

Getting Started

Once installed and configured, Hootenanny can be accessed from a browser by opening the application URL. http://localhost:port/hootenanny-id

  • Note that the specific port designation can be configured from either the Vagrantfile (if using Vagrant installation approach) or from the Tomcat/conf/server.xml file.

Hootenanny User Interface Guide

The [Hootenanny User Interface Guide] (https://github.com/ngageoint/hootenanny/releases/download/v0.2.19/Hootenanny.-.User.Interface.Guide.pdf) contains all of the background required to walk through each functional component of the software. Sample datasets can be acquired from the provided URLs in the guide or within the %HOOT_HOME/test-files directory.

Clone this wiki locally