{"id":82,"date":"2007-11-25T21:29:54","date_gmt":"2007-11-26T02:29:54","guid":{"rendered":"http:\/\/www.kralidis.ca\/blog\/2007\/11\/25\/mapserver-sos-server-updates\/"},"modified":"2007-11-25T21:32:08","modified_gmt":"2007-11-26T02:32:08","slug":"mapserver-sos-server-updates","status":"publish","type":"post","link":"https:\/\/www.kralidis.ca\/blog\/2007\/11\/25\/mapserver-sos-server-updates\/","title":{"rendered":"MapServer SOS Server Updates"},"content":{"rendered":"<p>This past week has seen alot of activity in MapServer&#8217;s SOS Server Support.  Remember when I posted about <a href=\"\/blog\/2007\/10\/15\/mapserver-sos-and-swe-datablock\/\" title=\"DataBlock\">DataBlock<\/a>?  Well, Assefa did a great job in initially implementing this, and you can see the results in action <a href=\"http:\/\/sos-web.tamu.edu\/sos-cgi\/top_obs\" title=\"right here\">right here<\/a>.  I&#8217;m going to be working on ensuring the XML conformance as per the SOS and OM standards, but it&#8217;s great to see this working!<\/p>\n<p>This weekend, I added <a href=\"http:\/\/trac.osgeo.org\/mapserver\/ticket\/2379\" title=\"POST support\">POST support<\/a>.  The SOS standard states that POST must be supported for all requests (except for GetCapabilities, which may be GET only).  As a result, both GET and POST are now supported for all requests.  I used <a href=\"http:\/\/www.xmlsoft.org\/\" title=\"libxml2\">libxml2<\/a>&#8216;s <a href=\"http:\/\/www.xmlsoft.org\/html\/libxml-xpath.html\" title=\"XPath\">XPath <\/a>support to parse the requests.  <a href=\"http:\/\/www.w3.org\/TR\/xpath\" title=\"XPath\">XPath<\/a> is an awesome way to parse XML!  Support is not fully completed yet, as eventTime, result, and featureOfInterest are still yet to be implemented for POST (they are implemented for GET).<\/p>\n<p>It will be interesting to see the mileage DataBlock gets.  Especially seeing that now MapServer SOS presents a nice compact option to disseminate observation data over the web.<\/p>\n<link rel=\"stylesheet\" href=\"http:\/\/cdn.leafletjs.com\/leaflet-0.5\/leaflet.css\" \/>\n<!--[if lte IE 8]>\n  <link rel=\"stylesheet\" href=\"http:\/\/cdn.leafletjs.com\/leaflet-0.5\/leaflet.ie.css\" \/>\n<![endif]-->\n<script src=\"http:\/\/cdn.leafletjs.com\/leaflet-0.5\/leaflet.js\"><\/script>\n<style type=\"text\/css\">#map82 { width: 300px; height: 200px; }<\/style>\n\n<div id=\"map82\"><\/div>\n<script type=\"text\/javascript\">\n  var map82 = L.map('map82').setView([43.620495, -79.513198], 10);\n  L.tileLayer('http:\/\/{s}.tile.osm.org\/{z}\/{x}\/{y}.png', {\n      attribution: '&copy; <a href=\"http:\/\/osm.org\/copyright\">OpenStreetMap<\/a> contributors'\n  }).addTo(map82);\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>This past week has seen alot of activity in MapServer&#8217;s SOS Server Support. Remember when I posted about DataBlock? Well, Assefa did a great job in initially implementing this, and you can see the results in action right here. I&#8217;m going to be working on ensuring the XML conformance as per the SOS and OM [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,7,3,11],"tags":[],"class_list":["post-82","post","type-post","status-publish","format-standard","hentry","category-geospatial","category-open-source","category-technology","category-web"],"_links":{"self":[{"href":"https:\/\/www.kralidis.ca\/blog\/wp-json\/wp\/v2\/posts\/82","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kralidis.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kralidis.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kralidis.ca\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kralidis.ca\/blog\/wp-json\/wp\/v2\/comments?post=82"}],"version-history":[{"count":0,"href":"https:\/\/www.kralidis.ca\/blog\/wp-json\/wp\/v2\/posts\/82\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.kralidis.ca\/blog\/wp-json\/wp\/v2\/media?parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kralidis.ca\/blog\/wp-json\/wp\/v2\/categories?post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kralidis.ca\/blog\/wp-json\/wp\/v2\/tags?post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}