GithubHelp home page GithubHelp logo

danysan1 / osm-wikidata-map-framework Goto Github PK

View Code? Open in Web Editor NEW
9.0 1.0 0.0 10.35 MB

Merge data from OpenStreetMap and Wikidata to map information about entities and points of interest (mirror of https://gitlab.com/openetymologymap/osm-wikidata-map-framework )

Home Page: https://wiki.openstreetmap.org/wiki/OSM-Wikidata_Map_Framework

License: GNU General Public License v3.0

Shell 0.12% Dockerfile 0.45% Python 13.10% PLpgSQL 0.55% PHP 8.59% Batchfile 0.07% TypeScript 75.34% CSS 1.49% JavaScript 0.29%
apache-airflow openstreetmap osm postgis python sparql typescript wikidata linked-data linked-open-data

osm-wikidata-map-framework's Introduction

OSM-Wikidata Map Framework

Framework for creating interactive maps that combine and display details about entities associated with geographic features from OpenStreetMap and Wikidata. The types of geographic features and related entities to show are choosen by editing a configuration file and automatically handled by the framework.

Available data source patterns

Data source pattern Image
OpenStreetMap elements linked to related entities through *:wikidata keys (for example name:etymology:wikidata). Can be configured with osm_wikidata_keys (JSON array of OSM keys to use). OpenStreetMap name:etymology:wikidata pattern
Wikidata entities with the property P625 ("coordinate location") and specific properties linking to related entities. Can be configured with osm_wikidata_properties (JSON array of Wikidata property P-IDs to use). Wikidata direct relation image
OpenStreetMap wikidata=* tag combined with Wikidata direct properties. Can be configured with osm_wikidata_properties (JSON array of Wikidata property P-IDs to use). OpenStreetMap wikidata pattern
Wikidata entities with the property P625 referenced by a related entity through reverse properties (for example P119 ("place of burial")). Can be configured with wikidata_indirect_property (Wikidata property P-ID to use). Wikidata reverse relation image
OpenStreetMap wikidata tag combined with Wikidata reverse properties. Can be configured with wikidata_indirect_property (Wikidata property P-ID to use). OpenStreetMap wikidata pattern
Wikidata property P625 used as qualifier for reverse properties. Can be configured with wikidata_indirect_property (Wikidata property P-ID to use) and wikidata_image_property (Wikidata property P-ID to use to get an image of the map feature). Wikidata qualifier relation image
Case insensitive search of names used by multiple roads far from each other which have exactly and only the same etymology (obtained from the sources above) and propagation of that etymology to all elements with the same name. Can be enabled/disabled with propagate_data. Feature meant specifically for Open Etymology Map. Propagation image

For more details see CONTRIBUTING.md.

How to use this framework to create a map

The most basic deployment can be launched by using Docker and executing these shell commands:

  1. Create the .env configuration file from the template (.env.example)
    curl -o .env https://gitlab.com/openetymologymap/osm-wikidata-map-framework/-/raw/main/.env.example
  2. Edit the file .env to configure your map
    • set the OSM keys and Wikidata properties you want to use (as documented above) in the "Data source" section
    • other configuration keys should be fine but can be edited to customize the web application. If you expose your app on a domain/address different than localhost or 127.0.0.1 you will also need to specify a token/key for the background map (either mapbox_token, maptiler_key, enable_stadia_maps or jawg_token)
    • take inspiration from configurations of other projects like Open Etymology Map, Open Burial Map, Open Artist Map, Open Architect Map, ...
  3. Launch the docker image of the framework
    docker run --rm --env-file ".env" -p "80:80/tcp" "registry.gitlab.com/openetymologymap/osm-wikidata-map-framework:latest"
    The web application will be accessible at http://localhost

If this process fails for you or you encounter any bug during the process we want to hear from you: please report it on GitLab or GitHub.

For more advanced deployment configurations check CONTRIBUTING.md.

The framework is fully internationalized. By default the browser language is used. You can force another language by passing the ISO 639-1 language code to the lang parameter. For example https://etymology.dsantini.it/?lang=es passes es to require data in spanish. Translations for the labels specific to the framework are taken from the files in public/locales/ (help with new translations is welcome!). The translated text in the details panel for the map feature selected by the user are taken from from OSM name:*=* and Wikidata labels. Translations for the map labels are handled by the map provider (and are typically derived from OSM and/or Wikidata).

Technologies used for data elaboration and display

Screenshots

Detail view: Detail view

Color grouping by gender: Color grouping by gender

Color grouping by type: Color grouping by type

Cluster view: Cluster view

osm-wikidata-map-framework's People

Contributors

danysan1 avatar floedelmann avatar whatismoss avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.