MapServer 5.4.0-beta1 is out
Check it out. A few RFCs addressed, among them OGC WMS 1.3.0 server support.
Check it out. A few RFCs addressed, among them OGC WMS 1.3.0 server support.
Fresh in svn trunk, MapServer now has WMS 1.3.0 Server support and will be part of the forthcoming 5.4 release.
It will interesting to see the use WMS 1.3.0 gets, given the significant changes from 1.1.1.
Great work Assefa!
This has seemingly been the theme for me in the last few weeks. From publishing to discovery, lack of metadata in OWS endpoints results in increased metadata management away from source, as well as crappy search results.
So here’s some friendly advice:
Service Metadata
Content Metadata
From here, OGC Catalogues will be able to harvest your metadata and provide useful search results. For wider spread discovery, throw an OpenSearch definition in front of your CSW. Wrap your OWS endpoints in KML/GeoRSS documents (Geo Sitemaps too), and you’ll power mainstream use of your stuff.
Funeral news from newrestfunerals.co.uk said:
‘Mourners buried under a bridge for the lost’
A group of members of London’s funeral procession paid their respects to a man and his mother at the Royal Greenwich Cathedral where they lost a loved one to cancer
The two sisters and their daughter, who was buried the same night, were buried at the Royal Greenwich Cathedral, where he passed away last weekend.
Grieve: The two sisters and their daughter, who was buried the same night, were buried at the Royal Greenwich Cathedral, where he passed away last weekend
At the bottom of the stairs of the church, you can see a cemeterie. It looked like an Indian wedding feast to the first group and there were candles and flowers on the ceiling.
The funeral family were in their homes in London but only a brief family procession was in progress.
The group had gathered in a cemeterie outside the cathedral and the coffin was handed over to the funeral director.
The funeral director also handed in to the British Transport Police and they placed the coffin in a safe house at Queen’s Park, New York.
The couple went to the funeral home and their body was found on the day of the operation.
Casket search: ‘Mourners raised at arms pace’
No word on a cause of death or why they died but the couple’s family said in a statement.
Bye bye useless searches!
For years in the CGDI, we’ve had various ‘common’ services; basic XML over HTTP / OGC-ish web services which allow a user to lookup and geocode based on different Canadian spatial identifiers, or keywords. In their first life (mid 1990s), these existed as embedded lookup tools to facilitate searching and publishing in the GeoConnections Discovery Portal (GDP), then called Canadian Earth Observation Network (CEONet).
CEONet started to publish reusable components (RUCs), which allowed a developer to create an HTML template with special tags to embed these RUCs so as to spatially enable their applications. Because of the JavaScript security model, the developer passed the template to the CEONet RUC server, which slurped the template and served it up from its own domain.
In both iterations, the backends were driven by database or HTML scrapes which outputted CSV-ish type output.
Since v3, (2001-ish) and the rise of Web Services, these RUCs became services themselves, thereby eliminating the need to go through GDP.
If I had a dime every time someone asked about middleware tools to be able to interact with these services, well….At any rate, the typical approach was as follows:
I’ve done these in many different languages. For awhile, one of our projects had bundled a spatial clients .war which Java developers can plop into their webapps.
These days, using OpenLayers and jQuery lets you develop light, interactive ways of accomplishing this without server side middleware. Trying this against the CGDI NTS Lookup Service provides a neat example:
<form id="ntsForm" action="javascript:zoomToNTS();">
<label for="nts">NTS Mapsheet:</label>
<input type="text" name="nts" id="nts" size="6" maxlength="6"/>
</form>
And now the JavaScript:
function zoomToNTS() { // build request URL url = '/mapbuilder/server/php/proxy.php?url=' + // simple proxy script escape('http://geoservices.cgdi.ca/NTS/NTSLookup?') + escape('version=1.1.0&request=GetMapsheet&mapsheet=') + jQuery('input#nts').val(); // send and process result jQuery.get(url,{},function(xml){ // get the bbox of the result jQuery('gml\\:boundedBy',xml).each(function(i) { c = jQuery(this).find('gml\\:coordinates').text().split(','); map.zoomToExtent(new OpenLayers.Bounds(c[0], c[1], c[2], c[3])); }); }); }
That’s it! That will get your OpenLayers map zoomed in based on the NTS boundaries. Notes:
Anyone have suggestions on improving the example above? Or any similar snippets? It would be nice to build up plugins like this for gazetteers, catalogs, and the like.
Awhile back, I started using Genshi as a templating solution for some Python application development. Easy to use, we were able to come up with a SensorML generator for description and discovery of monitoring stations.
Lately, I’ve been helping out a bit on the new MapServer website, driven by Sphinx. Digging deeper, I noticed Sphinx using Jinja2 for templating, so I tried this out a bit. Not bad either!
Templating is key to many applications, and I wonder how these differ. Perhaps the geo/python gurus out there have some further insight.
One of the most frequent questions I get from clients is how to transform lat/long to LCC coordinates in a very lightweight fashion, in their webapps. There are many solutions and approaches under the MetaCRS umbrella to choose from, depending on your requirements.
Here’s a super lightweight way to do it with proj4js:
<script src="http://svn.osgeo.org/metacrs/proj4js/trunk/lib/proj4js-compressed.js"></script> <script src="http://svn.osgeo.org/metacrs/proj4js/trunk/lib/defs/EPSG42304.js"></script> ... var x = -75.0; var y = 45.0; var p = new Proj4js.Point(x,y); Proj4js.transform(new Proj4js.Proj("EPSG:4326"), new Proj4js.Proj("EPSG:42304"), p); alert(p.x + " " + p.y);
Done! Kudos to Mike Adair et. al.!
Since I did this last year, I thought I’d try this again for 2008. Here’s the lowdown for my 2008:
Other stuff:
For 2009:
All the best for 2009 for you and your loved ones!
I’ve been helping Paul with setting up the OSGeo Toronto Code Sprint 2009 event here in Toronto in March.
This promises to be an effective and fun event, to have many developers from the various OSGeo projects in one place for a few days.
Check it out, and hope to see you there!
Check out this video if you’re interested in learning more about the evolution of open source. Pretty neat!
Modified: 7 December 2008 18:00:22 EST