Closed HansKallekleiv closed 4 years ago
Sounds good! 🎉🚀 I guess we might want to collaborate on that same PR #109, when people have time (cc @anders-kiaer, @HansKallekleiv, @thor85 ++) - we can always go back some commits if we decide on going a different route.
Since this is a big issue - we can maybe put our name behind each of the subtasks when self-assigning something, such that we don't work on the same item simultaneously.
Good plan. Also feel free to add any tasks / ideas to this issue. The list above is far from complete.
I tried looking into tile generation/serving. No conclusion, but posting some links you can check out.
Vector tiles is probably not the solution for surfaces, but could maybe be used for other data, e.g. cylinder logs?
I would also like to have an option to print a well name along a well (not only as tooltip)
I would also like to have an option to print a well name along a well (not only as tooltip)
Currently I show wellnames on a tileLayer in Troll Maps, but I have made a branch where I display names as svg. It was noticeably slower on Troll with so many wellbores, so I left it for a while untill I have time to look at a different option (maybe pixiJS?). Svg probably works fine for most fields with much less wells though.
Correct colormap scaling given min-/max values (both for map values inside or outside given min/max)
Possibility to change the map without having to add the well layers again
Should have an option for logarithmic colormap (e.g. for permeability)
This is a summary of feature requests that is aimed for being included in the Dash LayeredMap
component ("version 2") - which will replace and improve the existing LayeredMap
component.
The existing component can be viewed in action in the live demo on e.g. pages "Surface with seismic cross-section" (which shows how the user can draw a line, update the component state, and use Dash callbacks to update another Dash component) and "Surface viewer (FMU)" (which shows usage of syncing different instances of the same component). Example of Python usage of the current version is available here.
It can be assumed that the data to be visualized is available locally on disk, and available to the Python instance running.
Existing features that should probably be kept in some way:
* We have some simple hill shading implemented in the current version using WebGL. This could be improved (see this and this reference for inspiration).
Improvements to existing features / new features:
xy
position and value of map indicated on hover.from flask import Flask
app = Flask(__name__)
@app.route("/tiles/<zoom>/<y>/<x>")
def tiles(zoom, y, x):
return send_file(f"./sometile{zoom}_{x}_{y}.png")
if __name__ == "__main__":
app.run(debug=False, host="localhost", port=8080)
A bit more explanation on the "logarithmic colormap" and "cut-of points" on colormap.
A rough sketch of linear/logarithmic in MS Paint 😎 🎨
Implemented in #219. Let us move any remaining missing/wanted feature requests to separate issues.
Layer types:
[ ] TileLayer - Locally served tiles using flask route or base64 transfer?)
[ ] Performant ImageLayer for fast flipping through images
[ ] GL based Tile/Image layers with mouse readout and manipulation of z-value (e.g. difference between two maps)
[ ] Well trajectories (simple lines)
[ ] Well logs using d3.js / pixi.js activated at specific zoom level https://github.com/manubb/Leaflet.PixiOverlay
[ ] Fault polygons, etc
[ ] Client side selection of colormap.
Data input:
[ ] Performant image generation from surfaces (python)
[ ] Performant tile generation from images (python)
Interactivity: