Commit Graph

1363 Commits

Author SHA1 Message Date
cd5a2880e0 chore: bugfixes and notes after merging 2025-06-14 23:05:53 +02:00
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