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

xyz tiles #67

Closed
gszep opened this issue Jan 24, 2021 · 11 comments
Closed

xyz tiles #67

gszep opened this issue Jan 24, 2021 · 11 comments

Comments

@gszep
Copy link

gszep commented Jan 24, 2021

Any plans to have xyz tiles being implemented in a zoom-able plot?

@visr
Copy link
Collaborator

visr commented Jan 24, 2021

Not really concrete plans, but I do think we should support basemaps. Perhaps we can further develop and integrate https://github.com/yeesian/MapTiles.jl.

@gszep
Copy link
Author

gszep commented Jan 24, 2021

interesting. what are the currently available features in MapTiles.jl? I'm wondering whether it would be easier to serve OpenLayers using JSServe.jl. Linking to OpenLayers means less code maintenance on the Julia side, but I doubt OpenLayers would work with the default GLMakie backend

@gszep
Copy link
Author

gszep commented Jan 24, 2021

this would be useful not only for geographic maps but also stiched microscopy images and embedded high dimensional datasets (tSNE or UMAP projections for example)

@visr
Copy link
Collaborator

visr commented Jan 24, 2021

I don't have much experience using MapTiles.jl, I just updated it yesterday. But is quite simple, it allows you to easily get images from a list of providers (or your own), based on extents and zoom levels. It doesn't have UI functions built in, only a Plots.jl plotting recipe.

I'm wondering whether it would be easier to serve OpenLayers using JSServe.jl. Linking to OpenLayers means less code maintenance on the Julia side, but I doubt OpenLayers would work with the default GLMakie backend

It'd be good to not have to maintain more code, but I'm not sure it would be simpler in this case. Which parts would you want to use? If we can use MapTiles to fetch images, and we can hook it up to the zooming and drawing in GeoMakie, we'd be mostly there, or am I forgetting things? Caching may be nice to speed things up, but can always be added later.

@s-celles
Copy link

Supporting MBTiles format could be a great feature to have.
See JuliaGeo/MapTiles.jl#11

@asinghvi17
Copy link
Member

That's definitely something that can be done...all you would have to do is trigger an observable which changes the z-level at some zoom levels, and paste all the images together into one large image matrix. Alternatively, instead of zoom levels, you may want to look at axis limits as a z-parameter.

@alex-s-gardner
Copy link

This would be a very powerful addition to GeoMakie.. is there any interest on moving this forward. I'm willing to help out but really don't have a ton of Julia skill to offer.

@rafaqz
Copy link

rafaqz commented Dec 27, 2022

We could combine providers with Leaflet.jl, I've recently updated them there and registered Leaflet.jl.

@alex-s-gardner probably getting MapTiles.jl better tested and registered is the first step here.

@alex-s-gardner
Copy link

I'll likely try to use MapTiles.jl for a project I'm working on so I'll see if I can make progress

@rafaqz
Copy link

rafaqz commented Dec 29, 2022

Great. Ping me if you need help with anything. I'm also pretty keen to have this working for my own work.

There is already a static Plots.jl recipe for the BaseMap object, we just need to add a dynamic recipe for Makie/MakieCore.jl that tracks the Makie plot zoom after plotting. It's probably easier to do that before making a GeoMakie.jl recipe.

@rafaqz
Copy link

rafaqz commented Jan 16, 2023

Update: we put a package for this together at JuliaEO conference, just with base Makie.jl and MapTiles.jl:
https://github.com/MakieOrg/Tyler.jl/blob/master/src/Tyler.jl

It can probably be easily adapted to GeoMakie.

Its built on these packages which are now in JuliaGeo and registered or on the way:
https://github.com/JuliaGeo/TileProviders.jl
https://github.com/JuliaGeo/MapTiles.jl

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

7 participants