Comments (3)
Hey Ryan, thanks for the issue.
This chart from the deck docs shows that there are 10 different basemap combinations:
It's not clear to me how many of these Lonboard should try to integrate with.
There's been some discussion recently (#442, #437) of whether Lonboard should be less tied to any basemap. In the sense of: to enable things like multiple views and alternate map projections, we don't want to tie ourselves too closely to Maplibre by using MapboxOverlay. But connecting to the Google Maps API ties us to another mast, and it's not clear if it's worth the engineering and maintenance burden at this point.
And then there are the technical questions of actually implementing the integration. I've never used the Google Maps API so it would take time to figure out the integration. And should we load every basemap library for every Python user?
from lonboard.
Great discussion @kylebarron. I wasn't aware of some of the limitations of the custom style layer limitations with Deck.gl and MapLibre/Mapbox e.g. projections, some events, etc. I also agree that it's not obvious where Lonboard as a viz framework should draw the line for support with various map rendering SDKs.
It sounds like there's a need to separate concerns between the visualization context of Lonboard viz with other background scenes like a map renderer e.g. Maplibre, Mapbox, Google Maps JS API. An abstraction layer right now doesn't exist that works across Map SDK. and likely would be complicated to support as each flavor of Map Rendering SDK has different developer interfaces.
Given that, I agree that this is bug likely not feasible today to support many vector map SDKs via an abstraction layer.
The workaround that's more feasible and likely "good enough" would be supporting Z/X/Y raster tile sources as a Maplibre raster source for a Lonboard viz base map. That would have downsides as a raster vs. vector map data format, but would provide flexibility for developers that need to reference a specific base map - even for a bespoke use case like a construction job site with totally custom references, as long as their tiles are projected into Web Mercator.
from lonboard.
The workaround that's more feasible and likely "good enough" would be supporting Z/X/Y raster tile sources as a Maplibre raster source for a Lonboard viz base map.
This already exists when rendered by deck https://developmentseed.org/lonboard/latest/api/layers/bitmap-tile-layer/
It would be better to use Maplibre in some instances where you want to put the raster below labels. An advanced user can do this themselves by modifying the Maplibre Style JSON
from lonboard.
Related Issues (20)
- Swipe and sync between two maps
- Record and export animations HOT 4
- Allow "GeoParquet" input
- Lonboard with tiled data HOT 4
- Update viz to render polygon exteriors HOT 1
- Update examples to assign CRS on geodataframe
- Support deck.gl v9
- Runtime cast failed on `__geo_interface__` input
- Support `__arrow_c_array__` in viz()
- Document pyogrio integration
- [BUG] IndexError: list index out of range when running lonboard CLI on gpkg file HOT 2
- Import MapLibre CSS
- Secondary colors for polygon outlines in `viz` HOT 2
- Test with "separated" GeoArrow coordinates
- import parquet-wasm from local bundle rather than CDN HOT 3
- Fix publishing docs website
- Use minimal parquet-wasm build for bundle size HOT 1
- Set up plausible analytics
- Update `viz()` documentation to include geoarrow array
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 lonboard.