/mrsd_v1

A JavaScript implementation of a multi-resolution selective distinction (mrsd) technique for mapping massive data points on the web.

Primary LanguageJavaScript

Javascript implementation of multi-resolution selective distinction (version one)

######Authors Shaodong Wang (unclejimbo)
Xiang Zhang <xiang.zhang@whu.edu.cn>

Brief introduction

This is a student project aiming to make the best use of a map space for pining icons or photos on the map. This should be able to allow a maximum use of the free space available and avoid overlap of icons a.s.a.p. More icons will show up as the map zooms in.

Here is the live map of this implementation. Feel free to play around and feedbacks are welcomed;-)

Snapshots

Raw data points before processing
Selected points with symbols

Technologies

  • OpenLayers library is used to interact with base maps.
  • Map tiles and aerial image tiles are requested from the MapQuest/Mapbox tile servers.
  • MRSD structure and algorithm is implemented from scratch based on a Quadtree structure.

Limitations

  • Currently, client-side technology is used as a proof-of-concept.
  • Points are loaded from local files and then fed into browser javascript. For larger datasets, this can take long! or even crash the browser.
  • The building of the mrsd structure is done on client side (js code). This makes it difficult to adapt to a real web environment.
  • Parameters controlling the size of icons/photos and the overlapping factor are not exposed as UI elements.