Giter Site home page Giter Site logo

jiqicn / focus_context_raster_overlay Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 22.51 MB

This project holds an exploring study of how to overlay rasters of different (meteorological) features in the same view. Various machine learning and statistical approaches will be applied at different stages.

Jupyter Notebook 100.00%

focus_context_raster_overlay's People

Contributors

sdxlzxjh avatar

Watchers

 avatar

focus_context_raster_overlay's Issues

Problem statement and potential direciton

Problem statement

It's a challenging problem to visualize multiple (meteorological) raster features on the same map. Typical ways of doing this are either through raster overlay or multiple linked views. From the user perspective, raster overlay is preferred because multiple views will distract users' attention especially in the case of animation.

Then, the issue turns to be how to overlay rasters in a smart way. Traditional raster overlay in GIS is meaningful for only a few specific tasks. This project is to explore solutions based on machine learning techniques.

Potential solution

The general idea is inspired by the "focus + context" thinking. A big assumption is that the users have one or more target variables and more conditional variables. Here, target variables are those that users feel interested in, and the conditional variables are those that affect the target variables in some ways. Users may also care about how the conditional variables affect the target variables.

The solution is to firstly group pixels by conditional variables, and then visually encode conditional and target variables with different elements (color channels as expected at this stage). Thus, contexts that are the situation of conditional variables are described as groups, while focus of the target variables still remains.

We assume that one target variable per view is the request. The process of generating a timeframe is organized in the following steps:

  1. Preprocess of the whole dataset: clean the input data, map data into the same projection and grid.
  2. Group grid cells of the whole dataset: generate vectors of conditional variables for each grid cell and group pixels on this vector space
  3. Index grid cells of the current timeframe based on the grouping result in step 2.
  4. Visually encode pixel groups with e.g. different hue
  5. Visually encode the target variable with another channel e.g. color lightness
  6. Create a legend that includes descriptions of each group and the target variable.

With the above design, we have made some preliminary decisions as shown in the follows. Note that all the decisions should be tested in future demos.

  1. Groups are generated based on the whole dataset instead of the current frame. This confirms a constant legend over time.
  2. Coordinates are not included as conditional variables at this stage. This can be explored later to smooth the visual result on the geospatial level, but we make this decision at this point because we assume that atmosphere and climate phenomenons are usually continuous on geospace. Also, phenomenons can move over time. Since the grouping is done on the whole dataset, a more meaningful way is to exclude coordinates at this stage.

Next action

  1. Develop a quick demo for a single timeframe: mainly explore the visual encoding of conditional and target variables. The current setup is the combination of HUE and lightness, but there might be better choices.
  2. Develop a quick demo for animating over time: mainly test the scenario of tracking specific groups/objects.
  3. Explore methods of grouping grid cells: methods in consideration include clustering, dimensionality reduction, and image segmentation. To be complimented. Need a way of evaluating grouping results, can refer to the way of evaluating clustering results.
  4. Design methods of automatically generating descriptions of groups: can be statistical or visual approaches. To be investigated.
  5. Explore the smooth issue on the spatial level.

Further work

It's highly possible that the grouping result is not good enough. This can be caused by different grouping methods and parameters that can be played with. Thus, an interactive way (system/interface) of adjusting grouping approaches and parameters is seen as the next step. This will also include graphical feedback of evaluation of the grouping result for users to improve based on that.

Form vector of grid cells based on conditional variables

Goal

Transform data of several conditional variables to vectors. Explore the best data structure for doing this. Assume that 3d NumPy array can be the choice.

Think about how to index each grid cell, so that it can be referred to after grouping.

Quick demo of single timeframe visualization

Group grid cells using an ambitious method, e.g. k-means and plus. Visualize the groups of a single time frame based on the grouping result (first without the target variable, then add afterwords).

Input data:

  • conditional variables: ERA5 temperature and wind speed data at the pressure level of 1000 hPa
  • target variables: VIR data of radar NLDHL
  • time: 2019-10-02

To explore:

  • Play with the parameters to see the effect on the resulting image.
  • explore visual encoding: which channel or visual element can be applied

Quick demo of animation of a time series

Input

  • Focus variable: VIR of DHL radar
  • Context variables: Temperature, U and V component of wind speed of the same spatial range
  • Temporal scale and resolution: 20191002 the whole day, one frame per hour

OUtput

Animation of overlayed rasters with legend images

Tips

  • Pay specific attention to the hue constancy over time.

Unify grid from different data sources

Goal

Given a data collection from different sources (pVol and ERA5 data in the context of UvA-TCE work), find one grid that all the data can be mapped to with minimal information loss.

Expected steps

  1. Unify coordinate system and projection
  2. Find the grid with the highest resolution/granularity that is going to be the target grid
  3. Map the original dataset to the target grid for creating the new dataset.

Literature review

Review of literature in the following fields/aspects:

Image Segmentation
Image Fusion
Multidimensional Data Visualization
Meteorological Visualization and Geovisualization
General InfoVis and Scientific Visualization approaches

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.