Comments (4)
Consider moving the sortKey transform to post processing step...
from basemaps.
Consider also varying the number of kept features by zoom (or limiting the size of the grid by zoom) – and limiting to just locality
kinds.
Right now we do a combination:
feat.setPointLabelGridSizeAndLimit(13, 64, 4); // each cell in the 4x4 grid can have 4 items
But we could split that apart so the Size is constant but the limit varies by zoom:
feat.setPointLabelGridLimit(LOCALITY_GRID_LIMIT_ZOOM_FUNCTION);
or
feat.setPointLabelGridSize(LOCALITY_GRID_SIZE_ZOOM_FUNCTION);
Where LOCALITY_GRID_LIMIT_ZOOM_FUNCTION might look like:
private static final ZoomFunction<Number> LOCALITY_GRID_LIMIT_ZOOM_FUNCTION = ZoomFunction.fromMaxZoomThresholds(Map.of(
7, 2,
8, 4,
9, 6,
10, 8
11, 10
), 0);
With the zoom breaks adapted from Tilezen, where no thinning is done from zoom 0 to 6 inclusive (as Natural Earth is pre-compiled).
from basemaps.
It's unclear if you can limit the label grid to apply to certain features versus all features in a layer (eg just locality
kinds).
from basemaps.
label grid applies to all features in a layer. another option is just making buckets way bigger at low zooms and then doing some post-processing
from basemaps.
Related Issues (20)
- Low contrast in the "contrast" style HOT 5
- pmtiles center coordinates wrong (was:not able to render pmtiles file in maplibreGL) HOT 7
- Place labels in Uganda HOT 3
- Poor low-zoom generalization of linear water features comprised of areas HOT 1
- More simplification on country borders HOT 3
- Some landuse elements missing: village_green, allotments, playground HOT 6
- School Building heights are being incorrectly parsed/inferred HOT 3
- Rome vs Vatican State HOT 5
- Disconnected roads at zooms < 6 HOT 3
- Major road minzoom HOT 3
- More baselayers HOT 3
- make monaco fails on first run HOT 1
- better minzoom ranking for water labels HOT 1
- TS and JS build files of npm package out of sync HOT 19
- export 'default' (imported as 'layers') was not found in 'protomaps-themes-base' (module has no exports) HOT 5
- Add basic support for sprites HOT 5
- Mechanism for disputed map labels HOT 2
- Generate basemap with richer/more specific tags/layers HOT 4
- City name "Poitiers" not completely displayed when using MapLibre HOT 1
- Buildings with 'railway'-tag also show a railway outline HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from basemaps.