Blog from March, 2010

Work Completed

  • Worked on MarketMaker
    1. MM-105 - enhanced the SelectFeature class of GWT-OL to allow adding multiple vector layers since the OpenLayers class has the capability of selecting from multiple vector layers.
    2. MM-34 - added capability to display and select/deselect census tracts with a single click. A GWT-OL bug prevented this feature from working even though it worked in pure Javascript. MM-110 addressed the issue with a workaround.
    3. MM-110 - Create UI widgets to turn on/off single click and box selection of features.
    4. MM-111 - bug, users could select census tracts even if the layer was turned off.
  • Tested Marketmaker before release to find bugs.
  • Read through Al and Shawn's documentation on Siege, ELF, Ogrescript, etc, tools that will be involved in the KISTI project. Downloaded the Siege and Elf plugins and launched Siege 3.0 to familiarize myself with the tool and it's capabilities.
  • Released Marketmaker version 0.3 on Wednesday as planned.

Work Planned

  • Work on Marketmaker project for Wednesday release of version 0.3
  • Read through documentation of Siege/ELF/Ogrescript for KISTI project.

Comments

This week went as planned. I intend to take 3 days off next week (March 29, 30 and April 1st).

Work Completed

  • MarketMaker (resolved/closed issues)
    1. MM-26 and MM-37 - The first issue involved the display of common map services such as Google/Yahoo/Bing for the MarketMaker mapping tool; however, Bing maps had no wrapper classes in gwt-openlayers and I could not determine what the issue was in wrapping the classes required. I found some new information and wrapped the Bing map classes (MM-37) and resolved both issues. Users can now choose which map service they want to display in the background.
    2. MM-77 - I decoupled the control functionality for the background layer and the actual changing of the map layer to a separate class that listens for change events.
    3. MM-78 - Similarly for the census layer, I decoupled the control of the layer from the manipulation of the layer.
    4. MM-79 - Added an option to the tablemodel to not display column names for data being displayed in table format that does not require the headers.
    5. MM-81 - The business layer visibility was inconsistent with the UI control. I changed the layer to start out as not visible since no businesses display by default and when a user performs a query that adds businesses, a UI event fires to change the visibility and synchronize this change with the control widget.
    6. MM-83 - Changed the default background map from the Yahoo map to the Google Hybrid map.
    7. MM-93 - Fixed a bug where opacities were being set outside the range of 0 - 1 and IE 8 would not load the application.
  • I also worked on testing the software this week to determine areas of possible UI improvements. I made Jira entries for bugs, improvements and new features that would improve the software usability.
  • Attended part of the MarketMaker meeting on March 16 at 1:30pm, google-chat went down partway through the meeting so I missed the demo and discussion that Jong had with the MarketMaker folks.
  • Attended Friday, 1pm CET Meeting via google chat

Work Planned

  • Work on MarketMaker project. Jong and I have meetings on most mornings either through IRC or Google Chat to discuss upcoming tasks.
  • Attend CET Staff Meeting
  • Attend MarketMaker meeting

Comments

This week went as planned.

Work Completed

  • MarketMaker (resolved issues)
    1. MM-60 - display business query results in a flex table displaying business name, address, web address, etc
    2. MM-61 - related to previous issue
    3. MM-64 - bug with selection and highlighting between tables and the map, the user could end up with two selections overlapping
    4. MM-65 - related to MM-60 and MM-61, when the table is rebuilt there are blank rows added to the table.
    5. MM-70 - box selection in the map sometimes draws in the wrong part of the map (map update issue)
    6. MM-71 - the layer containing the highlighted census tracts is not removed when the census tracts are removed
    7. MM-72 - disconnect between the business display layer and the control widget, the visibility of the businesses was not being controlled by the control widget as new business types were queried.
    8. MM-73 - highlighting businesses stopped working after the initial query
    9. MM-76 - when a business is selected, it is highlighted and a popup shows information, this did not always clear when a new selection was made. A state could be obtained where the business was unselected and the popup remained in the map, or the marker remained in the map.
  • Meeting with Jong almost daily to determine our daily tasks
  • Released and Tagged version 0.2 of MarketMaker

Work Planned

  • Release and Tag MarketMaker v0.2
  • Meet with Jong to discuss daily tasks

Comments

This week went as planned. I took half a day off for a Doctor's appointment on March 9th.

Work Completed

  • Finished MM-35, displaying multiple census tract information in an attribute table and a summary table (e.g. attribute min, max, avg, etc). This also involved MM-46, displaying information using a table and tablemodel to handler table operations and MM-43, getting feature information from the vector data on the geoserver instead of the wms layer.
  • Fixed MM-49, a bug where the popup window no longer displayed when clicking on a business. This also involved fixing MM-50 where a new layer was created when a new business query was used to generate display results. The SelectFeature class which handles selection in OpenLayers no longer had an reference to the current business feature layer.
  • Fixed MM-51, a bug where the selection point was larger than the point being selected (mismatched radius of the circles).
  • Fixed MM-53, the business layer control in the layer control panel did not control the visibility of the correct layer. This was caused by the index of the layer being incorrectly specified when creating the control.
  • Finished MM-54, selecting a row in the attribute table should highlight the corresponding census tract in the map. This also involved MM-42, Event Bus design. We can simplify event handling by using GWT event bus. I discussed briefly with Jong and Luigi using google chat about Luigi's implementation versus what I had done to make sure that our usage of the event bus was correct and he agree with our implementation. I also requested from Rob to have read access to MMDB so I could get an idea of how they were using the Event Bus in the MMDB project.
  • I started looking briefly at dynamically resizing the map to fill the browser window space MM-56. I'm not certain if we should try to dynamically adjust the map to the window since a view that is too small is not very useful so perhaps we should consider determining the client viewing area and grab some percentage of that space and make that the size of the map widget. I will discuss this issue with Jong.
  • Received access to KISTI supercomputing account for the KISTI project

Work Planned

Comments

This week went as planned.

Work Completed

  • Morning meetings with Jong with google chat to discuss each day's tasks.
  • Looked into MAEviz issue for Sheng-Lin and discovered a small bug in MAEviz. I still need to file this bug and issue a patch. The problem arises from the scenario earthquake not recording the site-class specified by the user as default. This is only discovered if you go back and re-run the earthquake analysis with the saved scenario eq and if you changed the default site class. The initial run is fine because the EQ settings are in main memory.
  • Completed MM-38, wrapping the OpenLayers JavaScript mergeNewParams method of the WMS layer.
  • Wrapped the ClickHandler from the OpenLayers so that feature information would display on a single click of a feature and double click would recenter and zoom, MM-34.
  • Worked on MM-43, replacing our GetFeatureInfo (WMS) requests with GetFeature (WFS) requests using box selection to replace the single-click only selection. This issue is tied to MM-34 since the single click of the feature initially used WMS calls to obtain feature information. One issue I have been unable to track down thus far is my GetFeature control should allow users to use box selection and single-click; however, I have only been able to get this to work in pure JavaScript. Single click events don't seem to be getting propogated back to the wrapped objects to handle. We have tabled the single click for now, but will return to this issue shortly to resolve it.
  • Worked on MM-35, displaying a summary table of census tract information when box selection is used to select multiple tracts. A first cut is available that displays min, max, avg and sum for each variable. Some work remains on this feature and I will work on them next week.

Work Planned

Comments

This week went as planned. Next week we'll continue working to finish some of the above features for the MarketMaker project and possibly starting the KISTI project.