If you want to replicate the EqualStreetNames project in your city, here is the how-to !
-
Click on the "Use this template" button above ✅
-
Update the Overpass queries : ✅ (Mainz: Q1720, admin level 6)
overpass/relation-full-json
(example for Brussels, Belgium)- ( area["admin_level"=""]["wikidata"=""]; )->.a; + ( area["admin_level"="8"]["wikidata"="Q12994"]; )->.a;
overpass/way-full-json
(example for Brussels, Belgium)- ( area["admin_level"=""]["wikidata"=""]; )->.a; + ( area["admin_level"="8"]["wikidata"="Q12994"]; )->.a;
-
Find the OpenStreetMap relation of your city (example, Brussels, Belgium) ✅ (Mainz: 62630)
-
Update
config.php
configuration file ✅-
REQUIRED: Add relation identifier (example for Brussels, Belgium).
- 'relationId' => 0, + 'relationId' => 54094,
-
Optional: Choose languages in which you want to extract Wiki informations with
languages
(Englishen
by default). -
Optional: You can exclude ways or relations by adding the ways identifier in
exclude.way
and adding the relations identifier inexclude.relation
. -
Optional: You can manually assign a gender to a way or a relation by adding the ways identifier and its gender in
gender.way
and adding the relations identifier and its gender ingender.relation
. You can also usedata.csv
file to assign gender (and details) to a way or relation (see below). -
Optional: You can change the Wikidata instances that will be counted as "a person" with
instances
.
-
-
You can link information to a relation or way using a
data.csv
CSV file (see Brussels, Belgium CSV file) ✅ (gender.csv and other.csv)Structure:
type
: OpenStreetMap object type (relation/way)id
: OpenStreetMap object identifiername
: OpenStreetMap street namegender
: Genderperson
: Name of the persondescription
: Description of the person
-
Update the HTML files (replace
MyCity
by the name of your city in allindex.html
files, add languages, ...). ✅(example for Brussels, Belgium)
- <title>EqualStreetNames.MyCity</title> + <title>EqualStreetNames.Brussels</title> - <div id="loader-title">EqualStreetNames.MyCity</div> + <div id="loader-title">EqualStreetNames.Brussels</div> - <a class="navbar-brand" href="#">EqualStreetNames.MyCity</a> + <a class="navbar-brand" href="#">EqualStreetNames.Brussels</a>
-
Optionally you can change the style using
data-style
attribute, it can be a Mapbox pre-defined style (see API Reference) or your custom style (see Style Specification).- <div id="map"></div>; + <div id="map" data-style="mapbox://styles/mapbox/dark-v10"></div>;
-
Let us know you're ready to add a new city to the project by opening a new issue.
-
You have 2 options:
-
Transfer your repository to the EqualStreetNames organization.
If you choose to do so, you stay of course "owner" of the repository, we'll create a team for you (and anyone you want) that will have admin rights on your repository.
We'll help you maintain and manage your repository.
We'll also setup an automated data update (usually once a week) and automated deployment of the website (if you need it).For the automated deployment, you will need to create a
MAPBOX_TOKEN
in your repository secrets (see Mapbox documentation). -
Keep the ownership of your repository.
We'll just link your repository as sub-module in the
cities
folder.
You'll have to maintain your repository, update the data, and the sub-module yourself.
-
-
Clone the main repository
git clone https://github.com/EqualStreetNames/equalstreetnames.git
-
Copy/Link your repository in the
cities
folder of the main repository (cities/my-country/my-city
). -
Run the data update (in the
process
folder of the main repository)cd process/ composer install composer run update-data -- --city=my-country/my-city
-
Run the website locally (in the root folder of the main repository)
-
Add your city in the
"scripts"
section of thewebsite/package.json
file+ "build:my-country:my-city": "node build.js -c my-country/my-city"
-
Create a Mapbox token
-
Create a file named
.env
in thewebsite
directory of the project -
Add the following line to the
.env
file:MAPBOX_TOKEN=[your Mapbox token]
replacing[your Mapbox token]
with the token you created -
Install JavaScript dependencies and run it (in the
website
folder of the main repository)cd website/ npm install npm run build:my-country:my-city -- --serve
-