Posted by & filed under open geoportal.

Fresh tax parcels deserve fresh popups! SLC OGP GetFeatureInfo requests are now displayed in beautiful GeoExt popup panels.

You can have multiple popups open at once, unpin them from their feature and expand to fit the screen. Check it out!

Posted by & filed under open geoportal.

I’ve recently completed a few updates to the St. Lawrence County Open GeoPortal application.

  • Set “resize” transition effect on all single tile WMS layers
  • Added a nice little animated loading gif for all you impatient clickers out there
  • Included a KML upload utility (currently does not support compressed KMZ format)
  • Included a Spot Elevation tool, which utilizes the USGS Elevation Query Web Service
  • Upgraded to ExtJS 3.2.1
  • Upgraded to Development Version of OpenLayers 3 (includes upgrade to GmapV3)
  • Added 2010 Tax Parcels layer

Enjoy the updates and keep in touch!

Posted by & filed under geoexplorer, hacks.

Implementing a dropdown list of “Quick Zooms” in GeoExplorer.

Prerequisites: Make sure you’re working off a development version of the GeoExplorer.js file, per my previous post.

Background: We will be incorporating an ExtJS Combo Box into the GeoExplorer toolbar where users can select a predefined “Quick Zoom”, which will zoom the map to a set extent.  This hack is based on the following ExtJS sample: http://www.sencha.com/deploy/dev/examples/form/combos.html.

Step 1:

  • Build a simple data array store
    • Open index.html and paste the following code before the line “var app = new GeoExplorer.Composer”:
    • Ext.namespace(‘Ext.selectdata’); Ext.selectdata.zooms = [ ['-76.05971168', '44.0021275', '-74.32601832', '45.0641225', 'St. Lawrence (County)'], ['-74.824079', '44.781062', '-74.75695', '44.820802', 'Brasher Falls-Winthrop (Village)'], ['-75.195351', '44.57916', '-75.134151', '44.623117', 'Canton (Village)'], ['-75.266038', '44.312554', '-75.237355', '44.333564', 'Edwards (Village)'], ['-75.485823', '44.324122', '-75.443832', '44.348731', 'Gouverneur (Village)'], ];
    • This defines the spatial extent and label for each Quick Zoom
    • Next we have to define the data store using the above data, by pasting the following code directly after it
    • var zoomstore = new Ext.data.ArrayStore({
      fields: [{ name : 'ymin', type: 'float'}, { name : 'xmin', type: 'float'}, { name : 'ymax', type: 'float'}, { name : 'xmax', type: 'float'}, { name : 'label', type: 'string'}],
      data : Ext.selectdata.zooms
      });

