juliageo / maptiles.jl Goto Github PK
View Code? Open in Web Editor NEWWork with tiled web maps in Julia
License: MIT License
Work with tiled web maps in Julia
License: MIT License
@Huite showed me https://github.com/Huite/projecttile last week, and also geopandas/contextily#120.
I'm guessing we're almost there already since the code is CRS-aware with the WGS84 and WebMercator types, but it would be good to have an example where we use Proj.jl and a local provider like in geopandas/contextily@fc4a0fb to make sure it all works.
Hello,
Following #6 (comment)
I noticed that
julia> plot(basemap)
┌ Warning: Attribute alias `xlim` detected in the user recipe defined for the signature (::MapTiles.BaseMap{RGB{FixedPointNumbers.Normed{UInt8,8}}}). To ensure expected behavior it is recommended to use the default attribute `xlims`.
└ @ Plots C:\Users\Admin-pc\.julia\packages\Plots\oZheM\src\pipeline.jl:15
┌ Warning: Attribute alias `ylim` detected in the user recipe defined for the signature (::MapTiles.BaseMap{RGB{FixedPointNumbers.Normed{UInt8,8}}}). To ensure expected behavior it is recommended to use the default attribute `ylims`.
└ @ Plots C:\Users\Admin-pc\.julia\packages\Plots\oZheM\src\pipeline.jl:15
which seems to be related to this plot recipe
https://github.com/yeesian/MapTiles.jl/blob/58029f3fb60c202a97aca10214139c0d2eb8396b/src/MapTiles.jl#L19-L28
Unfortunately, I personnaly don't know Plots.jl and RecipesBase.jl much
Kind regards
Hello,
I wonder if this library support reading, writing and displaying MBTiles.
MBTiles files can be generated using Java software MOBAC (MOBile Atlas Creator by fetching various map source and storing maps offline.
MBTiles files can be displayed using Qt/C++ software GPXSee which can also handle WMS (Web Map Service) and WMTS (Web Map Tile Service).
Kind regards
MapTiles throws a compile error, I think this is because of breaking changes to GeoInterface
dev https://github.com/yeesian/MapTiles.jl
using MapTiles
[ Info: Precompiling MapTiles [fea52e5a-b371-463b-85f5-81770daa2737]
ERROR: LoadError: UndefVarError: Point not defined
Stacktrace:
[1] getproperty(x::Module, f::Symbol)
@ Base ./Base.jl:31
[2] top-level scope
@ /net/devon/mnt/devon2-r1/devon0/gardnera/Documents/GitHub/MapTiles.jl/src/MapTiles.jl:82
[3] include
@ ./Base.jl:419 [inlined]
[4] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
@ Base ./loading.jl:1554
[5] top-level scope
@ stdin:1
in expression starting at /net/devon/mnt/devon2-r1/devon0/gardnera/Documents/GitHub/MapTiles.jl/src/MapTiles.jl:1
in expression starting at stdin:1
ERROR: Failed to precompile MapTiles [fea52e5a-b371-463b-85f5-81770daa2737] to /home/gardnera/.julia/compiled/v1.8/MapTiles/jl_7Q3c8P.
Stacktrace:
[1] error(s::String)
@ Base ./error.jl:35
[2] compilecache(pkg::Base.PkgId, path::String, internal_stderr::IO, internal_stdout::IO, keep_loaded_modules::Bool)
@ Base ./loading.jl:1705
[3] compilecache
@ ./loading.jl:1649 [inlined]
[4] _require(pkg::Base.PkgId)
@ Base ./loading.jl:1337
[5] _require_prelocked(uuidkey::Base.PkgId)
@ Base ./loading.jl:1200
[6] macro expansion
@ ./loading.jl:1180 [inlined]
[7] macro expansion
@ ./lock.jl:223 [inlined]
[8] require(into::Module, mod::Symbol)
@ Base ./loading.jl:1144
[9] eval
@ ./boot.jl:368 [inlined]
[10] eval
@ ./Base.jl:65 [inlined]
[11] repleval(m::Module, code::Expr, #unused#::String)
@ VSCodeServer ~/.vscode-server/extensions/julialang.language-julia-1.38.2/scripts/packages/VSCodeServer/src/repl.jl:222
[12] (::VSCodeServer.var"#107#109"{Module, Expr, REPL.LineEditREPL, REPL.LineEdit.Prompt})()
@ VSCodeServer ~/.vscode-server/extensions/julialang.language-julia-1.38.2/scripts/packages/VSCodeServer/src/repl.jl:186
[13] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./logging.jl:511
[14] with_logger
@ ./logging.jl:623 [inlined]
[15] (::VSCodeServer.var"#106#108"{Module, Expr, REPL.LineEditREPL, REPL.LineEdit.Prompt})()
@ VSCodeServer ~/.vscode-server/extensions/julialang.language-julia-1.38.2/scripts/packages/VSCodeServer/src/repl.jl:187
[16] #invokelatest#2
@ ./essentials.jl:729 [inlined]
[17] invokelatest(::Any)
@ Base ./essentials.jl:726
[18] macro expansion
@ ~/.vscode-server/extensions/julialang.language-julia-1.38.2/scripts/packages/VSCodeServer/src/eval.jl:34 [inlined]
[19] (::VSCodeServer.var"#61#62")()
@ VSCodeServer ./task.jl:484
I wonder if it would be possible to get a basemap that honors the specified lon/lat min/max pairs. Right now, when I plot the basemap, it includes extra "borders" that don't make a good visualization:
Alternatively, if the basemap object stores the lon/lat min/max values, the plot recipe could crop the borders.
Hello,
I wonder if there is currently a way to have with Julia an interactive user interface for interacting with web map tiles ie a way to zoom in / zoom out / pan.
If such a solution currently exists maybe it could be documented in #6 (comment)
Kind regards
Hello,
Following #5, a large number of online map providers can be found in
https://github.com/leaflet-extras/leaflet-providers/blob/master/leaflet-providers.js (JavaScript code)
or also in https://github.com/tumic0/GPXSee-maps (XML data with corresponding URL).
or in MOBAC
https://sourceforge.net/p/mobac/code/HEAD/tree/trunk/MOBAC/mapsources/ (Java code or BeanShell)
https://sourceforge.net/p/mobac/code/HEAD/tree/trunk/MOBAC/mappacks/
Maybe an approach could be to have this kind of data outside of Julia code but simply as data in a repository which could be shared accross several projects (in differents languages).
Any opinion about it?
Kind regards
This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml
to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix
on this issue.
I'll open a PR within a few hours, please be patient!
Hey,
this looks cool.
I wonder if it is currently possible to plot a heatmap as a layer with some transparency on the tiles? I tried the following:
using Plots; gr()
using MapTiles
plt = plot(basemap)
heatmap!(plt, lon, lat, vals, yflip=true)
where lon
and lat
are 1D vectors of size m and n, and vals
is a vector of size m*n
. And the lat/lon values span the same range of the basemap. This is what I am getting:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.