Code Monkey home page Code Monkey logo

gophermaps-data's Introduction

This repository is for the map data and walking instructions for the gophermaps project.

Mapping

A critical part of our backend is a neo4j graph database representing the layout of the buildings and the tunnels & skyways connecting them. In order to generate this database, we first have to map out these tunnels and skyways. We'll be using JOSM to do this.

Getting Started

  1. Clone the repository. It contains the data we'll be editing and a reference image for the gopher way from PTS

  2. Install JOSM

  3. Launch JOSM. You'll see this screen:

image
  1. Click the blue folder icon and open the map.osm file from the repository
image
  1. When the data loads, you'll see something like this- some nodes and lines on a black background:
image Needless to say, there isn't much to go off of right now for mapping out the Gopher Way. We'll be adding an Image Layer to use as a reference. In order to do that, though, we'll need to install the PicLayer Extension.
  1. Open the JOSM Settings panel. On macOS, you open it like you do for any other app-
image
  1. Click the blue puzzle-piece icon to view the plugin settings
image
  1. Search for the PicLayer extension and check the box to download it
image
  1. Click "OK" to close the preferences panel

  2. Now that we have PicLayer installed, you'll see the "New picture layer from file..." option in the Imagery menu

image
  1. Select the pts-gw-map.png image file. It should automatically load the corresponding calibration file to align the image layer with the map data.

You're now ready to begin mapping. The plugin woill remain installed, but you may need to reload the image layer from the Imagery menu the next time you run JOSM

Editing the Map data

Tip

If you're finding it difficult to see the map data with the image layer behind it, you can adjust its opacity by clicking button with the icon of an eye with a gradient underneath it in the layers panel on the top-right of the screen. image

The core components of the OSM data is nodes and "ways". Nodes are the little squares you see on the map, and ways are the lines connecting. Both nodes and ways can be given tags, as shown by the contents of the "tags/memberships" panel when they're selected.

These tags play a vital role in making this project "work", so it is crucial that we all follow the same standards for tagging. Before I go over the style guide, however, I'll show you how to create nodes and ways.

Creating Nodes and Ways

Note

For this section, I'll have the opacity of the image layer reduced so that the map data can be more easily discerned

First, make sure that the map data layer is selected. You'll know it's selected if there's a green check mark next to the map.osm layer in the Layers panel.

ezgif-4-d667257780

Your mode/tool selection can be found on the left edge of the window. Tooltips are available if you hover your mouse, and the functionality is rather self-explanatory

image

For now, select the "Draw Nodes" tool.

ezgif-6-323dafa56b

  • Clicking on the map when in this mode will create a node, and clicking again will create another node and automatically connect them with a way
  • If you just want to create a single node, hitting the Escape key will finish the operation

We want a node on each of the "dots" on the reference image, and for the ways to match the lines on the image. For the tunnels that aren't straight lines, simply use multiple nodes. Alternatively, you can draw a straight line from the start to the end, switch to the move/select mode, and click the + in the middle of the line to bisect it with a new node, and move it into place.

When you're done working, save the map.osm file and commit your changes to the git repository. JOSM will ask you if you want to upload the changes. DO NOT DO SO.

ezgif-6-e78f4d904e

Mapping Standards

  • Every Gopher Way entrance in each building (the white circles on the PTS map) should have a node
  • Each entrance node should be connected to each entrance node in the same building. This is how we will index and provide instructions on moving within buildings to the different tunnels The following image shows what a mapped building should look like:
image

Tagging Standards

OSM tags are stored as key:value pairs. They are case-sensitive.

Building Entrance Nodes should have the following tags:

  • "building" with the name of the building as the value
  • "floor" with the floor number the tunnel entrance is on. Alphabetic floors "e.g. G, B, SB" should be capitalized

Ways connecting Building Entrance Nodes in the same building should have the following tags:

  • "type" with the value "inter-building"

Ways connecting different buildings should have the following tags:

  • "type" with the value "tunnel" or "skyway" depending on the type of the connection

Instruction-writing

TBD.

gophermaps-data's People

Contributors

ryan-roche avatar kristinejoseph avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.