Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider adding sports, craft, and historic tags with raw coalesce option for kind/tag #39

Closed
nvkelso opened this issue Jun 2, 2023 · 3 comments

Comments

@nvkelso
Copy link
Collaborator

nvkelso commented Jun 2, 2023

In the closed PR, @tyrauber noted that the sports, craft, and historic tags could be exported in raw form as well, and added to the coalesce of values in the exported pmaps:kind property.

There's another interesting idea here which is to always pass thru the raw values of the tags in a new pmaps:tag property – since the pmaps:kind property is an gated allowlist of properties (else "other" when not in the allowlist). Adding this would facilitate data-driven icon lookups based on single property instead of a list of properties.

From the original PR comment:

          Hi @nvkelso, it looks @bdon has already addressed my suggestions on main!
  • stars are applied to point features as stars:
           point_feature.setAttr("stars", sf.getString("stars"));
  • pmap:tag is not necessary because tag values can be accessed by key name:
          .setAttr("amenity", sf.getString("amenity"))
          .setAttr("shop", sf.getString("shop"))
          .setAttr("railway", sf.getString("railway"))
          .setAttr("cuisine", sf.getString("cuisine"))
          .setAttr("religion", sf.getString("religion"))
          .setAttr("tourism", sf.getString("tourism"))
          .setAttr("iata", sf.getString("iata"))

It's missing the sports , craft and historic tag. Sports and craft are probably unnecessary, but for tourism implementations, I'd probably add historic.

All in all the implementation on main is more flexible than the approach I came up with. 👍 Closing.

Originally posted by @tyrauber in #32 (comment)

nvkelso added a commit to nvkelso/basemaps that referenced this issue Jun 21, 2023
…operty coallese and extra tags (protomaps#39), show some POIs earlier depending on kind or area, special handling for kind = national_park
@nvkelso
Copy link
Collaborator Author

nvkelso commented Jun 21, 2023

I've addressed most of this in nvkelso@d452bbe, which is in WIP PR #47.

bdon added a commit that referenced this issue Jul 20, 2023
* bug fix for town, village as city level features (not neighbourhood)

* init Makefile targets

* add pmap:kind coallesce

* converge towards shield_text_length; pass thru other network values; set pmap:kind_detail on other kind

* refactor pmap:kind calculation and add pmap:kind_detail

* refactor places, add pmap:min_zoom, add sort func, add label grid

* rework low zoom NE water

* stub out water label points (natural earth only)

* fix test tile coord; tmp pmtiles bin location

* add kind = national_park logic

* add derived water polygon labels in physical points layer

* fix java errors, comment out setSortKey for later debug

* reorder sections for a-z legibility, add optional pmap:kind_detail property coallese and extra tags (#39), show some POIs earlier depending on kind or area, special handling for kind = national_park

* add washington state target

* show county lines earlier, export Tilezen kinds (and region not state)

* block {building|building:part}=no; push building:part to later zooms; merge buildings at z14; note future height quantization

* do NOT export names; formatting

* do NOT export names, or areas

* export label points for water polygons; & etc

* use Tilezen kind values (locality not city)

* export POIs for ways, rels too (area graded per zoom); some kind of boundary and landuse; national_park kind; add kind_detail; special case no name POI zooms; special case other minor kind zooms

* fix service minor roads; fix sidewalks

* show piers later; drop short featues

* fix NE layer parsing; do NOT export names (see physical points layer instead)

* quantize heights by zoom; push building_part to later zooms

* always export pmap:kind

* add national_park, protected_area, and nature_reserve (moved from natural layer); show at earlier zooms; more sophisticated kind setting; merge features at early zooms

* remove national_park, protected_area, nature_reserve (moved to landuse layer); merge features at early zooms

* show rivers earlier; always set kind value; intermittent to boolean

* switch to min_label for NE instead of min_zoom; update zoom area grading; export kind_detail

* prefix population_rank with pmap:

* bug fixes for kind calculations; better way area calculation; show larger area features earlier by area and zoom and kind; show taller height kinds earlier; export min_zoom for label collision

* show motorway and primary earlier; show service roads later; show paths later; do not remove links early

* show airport runway, taxiway earlier; show some types of rail later; smarter kind calculation

* update kind calculation; boolean exports

* prefix population_rank with pmap:

* remove debug attr

* add phony list; remove complicated targets

* add beach, forest, military, naval_base, airfield, zoo kinds; bug fix national_park; reorder poly var creation later; stop merging tile features

* move kind calc above; Tilezen schema notes; min pixel size to 2 from 3

* some tiny lake labels earlier; add Tilezen schema comments

* refactor property gathering logic and move setAttr later; add Tilezen schema notes

* add attraction kinds, beach kind, hide early node university kind, add (national) forest kind, bug fix for national_park; add few tier 1 landuse kinds to early zoom allowlist; fix height zoom grading bug; hide mid-zoom hotels (from height); Tilezen schema notes

* refactor property gathering and attr setting; Tilezen schema notes

* Tilezen schema notes; hide names from early zooms for more merging

* refactor property gathering and attr setting; Tilezen schema notes

* remove unused imports, fix silly Java error

* add to early zoom blocklist

* update style for schema changes

* add SF target

* ensure pier pass thru

* add grass

* add label grid, separate NE from OSM at zoom 7

* add label grid; bug fixes for kinds and zooms (per kind)

* add planet target

* add new targets

* use low zoom boundaries from Natural Earth

* add zoom logic for country, region

* guard against nulls

* guard against null names; spell out more country names

* guard against null names

* perf; rework NE kind and kind_detail

* npe, again; cleanup imports and var names

* standardize on var names

* ensure odd numbered admin_level do not export

* add brunnel pmap:level, remove dedicated props

* add brunnel; push disused lines later

* add quarter back

* standardize sf var name

* push small parks later; university buildings later

* brunnel; standardize sf var name; kind_detail

* regrade park area > zooms

* add changelog, version, and semver statement

* similar casing order change as #42 for merge conflicts

* update 1.0.0 date

---------

Co-authored-by: Brandon Liu <bdon@bdon.org>
@nvkelso
Copy link
Collaborator Author

nvkelso commented Jul 27, 2023

#47 has been merged, this issue can be closed as complete.

@nvkelso nvkelso closed this as completed Aug 16, 2023
@bdon
Copy link
Member

bdon commented Aug 17, 2023

@nvkelso from what I can tell a single icon lookup is not possible purely on pmap:kind, we have to consider kind_detail for classes like place_of_worship. What's our strategy here? (Prefer moving any complexity to tiles instead of style)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants