Wykres commitów

1204 Commity (1c1231e4309653979ac6d2fa86dd3ef15c531127)

Autor SHA1 Wiadomość Data
zstadler 1c1231e430
Update UPDATE.md including Makefile improvements (#1408)
- Add `make import-diff` and `make generate-changed-tiles`
- Update `UPDATE.md` accordingly
- Other updates and clarifications in `UPDATE.md`
2022-07-26 18:59:34 +02:00
Clay Smalley 337f81284d
Add highway=bus_guideway (#1407)
Guided busways (or bus guideways in OSM terminology) are special roadways along which bus operators can travel smoothly at high speeds without steering. These are tagged highway=bus_guideway on OpenStreetMap.

Currently, highway=busway is surfaced in OpenMapTiles as the busway class in the transportation layer, but highway=bus_guideway is not present. These two types of roadways serve generally similar purposes, so it would make sense to have guided busways at the same zoom levels.
2022-07-26 15:26:57 +02:00
Brian Sperlongano 5e51627895
Remove support for waterway=riverbank (#1405)
This PR removes support for `waterway=riverbank`.  Usage of waterway=riverbank has [declined to globally insignificant levels](https://taginfo.openstreetmap.org/tags/waterway=riverbank).

In other projects:
* Support for `waterway=riverbank` was removed from the iD editor in openstreetmap/iD#5591
* Removal of `waterway=riverbank` was tracked for JOSM in [JOSM ticket 21630](https://josm.openstreetmap.de/ticket/21630) and was completed in revision [18519](https://josm.openstreetmap.de/changeset/18519/josm)
* Removal of `waterway=riverbank` from openltmap (Lithuania vector map) occurred in [[1]](507f095b35)
2022-07-26 14:34:02 +02:00
Brian Sperlongano 9c78c15943
Add support for county seats (capital=6) (#1401)
This PR adds support for `capital=6` in the place layer, which is used for tagging county seats in the US.  A county seat is the capital of a county.  In addition, I reorganized the code a bit to be simpler.

As noted in ZeLonewolf/openstreetmap-americana#384, we would like to render county seats along with state and national capitals, as this is typical styling on American-style maps.

Update with also with `capital=3` and `capital=5`
2022-07-26 13:19:16 +02:00
SahAssar dc1e21fccc
Change typecheck to perform within the current namespace/schema (#1389)
This PR fixes #1388 by doing a test cast for the type and if it fails adding the type.
2022-07-26 12:26:46 +02:00
Jeroen Hoek da7b1b1645
Add natural=shrubbery to landcover (#1397)
This adds `natural=shrubbery` to landcover (next to the similar `natural=scrub`).

Fixes #1396
2022-06-01 18:20:35 +02:00
Ryan Russell b3af3d47d6
docs - fix functions (#1395)
fix typo
2022-06-01 10:01:44 +02:00
ttomasz 82b00c1389
Add POI parcel locker (#1390)
closes #1370 

This PR adds a parcel locker to post class.

Similarly to ATMs from PR #1375 if a name is not present we try to use `brand` or `operator`. Here we also try to add `ref` to the brand or operator since it can disambiguate parcel lockers that are next to each other (which happens).
2022-06-01 09:32:10 +02:00
Tomas Pohanka 7d52c9a9e5
Update before minor release (#1386) 2022-05-06 07:49:57 +02:00
Tomas Pohanka 5820534153
Add swimming pool to class attribute. (#1385)
This PR adds swimming pools as a class in the water layer. Until now all swimming pools were classified as `lake`.
2022-05-05 20:57:51 +02:00
Tomas Pohanka 51751b5b78
Add OSM ID to the lakes (#1383)
This PR adding OSM ID to the lakes

OSM lakes are used from zoom 6
From zoom 0 to zoom 5 are used Natural Earth lakes. 
  - There is a new joining mat. view (`match_osm_ne_id`) contains which Natural Earth ID should convert to OSM ID. This logic is used to keep a consistent ID between switching between NE (zooms 0 - 5) and OSM (zooms 6 - 12). For smaller areas (not the whole planet), where are not available OSM lakes, the NE lakes keep their NE ID.
  - There are also switch the final views to the mat. views - this should slightly increase performance (get rid of multipolygons).
  - FIX typo for zooms 0 - 3 (`lakes` instead of `lake`).
2022-05-05 14:26:57 +02:00
Adam Laža ef9a68b19a
GE-871 upsert network_type column in update_osm_route_member (#1384)
Fixes #1374 

This PR fixes `update_osm_route_member()` function. Before this the column `network_type` became empty after daily-update.
This PR adds `network_type` into upsert together with `rank` and `concurrency_index` columns.
This bug had occurred once already and had been fixed in https://github.com/openmaptiles/openmaptiles/pull/1239 but then some columns were added and these new columns were not added into the upsert.
2022-05-05 13:14:35 +02:00
Frédéric Rodrigo b8e87fbf07
Use diff generalization on osm_important_waterway_linestring_gen_z* (#1359)
Replace the `REFRESH MATERIALIZED` on `osm_important_waterway_linestring*` by differential update.

The way of doing this is the same as other differential updates.
2022-05-04 15:43:25 +02:00
Frédéric Rodrigo bff74511b6
Use diff update on osm_transportation_merge_linestring (#1357)
Replace the `REFRESH MATERIALIZED` on `osm_transportation_merge_linestring_gen_z*` by differential update.

The way of doing this is the same as other differential updates. But in this case there two `GROUP BY` level. So all the the process have to be done twice.
2022-05-04 14:22:15 +02:00
zstadler 5add9a5cef
Restore controlability with environment variables (#1364)
Since PR #922 the contents of `.env` are included in `Makefile` in order for `make` to by aligned with the `docker-compose` settings.

```
# Make all .env variables available for make targets
include .env
```

The down-side of employing the `include` mechanism is that the settings  in `.env` now take higher precedence than the shell environment variables. As a result, controlling the OpenMapTiles flow because more difficult. For example, tests for `DIFF_MODE=true` had to modify the contents of `.env` in order to work:
b0e7f7884c/.github/workflows/integrity.yml (L45-L47) and
b0e7f7884c/Makefile (L629-L630)

Users were also faced with similar difficulties.

This PR restores the ability to control `make` and `quickstart.sh` using environment variable while keeping the use of the `.env` at a lower priority.

The result is restoring the ability to easily adjust the OpenMapTiles flow using environment variables, such as:
```
PGPORT=54321 DIFF_MODE=true ./quickstart.sh monaco
```

#### Notes: 
1. This PR depends on #1363
2. This PR includes some clean-up of `Makefile`
2022-04-28 09:30:15 +02:00
Brian Sperlongano df6906b7b5
Remove unneeded waterway='' check (#1377)
This PR removes an unnecessary check in water.yml.

generated SQL before:
```
SELECT CASE
           WHEN waterway='riverbank' THEN 'river'
           WHEN "waterway" = 'dock' THEN 'dock'
           WHEN "water" = 'river'
               OR "waterway" = 'riverbank'
               THEN 'river'
           WHEN "waterway" = '' THEN 'lake'
           ELSE 'lake'
           END;
```

generated SQL after:
```
SELECT CASE
           WHEN waterway='riverbank' THEN 'river'
           WHEN "waterway" = 'dock' THEN 'dock'
           WHEN "water" = 'river'
               OR "waterway" = 'riverbank'
               THEN 'river'
           ELSE 'lake'
           END;
```

The `waterway=''` test is purely redundant because it returns the same value as the fall-through ELSE case: `lake`.
2022-04-25 13:42:01 +02:00
ttomasz ca9e8f4e52
adds ATM to POI layer (#1375)
This PR adds ATM to POI layer.
If ATM isn't provided with a name tag we'll try to use operator or network instead.
2022-04-25 10:29:08 +02:00
zstadler 2d0b7159d0
Update aerodrome_label class in DIFF_MODE=true (#1371)
The class field was not updated if needed during the import of changes in DIFF_MODE=true.
2022-04-20 05:50:37 +02:00
zstadler 22915df783
Allow non-default `PGPORT` (#1363)
- Allow use of environment variables in addition to .env
- Remove .env-postgres and the need to synchronize it with .env

Resolves #1354
Related to https://github.com/openmaptiles/openmaptiles-tools/pull/403
2022-04-19 21:33:03 +02:00
Matt Riggott 8693822d50
Add documentation on islands in place layer (#1362)
Islands have been part of the OpenMapTiles schema for more than five years (see commits d664a2fe and 01db9a4e and issue #68), but they're not documented in [the layer definition](https://github.com/openmaptiles/openmaptiles/blob/master/layers/place/place.yaml) or [on openmaptiles.org](https://openmaptiles.org/schema/#place). This PR fixes that by updating `layers/place/place.yaml`.
2022-03-14 08:29:47 +01:00
zstadler b0e7f7884c
Use `docker-compose up -d` for on-going processes (#1353)
Make targets `start-tileserver`, `start-maputnik`, and `update-osm` initialize on-going processes rather than perform a one-time task. It is more appropriate to execute them using `docker-compose up -d`. With the current `docker-compose run` execution, the user needs to run `make` as a background process. This PR also allows the use of `docker-compose logs` rather than the need to handle `stdout` and `stderr` redirection and avoids the dependency of `stdin` handling for `docker-compose run`

Using `docker-compose` rather than `docker`
Use appropriate` start-*` and `stop-*` make target names

Resolves #1352
2022-02-22 12:43:59 +01:00
Matt Riggott b13ab9491f
Add more aerialway tags to transportation layer (#1343)
Before this, only `aerialway=cable_car` and `aerialway=gondola` were included in the tiles. That misses some widely-used tags, notably `aerialway=chair_lift`, `aerialway=drag_lift`, and `aerialway=platter`. The usage of all the tags added in this commit, by fraction of all aerialway way keys (according to TagInfo), is:

| Tag                    | Usage  |
|------------------------|-------:|
| `aerialway=chair_lift` | 25.51% |
| `aerialway=drag_lift`  | 12.93% |
| `aerialway=platter`    | 11.35% |
| `aerialway=t-bar`      |  7.93% |
| `aerialway=j-bar`      |  0.63% |
| `aerialway=mixed_lift` |  0.24% |

Some of these tags were also added in PR #620 back in May 2019, but were removed again before it was merged.

Fixes #1342.
2022-02-17 13:08:39 +01:00
Tomas Pohanka 81ddab9f9a
Updates documentation for 3.13 (#1350)
Adding missing information in `layers.yaml` files for 3.13
2022-02-09 12:38:47 +01:00
Adam Laža 7f08414f20
Use equal operator in combination with coalesce() function instead of IS NOT DISTINCT FROM operator. (#1344)
Updates on `transporation_name` layer take much more time than before.

In 3.13 there had been introduced highway concurrency into `transportation` and `transportation_name` so I expected the update process will take more time but not that much. Because of this it's impossible to use updates on larger areas because the process takes too long.

The issue is caused by `IS NOT DISTINCT FROM` operator over `tags` (hstore) columns. I replaced it with `=` operator in combination with `coalesce()` function which returns the same results but in shorter time.
2022-02-04 15:25:47 +01:00
Alexander Menk ff8cecf8ab
Doc: Updating tiles (#1340)
This tried to improve the documentation on Updates
2022-02-04 14:19:33 +01:00
ePirat a236bbec5c
Fix version check in quickstart.sh (#1333)
When docker compose returns a version with v prefix,
the version check would incorrectly treat it as version component
of 000, leading to always failing the docker-compose version check
even if the version is recent enough.

This happens at least with docker-compose 2.2.1 where
  docker-compose version --short
returns v2.2.1 with the leading v.
2022-02-04 13:50:47 +01:00
Adam Laža 2e04f83166
Fix paths and tracks in transportation layer z12 and z13 (#1334)
This PR fixes a bug that causes that `track` lines disappear at z13. This bug was introduced in https://github.com/openmaptiles/openmaptiles/pull/1190, which adds rendering of paths and tracks at z12 and z13.

Before this PR:
z12: lines with `route_rank = 1` are added (no matter what `highway`).
z13: lines with `route_rank BETWEEN 1 AND 2` and `highway = 'path'` are added.
-> tracks with `route_rank=1` are added at z12 but not at z13.

After this PR
z12: lines with `route_rank = 1` and `highway IN ('path', 'track')` are added.
z13: lines with `route_rank BETWEEN 1 AND 2` and `highway IN ('path', 'track')` are added .
-> only tracks and paths are added at z12 and z13 (which was IMHO the goal of https://github.com/openmaptiles/openmaptiles/pull/1190)

* Add only the most important paths and tracks (route_rank=1) to z12 and more important ones (route_rank between 1-2 or sac_scale or has name) to z13.
2022-01-05 07:28:34 +01:00
Tomas Pohanka 7d08e5b97e
Remove FILTER_MAPNIK_OUTPUT (#1327)
Remove `FILTER_MAPNIK_OUTPUT` variables from docker-compose which stop raising warnings during start-up dockers.

This functionality was removed in https://github.com/openmaptiles/openmaptiles-tools/pull/349.

The current version of the mapnik does not need `FILTER_MAPNIK_OUTPUT`.
2021-12-08 13:40:48 +01:00
Tomas Pohanka 73dcd23497
Run get_basic_name after osml10n_street_abbrev_* (#1326)
PR move `get_basic_names(tags, geometry)` function from `transportation_name_tags` function and adding it after `transportation_name_tags` resolve street abbrevation.

PR runs through `test-sql` test without error. Adding to `osm_transportation_name_network` (table and for update) was done in consequence of `test-sql` errors ([update test 500](a747d98550/tests/test-post-update.sql (L53))). Originally `get_basic_names` was just in `osm_transportation_name_linestring` table.

FIX #1324

![seattle_fix](https://user-images.githubusercontent.com/5182210/145085141-7857e97e-9b83-4467-bb98-84cc4a2e0623.png)
2021-12-08 08:20:15 +01:00
Tomas Pohanka a747d98550
Update TESTING.md (#1325)
Fix typo
2021-12-07 19:13:17 +01:00
Tomas Pohanka 44ae83718c
Remove `STRICT` statement (#1320)
Remove `STRICT` statement from `transportation_name_tags` function.

Concurrently with remove `STRICT` from `get_basic_names` and `get_latin_name` in OMT-T

FIX #1319
2021-12-07 17:59:04 +01:00
Cody B. Daig 7838221b16
Update Quickstart.md with proper make list commands (#1316)
`make list` insn't a valid command. This updates the documentation with the proper commands.
2021-11-27 03:50:40 -05:00
Tomas Pohanka edaf9179b0
Update openmaptiles.yaml (#1315)
Preparation for release 3.13
2021-11-26 12:19:48 +01:00
Yuri Astrakhan 4eb8feb0ad
Use tools v6.1, improve .env docs (#1281)
* Add info about using MID_ZOOM to optimize tile generation
* Remove params for generation that are now automatically detected


Co-authored-by: Tomas Pohanka <TomPohys@gmail.com>
2021-11-26 11:31:01 +01:00
Nicholas Skehin 207396269e
Implement aerialway labels (#1309)
This PR adds labels to `aerialway` linestrings after zoom level 12. I roughly followed PR https://github.com/openmaptiles/openmaptiles/pull/1179

These are useful in ski resorts and should not inflate the size of the tiles by much as aerialways are rare:
![Screenshot from 2021-11-18 12-18-58](https://user-images.githubusercontent.com/632493/142680225-1875904b-d146-4932-8a22-8c36919b875d.png)


Co-authored-by: Tomas Pohanka <TomPohys@gmail.com>
2021-11-26 10:16:41 +01:00
Brian Sperlongano 7f23feab88
Add expressway tagging to the transportation layer (#1313)
Fixes #1148 

This PR adds expressway tagging to the `transportation` layer, by setting `expressway=1` for non-motorway roads tagged `expressway=yes`, and omitting the tag otherwise.  Additionally, I've added a few unit tests to verify that the expressway tagging is being imported and updated into the intermediate tables.

Here is an example of expressway tagging on US-1 in Rhode Island, USA:

![image](https://user-images.githubusercontent.com/3254090/143501278-db3671b2-2efa-4998-bffd-9ddfec63579b.png)
2021-11-26 07:55:20 +01:00
Brian Sperlongano ec74480414
BUGFIX: Fix name-based way fragmentation in transportation_name (#1295)
I discovered this bug while investigating issues with the updates process related to #1190 #1292, and #814.

The `transportation_name` layer produces slightly different `tags` hstore values in the `osm_transportation_name_linestring` table during the initial import versus when running an update.  As currently written, the import code produces null-value keys in the `tags` column, while the update code suppresses them.  This PR removes that difference and makes the import code use same method that is currently used in the update code.

With a test case I've written, the import code produces a tags hstore that looks like this:
`"name"=>"OpenMapTiles Secondary 2", "name:de"=>NULL, "name:en"=>NULL, "name_int"=>"OpenMapTiles Secondary 2", "name:latin"=>"OpenMapTiles Secondary 2"`

...while the update code produces a tags hstore that looks like this:

`"name"=>"OpenMapTiles Secondary 2", "name_int"=>"OpenMapTiles Secondary 2", "name:latin"=>"OpenMapTiles Secondary 2"`

Note the missing NULL values.

This bug causes a small amount of space wastage after an update is run, because the update matching code detects the `tags` value as different, resulting in a duplicate copy of the tags value if that row is updated.  This causes duplicate objects and breaks GROUP BY clauses that expect to group same-tagged features together.  I've tested this by inspection of a generated mbtiles, database spot checks, and the unit test code included in this PR.
2021-11-25 10:45:11 +01:00
Brian Sperlongano 0cff3449b5
Implement non-blocking refresh (#1308)
This PR implements non-blocking updates in the park layer.

The approach was to use the `REFRESH MATERIALIZED VIEW CONCURRENTLY` feature in postgres.  In order to achieve this, a unique index was added on the z4 dissolved park area table.  The `ST_Union` / `ST_Dump` sequence was changed to an explicit cluster DB scan (an equivalent operation) so that a unique osm ID could be generated from each dissolved polygon.

Below is a screen shot from Idaho, USA showing that the dissolved z4 still works as expected.

![image](https://user-images.githubusercontent.com/3254090/142341513-588045f0-7757-4acd-99e5-a50bbe6b0682.png)
2021-11-24 11:17:29 +01:00
Brian Sperlongano cdff735be1
Remove blank name tags (#1307)
This PR performs the same fix on the park layer that #1268 applied to the waterway layer.  It removes blank name, name_en, and name_de from the tiles.
2021-11-18 18:27:19 +01:00
Eva Jelinkova 054d3a7e4d
add province, increase scalerank + labelrank (#1306)
Add `province` (next to `state`) tag into `osm_state_point`
2021-11-18 18:05:02 +01:00
Brian Sperlongano 75d8c80228
Selective rendering of tracks and paths at z12-13 (#1190)
Closes #271

This PR adds track and path rendering at lower zooms than currently provided, and also achieves near-parity with openstreetmap-carto on track and path rendering. A previously-abandoned attempt, with significant discussion, was #1169.
2021-11-18 17:35:34 +01:00
zstadler 7f531c1dbb
Update "Verifying that updates still work" (#1290)
Convert the instructions into a single script that anyone can copy-paste to a terminal.
Add `make destroy-db` to the initialization part.
2021-11-16 07:58:16 +01:00
Eva Jelinkova 93d57a8d03
adding customary_ft for peaks in US (#1298)
Add tagging that will mark unit that is customary in the country. US peaks will include the tag `customary_ft=1`.
2021-11-15 16:55:35 +01:00
Brian Sperlongano d7ea45349e
Add highway tests (#1294)
This PR adds unit tests for the transportation layer, and fixes several bugs in the unit testing code.  It verifies the correct zoom association to the various highway classes, and verifies that updates to highway attributes are populated.

Additionally, the documentation for unit tests in the CONTRIB guide is updated to note the specific make commands for developers to run.
2021-11-11 08:27:01 +01:00
Eva Jelinkova 26cfe69a9c
Waterway zoomlevel 6 - 8 corresponding with water (#1291)
This PR is solving https://github.com/openmaptiles/openmaptiles/issues/406, partially also https://github.com/openmaptiles/openmaptiles/issues/320.
It is changing source of data for zoomlevel 6 - 8 in `waterway` layer to OSM (relation `waterway = river`), this way it corresponds with `water` layer.
Testing on Europe, z0 - z9 tiles increase size from 20.7 MB to 21.4 MB. We can discuss the level of generalization, but I think this size change is not critical.
2021-11-10 20:26:14 +01:00
zstadler 1be440404b
Update etl diagram for poi layer (#1297)
Add the missing `osm_poi_stop_centroid` and `osm_poi_stop_rank` materialized views.
2021-11-10 19:49:18 +01:00
Falke Design ebeafc65fa
Add requires.tables to <layer>.yaml (#1236)
**NOTE** this can only be merged after the next tools version is released.

Added required Postgres tables to the `<layer>.yaml` definition.
Close: #1220

PR of tools: https://github.com/openmaptiles/openmaptiles-tools/pull/370
2021-11-05 10:04:54 +01:00
zstadler 5b2e43497e
`transportation_name` update to consider `tags` (#1289)
Following 8bb77b67a1 (r59190611)
2021-11-04 13:51:28 +01:00
Brian Sperlongano dffb9c66d6
Document updates testing process (#1284)
This PR adds documentation for how to test the updates process.  The procedure is largely copied from @zstadler's work on #1230.
2021-11-01 10:43:37 +01:00
Brian Sperlongano 79f8db03f9
Fix blank names (#1268)
This PR fixes a bug in the `waterway` layer in which empty `name_en` and `name_de` tags were being added to the tiles.

`name_en` and `name_de` are legacy tags, intended to be removed in v4.0.  Thus, any legacy consumers that have not yet transitioned to `name:en` and `name:de` etc are currently NOT rendering labels for these features when `name:en` and `name:de` are not tagged on the feature.  Therefore there are two possible approaches:

1.  Remove these tags which are not rendering anyways from the tile, which keeps the bug in place, but shouldn't matter because no data consumer has taken notice of the issue (it would probably be easier to migrate to the new tag than to post a bug report!), _and they're going to be removed eventually anyways_.  That's the approach in this PR.
2021-11-01 09:05:01 +01:00