wiki:MapGuideRfc81

Version 10 (modified by hubu, 15 years ago) ( diff )

--

MapGuide RFC 81 - Add a new widget Feature Inspector

This page contains an change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.

Status

RFC Template Version(1.0)
Submission Date(Date/Time submitted)
Last ModifiedBuddy Hu Timestamp
AuthorBuddy Hu
RFC Statusdraft
Implementation Statusunder development
Proposed Milestone2.2
Assigned PSC guide(s)Tom Fukushima
Voting History(vote date)
+1
+0
-0
-1
no vote

Overview

We get some requirement from the costomers:

  • No way to VISUALLY distinguish two or more features that are either overlapping or too close to each on the map;
  • Users must use their attributes as a way to distinguish them;
  • once I've distinguish a feature, I should be able to easily select that feature;

We will introduce a new widget "Feature Inspector panel" for both Fusion viewer and Ajax viewer. With this new panel, the user can distinguish the feature(s) which he/she wants.

Motivation

The current way to select features in MapGuide applications makes the process of distinguishing one specific feature out of a selection group difficult:

  1. No means to visualize the attributes of multiple features at once;
  1. No means to “browse through” a selection set;

There are some use cases:

1.If several features are selected across different layers, the selection panel should allow users to easily visualize their attributes and which layers these selected features belong by;

2.At a given zoom level in a map, some features might be too close to each other for users to select them individually; users should be able to interact with the elements in the "Feature Inspector" panel to help them narrow down a selection group to which feature he/she wants without changing the scale range;

Proposed Solution

This is the UI of this new widget:

When the user selection some features in the map, and click the "Move to Inspector", the tree of the "Feature Inspector panel" will be refreshed. In this tree, a leaf node indicates a feature, and its parent node(non-leaf node) indicates the layer which the feature belongs to. The leaf node displays all the attributes of the feature related to this node.

By default, all nodes are checked. If the user uncheck any node, the feature(s) related to this node would be unhighlighted, and also the feature(s) would be removed from the selection set. If the user check it again, the the related feature(s) will be selected/highlighted again. If the user click a leaf node, all the other nodes will be unchecked, only one feature which related to this node is selected and highlighted. So the user can isolate the feature what he/she wants.

We will use the JxLib to draw the Panel. For Fusion viewer, we don't have too many difficulties, because we are using the JxLib currently. However, for AJAX viewer, we need to introduce the JxLib. And the JxLib is about 250KB compressed, it would double the download size of basic viewer which currently is about 200KB. Our solution is, we will use the download builder to get a smaller file of JxLib. In this file we only include the components which we want, e.g. Jx.Tree. And also, we can use gzip to compress the JxLib file and its css file. So we can get the JxLib file down to 24KB with gzip compression. Then it won't affect the download size of basic viewer obviously.

Implications

This change will increase the download size of basic viewer about 1/10th. No changes to the Server code.

Test Plan

N/A

Funding/Resources

Supplied by Autodesk

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.