OpenHistoricalMap / issues

File your issues here, regardless of repo until we get all our repos squared away; we don't want to miss anything.
Creative Commons Zero v1.0 Universal
19 stars 1 forks source link

Vector tiles should filter place points by zoom level #868

Closed 1ec5 closed 2 months ago

1ec5 commented 3 months ago

The place_points layer in the vector tiles includes every place=* point at every zoom level:

https://github.com/OpenHistoricalMap/ohm-deploy/blob/446acd16acffc03634c369e743934fea2bea8264/images/tiler-server/config/providers/place_points.toml#L20-L23

This leads to a glut of data that never gets rendered:

A screenshot of the Tegola inspector showing Europe at zoom level 4. A hamlet named Cattuni is selected. Place points are extremely dense across Germany.

As a result, some tiles weigh a lot and take an inordinate amount of time to load. For example, 4/8/5, which covers Central Europe at zoom level 4, weighs 7.11 megabytes and sometimes takes upwards of a minute to load.

A screenshot of the Tegola inspector showing the world at zoom level 1. Place points are extremely dense across the United States and Europe. A tile over the southeastern United States is still loading.

We should drastically reduce the number of place points in this layer at low and mid zooms. In general, place points should only appear in the tiles at zoom levels where a style would show them. For example, the Historical style only labels place=hamlet at zoom levels 11 and above. Every style is a little different for stylistic reasons, so in some cases it may be a good idea to include a class of places one or two zoom levels before the Historical style would label it. But z1 is many zoom levels too early.

Once #801 is implemented, we should also be able to omit place points representing areas that are way too small to be labeled. But this is a much lower priority than filtering out place classifications that stylesheets ignore as a rule.

Rub21 commented 3 months ago

I am going to work on this. @vknoppkewetzel, do you have a sense of which place points should be rendered at which zoom level? It would be better to use that for filtering according to the current styles

vknoppkewetzel commented 3 months ago

@Rub21 Let me take a look and gather that info for you 🙏

vknoppkewetzel commented 3 months ago

Hey @Rub21 here is what is getting pulled in at different zoom ranges in the current style main.js image

https://docs.google.com/spreadsheets/d/1oz5_qVrmxisgTPJC1fBTOlSGiylCNC4JiUXTB_qVrUA/edit?usp=sharing

Note, this doesn't account for anything that is not currently pulled into the style.

After taking a look at the above and making adjustments based on those zoom ranges, is it possible to flag what attributes that we not styling (yet)? We can then take a look at those attributes and discuss what zoom ranges are ideal for their styling and get back to you for those as well

Rub21 commented 3 months ago

I have filtered the layer place_points according to the styles filtered in the spreadsheet. It should not break anything.” https://vtiles.staging.openhistoricalmap.org/#1.27/26.1/-28.4

image
1ec5 commented 2 months ago

Did we used to label place=ocean and place=sea? A mapper on Discord notes that oceans and seas have gone missing from the map.

Rub21 commented 2 months ago

I have added the type=ocean and sea, and others that was not been considered according to the list of places https://gist.github.com/Rub21/86fbf65f687b02c886cc1625b5c543c6

Screenshot 2024-08-26 at 8 47 12 PM
Rub21 commented 2 months ago

Done, closing the ticket!