Version 63 (modified by 13 years ago) ( diff ) | ,
---|
GeoExplorer
Table of Contents
Work has started to integrate OpenGeo's GeoExplorer as an alternate/replacement Map Viewing Client.
The new approach is to simply pull in desired functionality from gxp directly.
Why?
- Good for Users to use consistent tools across applications
- Good for Developers to be part of a bigger community
- We want to rewrite to have most of the app in static JavaScript with module pattern anyway
- ease contributions from JavaScript developers (who may be put off the Python part)
- support caching
- There are some cool features available which we'd like to make use of
Links
- Sahana Demo site
- OpenGeo Demo site
- Geoexplorer Documentation
- OpenGeo Wiki
- OpenGeo are using GeoExplorer as part of GeoNode:
- These tools will be merged with GeoExplorer:
How
- GeoExplorer GitHub
- GXP GitHub - toolset upon which GeoExplorer is built
- OpenGeo Community Forum
- GeoExplorer extends gxp.Viewer
- Composer extends GeoExplorer (adds left 3 buttons)
Server shouldn't write out JavaScript:
- config should be passed between client & server using JSON config objects
Feature Comparison
GeoExplorer has which MVC doesn't
- Save personalised, bookmarkable map views (layers / viewport)
- Browse for new WMS servers/layers
- Google Earth 'layer'
- Legend panel for WMS layers
- Add/Edit WFS features
- Style GeoServer layers
- Dynamic Opacity setting
- Print support more complete
- Warning for unsupported layers (now removed?)
- Implementation of 'group' for different layer folders (can use this for Internal/External feeds)
- Icons in top toolbar ('north') instead of Map panel title: more screen real-estate for map & potentially space for more icons (although good to keep uncluttered if possible)
MVC has which GeoExplorer doesn't
NB It should be relatively easy to patch some of these in within Sahana (using a slightly-modified version of the existing Python code) as an interim measure to getting them added to the GeoExplorer JavaScript libraries
(crossed-out lines here have been implemented, some like that).
- WFS Layers
- Extra Google layers (MapMaker)
- Yahoo layers
- WMS Browser (do we need this with the multi-server browser?)
- Overview map
Internal feature layersKML/GeoRSS/GPX layersExtra OSM layers (CycleMap, Hillshading, Taiwan, Custom)Potlatch2 integrationHTML5 GeoLocation supportGeoNames SearchMouse Pointer: Lat/Lon & MGRS- Configurability
- can we embed a map into a page?
- should be possible by using an Ext.Panel:
config[portalConfig]: ``Ext.Panel`` if it has a ``renderTo`` property, or an ``Ext.Viewport`` otherwise
- should be possible by using an Ext.Panel:
- can we have a popup window for the LocationSelector?
- Switching to Ext.Window isn't easy. Overriding initPortal in Sahana.js means we lose the toolbar/layerContainer/legendContainer
- can each button have an enabled option?
- can we embed a map into a page?
Issues with GeoExplorer
Outstanding
- How do we get Editable Features?
- assume they should be WFS
- How do we get Styler to open for GeoServer layers?
- Internal Feature Layers need to populate the Legend
- Clustering isn't working
- Localisation
- get the i18n strings added to the PO files on Pootle (via Python .py? or separate process?)
- text strings are sometimes still hidden in private methods not separate public variables (resolved now?)
- http://www.sencha.com/learn/Tutorial:Localizing_Ext
- Published maps:
viewer#maps/id
- NB web2py doesn't see the '#'
- Doesn't appear to read the config at all!
- Viewer sends about to geoexplorer/about.html
- How to edit Title/Abstract(Description)/Contact when saving a map?
- How to save a WMS Server when saving a Map? (
"source":"source78"
) - Not clear when saving whether this is a New map or an Update
- Should have a 'Save As' option
- scaleLinePanel ugly: remove the Scale Chooser?
- Layer-Switcher in Embedded View not as nice...why different UI (just that we have less space not a reason since we can collapse mini)
- HTML5 geoLocation isn't always reliable (sometimes screen just flashes & the viewport doesn't go to correct location)
- Rewrite Internal Feature Layers:
- Enable dynamic loading (load via AJAX instead of writing out in page. => Can refresh on a timer to get auto-updated without downloading the basemap again)
- Parse config from
/eden/gis/layer_feature.json
- Enable dynamic opacity setting
- Rewrite KML/GeoRSS/GPX feeds:
- Parse config from
/eden/gis/layer_kml.json
- Single Store for all layers. (No need to support pulling config from multiple Sahana's. Also makes it easier for the caching/unzipping)
- Future: Make it easy to Add new Feeds within GeoExplorer via
/eden/gis/layer_kml/create.json
- Caching / unzipping of KMZs means that we don't just want to read the config but also to initiate the server-side processes for this functionality
- Parse config from
Changed
Local to Sahana:
- OSM uses
TMSSource.js
to allow displaying across the dateline [gxp/loader.js
] - Base layers above Overlays [
GeoExplorer.js
]- NB if try to
//expanded: true,
then get weird effects with 1 baselayer appearing on load & a different one when the Base Layers folder is opened
- NB if try to
Fixed
- All pushed upstream: https://github.com/opengeo/GeoExplorer/pull/1
Note:
See TracWiki
for help on using the wiki.