Step 2:

  • Add the Quick Zoom combo box to the GeoExplorer toolbar
    • Open GeoExplorer.js and search for “enable3DButton”.  The first instance should be the code that defines the button.. “var enable3DButton = new Ext.Button({…”  The next instance adds the button to the toolbar (this is the instance we want).  Since this is the last button in the toolbar, we want to add our Quick Zoom dropdown after this.
    • Paste the following code after “enable3DButton,” (don’t forget the comma after enable3DButton):
    • “->”,
      new Ext.form.ComboBox({
      tpl: ‘<tpl for=”.”><div ext:qtip=”{label}”>{label}</div></tpl>’,
      store: zoomstore,
      displayField:’label’,
      typeAhead: true,
      mode: ‘local’,
      forceSelection: true,
      triggerAction: ‘all’,
      width:125,
      emptyText:’Quick Zooms’,
      selectOnFocus:true,
      listeners: {‘select’: function (combo,record){this.mapPanel.map.zoomToExtent(new OpenLayers.Bounds(record.data.ymin,record.data.xmin,record.data.ymax,record.data.xmax).transform(new OpenLayers.Projection(“EPSG:4326″), new OpenLayers.Projection(“EPSG:900913″)));},
      scope:this}})
    • The “->” bit aligns the combobox to the far right side of the toolbar.  The select listener calls an OL zoomToExtent function- and transforms our unprojected coordinates to the defined map projection coordinate system- EPSG:900913.

Refresh your GeoExplorer site and make sure everything is working correctly.  If you run into troubles, use the Firebug extension for Firefox to view the error console.  Most likely there is a simple syntax error (missing comma or unclosed brackets, etc.)

Posted by & filed under geoexplorer, hacks.

This is the first in a series of posts I will be writing which describe how to implement some modifications to GeoExplorer, a core component of the OpenGeo Suite by OpenGeo.

Step 1 in any attempt to modify GeoExplorer should be to swap out the minified production GeoExplorer.js script which ships with GeoExplorer and replace it with the nicely formatted and conveniently commented development version of the GeoExplorer.js script

  • Search your install directory for the GeoExplorer.js file
    • On a default windows installation of the OpenGeo Suite (2.0) this file should be located here: C:\Program Files\OpenGeo\OpenGeo Suite\webapps\geoexplorer\WEB-INF\narwhal\packages\geoexplorer\client\script
  • Open GeoExplorer.js in a text editor such as Notepad++
  • Search for GeoExplorer.Composer and delete everything before this reference
  • Browse out to OpenGeo’s GeoExplorer.js source file on their Subversion site
  • Select All and Copy to your Clipboard
  • Paste this code before the GeoExplorer.Composer reference in your local GeoExplorer.js file

Refresh your GeoExplorer site and make sure everything is working correctly.  If so, you now have a working development version of GeoExplorer, which will be much easier to hack your way around.

My next post will describe how to include a dropdown list of “Quick Zooms”, similar to what I’ve done here.

Posted by & filed under geoexplorer, hacks.

I’ve been spending a lot of time over at OpenGeo’s GetSatisfaction page lately.  This is a great resource and a shining example of OpenGeo’s commitment to their user community.  Turnaround time for questions is quick and you often get answers directly from senior staff and developers.

I’m currently attempting to port the St. Lawrence County Open GeoPortal site over to the GeoExplorer platform.  GeoExplorer, a component of OpenGeo’s OpenGeo Suite provides a much more scalable platform, which is also easier to maintain and update- however, I wanted to retain some of the advanced functionality from my existing OpenLayers/ExtJS site- specifically tax parcel search capabilities, municipal quick zooms, and an organized tree structure for the layer list.  I’ve also made a few smaller tweaks, including a map loading icon, metadata tab, disclaimer popup, and some changes to the default WMS tiling and transition effects.

Here’s what I’ve got so far: http://www.opengeohost.com/slcgeoexplorer/

Since there seems to be quite a bit of interest in these mods over at the GetSatisfaction forum, I’ve decided to post some brief documentation and code snippets to help others get going with this type of GeoExplorer customization.  Check back often in the coming weeks as I will be posting the hacks piecemeal when I can free up some time!

Posted by & filed under Uncategorized.

The St. Lawrence County Open GeoPortal application has been awarded a Spotlighting Progressive Implementation of Revered Innovative Technology (SPIRIT) Award 2010 for Business and Industry by the St. Lawrence County Information Technology Committee!  Full press release here.

This recognition comes just as the Open GeoPortal platform is beginning to really take off!  I have recently presented at several regional GIS user group meetings and will be presenting an overview of Open GeoPortal at the North Country Technology Symposium at Clarkson University on May 19th.  The feedback has been great and I’ve got a few potential implementations already lined up.  Drop me a line if you’re curious about this “award winning” initiative.

UPDATE: The 2010 SPIRIT Award for Business and Industry was sponsered by the Adirondack Initiative for Wired Work at Clarkson University.  The Adirondack Initiative aims to promote technology and services that encourage commerce and entrepreneurship with negligible impact on the natural environment.  Their “Forever Wired” slogan plays on the Adirondack “Forever Wild” clause and encourages economic development in this somewhat remote region via telecommuting and green tech commerce.  The Adirondack Initiative mascot is a bear working in the woods…

Photos of the SPIRIT Award