All Projects → OpenMetroMaps → Openmetromaps

OpenMetroMaps / Openmetromaps

Main repository for OpenMetroMaps

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Openmetromaps

Ol Ext
Cool extensions for Openlayers (ol) - animated clusters, CSS popup, Font Awesome symbol renderer, charts for statistical map (pie/bar), layer switcher, wikipedia layer, animations, canvas filters.
Stars: ✭ 706 (+2514.81%)
Mutual labels:  maps
Mapme
The Android maps adapter
Stars: ✭ 844 (+3025.93%)
Mutual labels:  maps
Aseag Python
Das sollte mal zu einer vernünftigen API-Implementation werden, ist derzeit aber einfach nur ein Client
Stars: ✭ 11 (-59.26%)
Mutual labels:  public-transportation
Agentmaps
Make social simulations on interactive maps with Javascript! Agent-based modeling for the web.
Stars: ✭ 822 (+2944.44%)
Mutual labels:  maps
Biolitmap
Code for the paper "BIOLITMAP: a web-based geolocated and temporal visualization of the evolution of bioinformatics publications" in Oxford Bioinformatics.
Stars: ✭ 18 (-33.33%)
Mutual labels:  maps
European Transport Modules
[DISCONTINUED in favour of public-transport-operators] Collection of european transport JavaScript modules.
Stars: ✭ 9 (-66.67%)
Mutual labels:  public-transportation
Leaflet Dvf
Leaflet Data Visualization Framework
Stars: ✭ 678 (+2411.11%)
Mutual labels:  maps
Leaflet
🍃 JavaScript library for mobile-friendly interactive maps
Stars: ✭ 32,591 (+120607.41%)
Mutual labels:  maps
Amcharts4
The most advanced amCharts charting library for JavaScript and TypeScript apps.
Stars: ✭ 907 (+3259.26%)
Mutual labels:  maps
Phpalgorithms
A collection of common algorithms implemented in PHP. The collection is based on "Cracking the Coding Interview" by Gayle Laakmann McDowell
Stars: ✭ 865 (+3103.7%)
Mutual labels:  maps
Sketch Map Generator
Sketch plugin to fill a shape with a map generated from a given location using Google Maps and Mapbox
Stars: ✭ 824 (+2951.85%)
Mutual labels:  maps
Transit
This Python module polls transit agencies for real-time bus arrival predictions.
Stars: ✭ 6 (-77.78%)
Mutual labels:  public-transportation
Cartopy
Cartopy - a cartographic python library with matplotlib support
Stars: ✭ 857 (+3074.07%)
Mutual labels:  maps
Greatmaps
GMap.NET - Great Maps for Windows Forms & Presentation
Stars: ✭ 739 (+2637.04%)
Mutual labels:  maps
Eon
An open-source chart and map framework for realtime data.
Stars: ✭ 875 (+3140.74%)
Mutual labels:  maps
Gmaps
Google maps for Jupyter notebooks
Stars: ✭ 705 (+2511.11%)
Mutual labels:  maps
Html Map Element
Proposed spec for dynamic slippy maps in HTML: https://maps4html.github.io/HTML-Map-Element/spec/
Stars: ✭ 8 (-70.37%)
Mutual labels:  maps
Reactivemaps
A data aware UI components library for building realtime maps
Stars: ✭ 944 (+3396.3%)
Mutual labels:  maps
Bookingapi
A simple API to book tickets for public transport in Switzerland.
Stars: ✭ 15 (-44.44%)
Mutual labels:  public-transportation
Prague Public Transport
Gives you times of the next trams around your location in Prague.
Stars: ✭ 11 (-59.26%)
Mutual labels:  public-transportation

OpenMetroMaps

This is the main repository of the OpenMetroMaps project. Data projects for cities/regions are stored within the OpenMetroMapsData organization to keep the namespaces for data and code projects separated. Also see the list of data projects.

Table of Contents

File Format

A major goal of this project is to develop a file format for storing schematic maps for public transport networks. There's no formal specification of the file format yet and features of the format are still under construction. See an example file or the Berlin testing file to get an idea of how it's going to look. See the specification draft.

Desktop Tools

We're developing a set of desktop tools for working with the map files. Those tools are written in Java and user interfaces are based on Swing with DockingFrames for dockable dialogs.

One core component is the Map Editor that allows you to create new maps based on OpenStreetMap data or from scratch and lets you manipulate existing maps.

If you want to run the editor or start hacking on the desktop tools, please have a look at the relevant README file.

Web Viewer

We're also building a Javascript-based Web Viewer for the file format to allow for easy presentation of results in a browser without the need to install any desktop software. Although it would also be nice to have a native Javascript implementation of a web viewer, we're eager to maximize code reuse and try to use the main Java source via transpilation to Javascript. In order to do that we experimented with both GWT and JSweet based approaches. Currently the GWT solution looks more promising and is close-to-usable. Have a look at https://demo.openmetromaps.org/ to see it in action. The JSweet solution doesn't work quite yet, but the technology certainly has potential.

Data Sources

We currently support data imports from the following sources:

Both types of import can be done using the Command Line Interface. See the commands osm-import for importing OSM data and gtfs-import for importing GTFS data.

OpenStreetMap

  • If you're not familiar with the OpenStreetMap project, start by browsing through the pages listed on the Use OpenStreetMap page on the OSM Wiki.
  • See the Downloading data page on the OSM Wiki on how to obtain suitable OSM data.
  • Probably you want to use smaller extracts such as those available from Geofabrik downloads instead of downloading the whole planet as a file. Using the Overpass API is also a good way for obtaining relevant data sets.

GTFS

Other Sources

The file format is text-based and pretty simple, so you can create a data file with a normal text editor. When you want to use existing data, you can write an import algorithm of your own.

Wikidata also stores information about stations, lines and the like.

Station Data

In addition to the main map file format, we're also working on an additional file format and corresponding tools to collect data about stations and their tracks. In particular, files in this format store locations of things on a station's track as a relative position on the train (front to back / tail). This information can be used to compute efficient micro-routing within line networks, i.e. optimize on which car to board a train to reach something most quickly on the destination station such as a specific exit or a stairway to your connecting train. See an example file or the Berlin testing file to get an idea of how this file works. Also see the specification draft and a longer discussion on the requirements of that format.

Research

We're also gathering material about transit maps in general on the Research page.

Other Ideas

  • It would be nice to be able to create morphing animations from two views of the same network. Inspired by this article about a number of posts on reddit (Berlin). Done via the maps-morpher module and the CLI's map-morpher task.
  • Build something like this interactive route planner using the Javascript viewer component.
  • Integrate the Android component into Transportr.
  • Implement different optimization algorithms to transform geographic maps into schematic maps automatically. Some hints on how to get started with that are already available. Also, there is an implementation available which could possibly be built upon (although the license changed from MIT to GPL, which makes it impossible to integrate easily). We collect a list of papers about possible algorithms.

Nick-name map for Berlin

Possible resources:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].