1362 Commits

Author SHA1 Message Date
592e7f3c39 Merge remote-tracking branch 'github/master' into merge-gh-2025
# Conflicts:
#	layers/boundary/mapping.yaml
#	layers/mountain_peak/style.json
#	layers/place/style.json
#	layers/poi/poi.yaml
2025-06-10 21:05:25 +02:00
c38c7af17d feat: pre-2025 state 2025-06-10 20:34:00 +02:00
Patrik Sylve
f70ae783b2
Set columns to null instead of dropping to avoid pg_deadlock during updates (#1710)
This PR addresses a pg_deadlock error that would cause an update to fail if a `select getmvt` was queried during update. The deadlock occurred due to an ALTER TABLE DROP COLUMN operation on temporary columns  ( `new_source_ids` and `old_source_ids`) in some linestring tables.

**Changes:**
*  instead of adding/dropping the columns during update, they are now updated and set to NULL. 
* Added new indexes on the source_ids columns  to speed up the UPDATE. 
* Will refresh `osm_park_polygon_dissolve_z4` concurrently in `park_polygon.refresh()` to avoid blocking. 

Co-authored-by: Patrik Sylve <patrik.sylve@t-kartor.com>
2025-02-28 13:27:52 +01:00
Patrik Sylve
e6a1000155
Use pg_trigger_depth to avoid re-trigger in update (#1708)
Some of the `update_osm_${LAYER}`-functions, which are executed by triggers on updates, execute an UPDATE statement on the same tables that have these triggers. This causes the trigger functions `flag` and `store` to run multiple times for one record. 

For instance, if I add log in the trigger functions and run an INSERT on `osm_housenumber_point`, this output is generated:  

```
NOTICE:  Store
NOTICE:  Flag
NOTICE:  Refresh housenumber
NOTICE:  Flag
NOTICE:  Store
NOTICE:  Flag
INSERT 0 1
```

If we limit the triggers from executing if they are called from another trigger using `pg_trigger_depth() < 1`, the triggers will only be triggered once per record:

```
NOTICE:  Store
NOTICE:  Flag
NOTICE:  Refresh housenumber
INSERT 0 1
```

This will prevent redunant executions and might improve update performance.  

Co-authored-by: Patrik Sylve <patrik.sylve@t-kartor.com>
2025-02-18 11:18:04 +01:00
Patrik Sylve
d32d74aaac
Improve getmvt performance on lower zooms (#1704)
I noticed slow performance in `getmvt` when generating tiles at zoom levels ~ 0-8.

The issue was due to CASE blocks in the `transportation` and `poi` layers, which were processing unneccessary rows at lower zoom levels. To optimize this I added a pre-filter on `zoom_level` to reduce the workload. 

In my tests, I timed the query `select getmvt(0,0,0);`. 

`area=europe/united-kingdom`: 

* Before: ~17 seconds
* With this fix:  ~80 ms

 `area=planet`:
 * Before: have not yet timed it, but i believe it was around 15min if i remember correctly
 * With this fix: ~10 seconds

Co-authored-by: Patrik Sylve <patrik.sylve@t-kartor.com>
2025-02-17 07:55:21 +01:00
Michał Gwóźdź
22cd373f66
Include mountain peaks without elevation, but with name tag (#1682)
Fixes #761, Fixes #1328

According to the https://github.com/openmaptiles/openmaptiles/issues/1328#issuecomment-1463800079 I included peaks without elevation, but with a name.

---------

Co-authored-by: Tomas Pohanka <TomPohys@gmail.com>
2024-12-18 16:53:00 +01:00
tbodt
7cf98a6293
Add Toki Pona to languages (#1689)
Add Toki Pona to languages.
2024-12-17 11:04:40 +01:00
PatrikSylve
4ed70ba4af
Removed update trigger on osm_boundary_polygon (#1697)
Removed update trigger on osm_boundary_polygon, which attempted to run `REFRESH MATERIALIZED VIEW` on the table `osm_boundary_polygon_gen_z5`, resulting in the error: "osm_boundary_polygon_gen_z5" is not a materialized view
2024-12-17 07:44:50 +01:00
PatrikSylve
e6a6fb9453
vacuum-db: use parenthesis for vacuum options (#1698)
Updated `vacuum-db` target to have the vacuum options within parenthesis to avoid syntax error.
2024-12-16 13:02:52 +01:00
Matt Hernandez
1e2c0ea976
Undo inverted brunnel filter for minor roads (#1690)
Re PR #1672: accidentally hides all minor roads except when brunnels
2024-10-16 10:09:43 +02:00
Tomas Pohanka
8a8aa1a78b
Update CI to use docker compose v2. (#1680)
GitHub Actions and self-hosted server using docker compose v2 (without hyphen).
2024-08-19 12:49:56 +02:00
Nick Walker
10d1f75f7c
Add landuse=flowerbed to landcover (#1661)
This adds `landuse=flowerbed` to landcover.

---------

Co-authored-by: Petra Duriancikova <petra.duriancikova@maptiler.com>
2024-08-01 12:50:18 +02:00
Max Weng
59f221ca12
update transportation style filter format (#1672)
The issue is transportation layer filter format not match maplibre style spec

it cause tileserver-gl errors when parse the style.json:
---------

Co-authored-by: Double Max <max@ground-map.com>
2024-07-31 14:25:32 +02:00
Tomas Pohanka
1ff5145451
Pre-release update. (#1657)
Update documentation before release v3.15.
2024-04-29 13:16:59 +02:00
Tomas Pohanka
e6faa69a70
Fix z7-z4 roads (#1656)
Some US roads were not included in tiles, because the `ST_AsMVTGeom` did not transform geometry (result was NULL). This PR is trying to fix the geometry for `ST_AsMVTGeom`, even if the geometry is marked as valid (`ST_IsValid`). The odd geometry was caused by simplification when it could create `LINESTRING(1 1, 2 2, 1 1)` linestring, which in some cases was not converted into MVT. 

Also, for the US (on zoom 4) keeps just the network `us-interstate` and the `highway=motorway` or `osm_national_network(network)` for the rest of the world.
2024-04-24 11:47:27 +02:00
Tomas Pohanka
eae7d7e1ed
Documentation update. (#1654)
- Unifying `name_de` description for `mountain_peak` layer.
- Update the version of PostGIS for `generate-sqltomvt` function.
2024-04-03 15:26:59 +02:00
Tomas Pohanka
382b12ae8a
Drop osm_transportation_name_network table before recreation. (#1653)
Drop the main table for layer `transportation_name` layer before creation.

For the first SQL import, it is OK, but for the second import (e.g. for a different country by `import-osm area=yyy`) without dropping the whole database it will keep `osm_transportation_name_network` filled with data from the first import (after first `import-sql` step)

This PR will drop the already-filled table from the first import and insert data from the reimported area.
2024-04-03 13:43:28 +02:00
Tomas Pohanka
59692656bd
Preserving the highway network in Canada for z4. (#1652)
This PR reverts important Canada TransCanada road to zoom 4.

At zoom 4, the network `gb-trunk` is too dense, so it is moved to zoom 5+.
2024-04-02 14:22:37 +02:00
Tomas Pohanka
ee19519905
Add network for GBR and IRL. (#1649)
Fix a missing e-road relation for the United Kingdom and Ireland.
2024-04-02 11:08:50 +02:00
Tomas Pohanka
8266197149
Revert e-road and a-road. (#1648)
Partial revert the `e-road` and `a-road` added in https://github.com/openmaptiles/openmaptiles/pull/1619.

This PR leads to breaking the change of `network` and `ref` attributes for roads, which are not included in `osm_route_member_network_type`.
2024-04-02 10:09:20 +02:00
zstadler
3f0ba7ceba
Replace ["geometry-type"] with "$type" (#1646)
Related to https://github.com/maplibre/maplibre-style-spec/pull/519 and https://github.com/maplibre/maplibre-gl-js/issues/3516

According to the Style Spec, `["geometry-type"]` is expected to distinguish between LineString and MultiLineString, while `"$type"` does not. For the transportation layer, the distinction is harmful.

All of OMT style layers, except these two, use `"$type"`.
2024-03-28 10:52:38 +01:00
Adam Laža
c2ae2503c8
Fix borders z0-z4 (#1647)
This PR fixes two things:
- remove disputed name like `ne_*m_ogc_fid` from lines
- use South Sudan disputed boundary from `ne_10m_admin_0_boundary_lines_land_disputed` so there is no gap.
2024-03-27 13:56:23 +01:00
Tomas Pohanka
d709a51de6
Salt pond with class pond (#1645)
The salt pond is now under the class `lake`, this PR moves it into class `pond`.
2024-03-21 15:58:58 +01:00
Brian Sperlongano
af6dc684ef
Reduce transportation_name segmentation (#1643)
This PR reduces transportation_name layer fragmentation by ensuring the short brunnel segments are merged rather than dropped from view.

---------

Co-authored-by: Tomas Pohanka <TomPohys@gmail.com>
2024-03-21 08:08:56 +01:00
Adam Laža
136e1db4d1
Fix maritime low zooms (#1644)
This PR fixes boundary layer at low zoom levels:

-z4 - remove maritime boundary (Peru, northern and southern end of boundary between Canada and Alaska).
-z1-z4 - do not mix disputed boundary from NE and OSM - linestrings got duplicated. Use only NE data (z0-z4), then OSM data (z5+)
2024-03-18 13:23:38 +01:00
Tomas Pohanka
585b71f666
More roads for z4 and z5. (#1642)
This PR adds more roads to the zoom 4 for the United Kingdom and Ireland. Adding more roads for the USA at zoom 5.
2024-03-13 10:12:03 +01:00
Brian Sperlongano
d6fd5ef7cb
Change to pointonsurface (#1641)
Fixes #1640 

This ensures that place and poi points computed from areas result in a point node that is actually inside the area that it's derived from.  Unusual shaped areas (like a banana shape, for example) may produce points that aren't actually contained.
2024-02-29 14:39:13 +01:00
Andrea Mennillo
9f891b625a
Replace spritezero with spreet (#1631)
This updates `build-sprite` and `build-style` to use `spreet`.

It depends on https://github.com/openmaptiles/openmaptiles-tools/pull/442
2024-02-26 15:06:12 +01:00
Tomas Pohanka
5b00c496ef
New omt-tools version. (#1638) 2024-02-26 14:05:42 +01:00
Adam Laža
a65495f264
Fix housenumber_display.sql - cast to bigint instead of integer. (#1637)
Fixes `housenumber_display.sql` function and further improves https://github.com/openmaptiles/openmaptiles/pull/1632

Parsing text values that contain `;`, the string was split into array of values which were casted to `integer`. However, that fails for housenumber that exceed Postgres `int` range `-2147483648` to `+2147483647`.
There are such housenumber, e.g.: https://www.openstreetmap.org/way/1091331906#map=19/-3.82721/-38.59269
2024-02-26 13:04:00 +01:00
Andrea Mennillo
2f170fbbd8
Improve poi shop style (#1634)
The main goal is to improve consistency and reduce the number of poi without an icon.

- Remove music from poi cultural, music has only two subclasses music and musical_instrument, both are styled as poi shop
- Remove arts_centre from poi shop, it's already styled as poi cultural
- Remove chocolate icon, chocolate uses confectionery icon (see: https://github.com/openmaptiles/openmaptiles/pull/1628)
- Remove references to ice_cream class from poi shop
- Add missing gallery icon and move it to poi cultural (see: https://wiki.openstreetmap.org/wiki/Tag:tourism%3Dgallery)
- Use the icons alcohol, newsagent, perfumery, trade respectively for wine, kiosk, perfume and wholesale.
- Add a generic fallback icon for shops
2024-02-21 16:25:54 +01:00
Tomas Pohanka
de2fa04c37
Docs clean up. (#1636)
Update docs, license year and clean up `.env`.
2024-02-21 13:40:46 +01:00
Tomas Pohanka
44cf6c8e35
Default output filename as tiles.mbtiles (#1633)
Keep the default output filename as `tiles.mbtiles`. `tiles.mbtiles` is expected to start TileServer.

Using the `area` as the name causes TileServer not to run. The name could be changed by the user by
 - change `MBTILES_FILE` in `.env`
 - use MBTILES_FILE as an environmental variable before running `quickstart.sh` or `generate-tiles-pg` 

Co-authored-by: Adam Laza <@lazaa32>
2024-02-21 11:52:29 +01:00
Tomas Pohanka
b057d5941e
Update GitHub Actions. (#1635)
Bump GitHub Actions from v2 to v4.
2024-02-21 09:08:16 +01:00
Brian Sperlongano
b3c32321a3
[WIP] Expanded road route attributes (#1620)
This PR replaces the `route_N` attribute scheme with individual attributes for name and colour on routes.  Thus you will have:
* `route_N_network` to hold the route `network` value
* `route_N_ref` to hold the route `ref` value
* `route_N_name` to hold the route `name` value
* `route_N_colour` to hold the route `colour` or `ref:colour` value
2024-02-20 17:38:11 +01:00
Andrea Mennillo
ee8259ced5
style: use red color for volcano (#1630)
Change the color used for a volcano label and icon to #d40000.
2024-02-20 08:56:29 +01:00
Tomas Pohanka
718fd359d3
House number range fix. (#1632)
Fix house number range conversion based on https://github.com/openmaptiles/openmaptiles/issues/1583#issuecomment-1940901006.
2024-02-19 21:27:52 +01:00
Michał Gwóźdź
8d6b95008d
Changed classification of ice_cream and chocolate (#1628)
According to [OpenMapTiles Schema](https://openmaptiles.org/schema/) ice_cream should be a class, not a subclass of the shop, so I think it makes more sense to remove ice_cream from the shop class. I tested this, and after the change, both amenity=ice_cream and shop=ice_cream OSM tags get class=ice_cream + subclass=ice_cream, which is fine, because both OSM tags shop=ice_cream and amenity=ice_cream represents the same thing

The next thing I did was to change the color of the ice_cream icon.
2024-02-19 08:19:15 +01:00
Michał Gwóźdź
aa51a6c101
Moved confectionery from ice_cream class to shop (#1627)
Moved confectionery from ice_cream class to shop.
2024-01-31 17:16:11 +01:00
Makien Osman
d54ce2e617
🐛 remove duplicate "requires" key (#1626)
Remove duplicate "requires" key from `place.yaml`
2024-01-31 07:38:04 +01:00
Brian Sperlongano
5fd186a311
Add missing NULLIF (#1625)
In some cases that empty aggregated brunnel attributes was coming through in the tiles in the transportation_name layer.
2024-01-30 09:25:58 +01:00
Tomas Pohanka
6d1cb63d8e
Add e-road and a-road for transportation z4. (#1619)
Adding [e-road](https://wiki.openstreetmap.org/wiki/WikiProject_Europe/E-road_network) and [AsianHighway](https://wiki.openstreetmap.org/wiki/Asia/Asian_Highway_Network) (as `a-road`) as part of the network to show up from zoom 4.
2024-01-30 07:31:12 +01:00
Peter Hanecak
fe61912c09
Make sure areas above 160000000 get rank 2 or 1 (#1623)
This is a follow-up on https://github.com/openmaptiles/openmaptiles/pull/1604 . Seminole Nation is shown in the screenshot there with rank 3 while based on area it should be 1. This PR fixes `area_rank()` function to handle areas greater than 160000000, e.g. this fixes #1622 .

Co-authored-by: Paul Norman <penorman@mac.com>
2024-01-29 07:51:24 +01:00
Peter Hanecak
bb154f4ee8
fix for problem with "James Bay" in water_name (water label) #1595 (#1621)
For important marine points distance between NE and OSM with the same name must by under 50km.
2024-01-25 16:01:39 +01:00
Brian Sperlongano
e29827d76c
Move aboriginal lands boundaries to boundary layer (#1604)
This PR adds indigenous lands to the `boundary` layer by adding new area features for these objects, along with generalization up to z4. It borrows heavily from the technical processing chain of the `park` layer.

I added new `class`, `name`, and `name:xx` attributes to the boundary layer, in order to support the new area features. Should we (or someone extending this schema) come up with new objects to place in the boundary layer in the future, `class` would support additional categories.
2024-01-21 10:37:02 +01:00
Tomas Pohanka
eb7f6be455
Adding source_ids column if not exists. (#1600)
Adding source_ids column if not exist in the table 
 - osm_transportation_merge_linestring_gen_z11
 - osm_transportation_merge_linestring_gen_z8
 - osm_transportation_name_linestring
 - osm_important_waterway_linestring
2024-01-16 14:03:46 +01:00
Brian Sperlongano
a682d50d0d
Document name_* deprecation strategy (#1605)
This PR is a **documentation change only**. It documents the fact that `name:xx` values are present in the tiles and documents that `name_de` and `name_en` will be removed in a future release in favor of `name:de` and `name:en` respectively.
2023-12-30 08:14:35 +01:00
Brian Sperlongano
d3a9b36873
Fix university office/amenity collision (#1607)
Fixes #1606
Unblocks ZeLonewolf/openstreetmap-americana#1022

This PR is a bugfix which ensures that `amenity=university` is encoded as `class=college` rather than `class=office`.  It's required because of a subclass collision for `university`, which exists under both class values.
2023-12-28 08:18:00 +01:00
Brian Sperlongano
b9c9e69028
Remove expressway from ramps (#1602)
#1313 added `expressway` tagging to the transportation layer. However, this also added the `expressway` attributes to ramps where it doesn't make sense (ramps by definition are controlled-access roads in all cases).  This PR corrects this by dropping the `expressway` attribute from ramps where it doesn't make sense to do so.

See also ZeLonewolf/openstreetmap-americana#1017
2023-12-28 07:11:36 +01:00
Christopher Beddow
e61442c49d
feat: add charging station to car POIs (#1544)
Adding charging station to class `fuel`.

Co-authored-by: Christopher Beddow <cbeddow>
Co-authored-by: Tomas Pohanka <TomPohys@gmail.com>
2023-12-12 13:58:03 +01:00