<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml">

<channel>
	<title>tommy&#039;s scratchpad &#187; open source</title>
	<atom:link href="http://www.kralidis.ca/blog/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kralidis.ca/blog</link>
	<description>I use this blog to post my thoughts and random stuff from time to time.  See my About page for more info about me.  Note that my views and opinions expressed here are my own and do not reflect the views of my employer</description>
	<lastBuildDate>Fri, 25 Jun 2010 18:23:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Geoprocessing with OGR and PyWPS</title>
		<link>http://www.kralidis.ca/blog/2010/06/25/geoprocessing-with-ogr-and-pywps/</link>
		<comments>http://www.kralidis.ca/blog/2010/06/25/geoprocessing-with-ogr-and-pywps/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 18:14:23 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=497</guid>
		<description><![CDATA[PyWPS is a neat Python package supporting the OGC Web Processing Service standard.  Basic setup and configuration can be found in the documentation, or Tim&#8217;s useful post. I&#8217;ve been working on a demo to expose the OGR Python bindings for geoprocessing (buffer, centroid, etc.). Here&#8217;s an example process to buffer a geometry (input as WKT), [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/06/25/geoprocessing-with-ogr-and-pywps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Displaying GRIB data with MapServer</title>
		<link>http://www.kralidis.ca/blog/2010/06/04/displaying-grib-data-with-mapserver/</link>
		<comments>http://www.kralidis.ca/blog/2010/06/04/displaying-grib-data-with-mapserver/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 23:02:07 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=485</guid>
		<description><![CDATA[I recently had the opportunity to prototype WMS visualization of meteorological data.  MapServer, GDAL and Python to the rescue!  Here are the steps I took to make it happen. The data, (GRIB), is a GDAL supported format, so MapServer can handle processing as a result.  The goal here was to create a LAYER object.  First [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/06/04/displaying-grib-data-with-mapserver/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>OWSLib CSW Updates and Implementation Thoughts</title>
		<link>http://www.kralidis.ca/blog/2010/05/07/owslib-csw-updates-and-implementation-thoughts/</link>
		<comments>http://www.kralidis.ca/blog/2010/05/07/owslib-csw-updates-and-implementation-thoughts/#comments</comments>
		<pubDate>Sat, 08 May 2010 01:34:28 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=477</guid>
		<description><![CDATA[I&#8217;ve had some time to work on CSW support in OWSLib in the last few days.  Some thoughts and updates: FGDC Support Added Some CSW endpoints out there serve up GetRecords responses in FGDC CSDGM format.  This has now been added to trunk (mandatory elements + eainfo).  Note that csw:Record (DMCI + ows:BoundingBox) and ISO [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/05/07/owslib-csw-updates-and-implementation-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Batch Centroid Calculations with Python and OGR</title>
		<link>http://www.kralidis.ca/blog/2010/04/28/batch-centroid-calculations-with-python-and-ogr/</link>
		<comments>http://www.kralidis.ca/blog/2010/04/28/batch-centroid-calculations-with-python-and-ogr/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 14:19:16 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=465</guid>
		<description><![CDATA[I recently had a question on how to do batch centroid calculations against GIS data. OGR to the rescue again! Using OGR&#8217;s Python bindings (GDAL/OGR needs to be built &#8211;with-geos=yes), one can process, say, an ESRI Shapefile, and calculate a centroid for each feature. The script below does exactly this, and writes out a new [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/04/28/batch-centroid-calculations-with-python-and-ogr/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>45.500647 -73.554947</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>NYC Sprint is Upon Us</title>
		<link>http://www.kralidis.ca/blog/2010/02/19/nyc-sprint-is-upon-us/</link>
		<comments>http://www.kralidis.ca/blog/2010/02/19/nyc-sprint-is-upon-us/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 20:28:07 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=441</guid>
		<description><![CDATA[Building on the Toronto Code Sprint 2009 (I had the honour of helping Paul set this up), this year MapServer, GDAL, PostGIS, etc. devs are headed to to the Big Apple for the New York Code Sprint 2010.  Having participated in last year&#8217;s event, I can say that it is a fun, spirited and productive [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/02/19/nyc-sprint-is-upon-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>GeoScript</title>
		<link>http://www.kralidis.ca/blog/2010/02/19/geoscript/</link>
		<comments>http://www.kralidis.ca/blog/2010/02/19/geoscript/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 20:01:07 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=439</guid>
		<description><![CDATA[GeoScript looks like a neat effort to leverage GeoTools into Python (an increasingly widely used language for GIS scripting) and JavaScript. I love this for JavaScript, and I wonder how this relates to the other Python work out there (like Shapely and WorldMill); Sean? Written from home: window.onload=function() { var point439 = new GLatLng(43.663194, -79.575653); [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/02/19/geoscript/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Why XML Libraries Rock</title>
		<link>http://www.kralidis.ca/blog/2010/02/03/why-xml-libraries-rock/</link>
		<comments>http://www.kralidis.ca/blog/2010/02/03/why-xml-libraries-rock/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 23:46:44 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=433</guid>
		<description><![CDATA[msautotest is MapServer&#8217;s way of unit testing and sanity checking various features and bug fixes. When testing the addition of AuthorityURL and Identifier support in WMS Capabilities XML, I found an issue with the output being invalid XML, which was tested and fixed. Another fix was then added to ensure valid XML (isn&#8217;t open source [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2010/02/03/why-xml-libraries-rock/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>45.545823 -73.738539</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Why I Love Linux</title>
		<link>http://www.kralidis.ca/blog/2009/12/11/why-i-love-linux/</link>
		<comments>http://www.kralidis.ca/blog/2009/12/11/why-i-love-linux/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 02:48:09 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=409</guid>
		<description><![CDATA[$ uptime 21:20:01 up 112 days,  9:06,  1 user,  load average: 0.05, 0.09, 0.18 Written from home: window.onload=function() { var point409 = new GLatLng(43.663194, -79.575653); var map409 = new GMap2(document.getElementById("map409")); map409.addControl(new GSmallMapControl()); map409.setCenter(point409, 10); var icon409 = new GIcon(); icon409.image = "http://labs.google.com/ridefinder/images/mm_20_red.png"; icon409.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png"; icon409.iconSize = new GSize(12, 20); icon409.shadowSize = new GSize(22, 20); [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2009/12/11/why-i-love-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Python, KML and Parishes</title>
		<link>http://www.kralidis.ca/blog/2009/09/16/python-kml-and-parishes/</link>
		<comments>http://www.kralidis.ca/blog/2009/09/16/python-kml-and-parishes/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 13:51:20 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=375</guid>
		<description><![CDATA[When looking for phone numbers for various churches, I thought wouldn&#8217;t it be neat to put the locations on a map? Python to the rescue.  After some scraping to generate a CSV listing, I geocoded the addresses, then I used the OGR to convert into a KML document, using the same approach I previously blogged [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2009/09/16/python-kml-and-parishes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
		<item>
		<title>Friday Metadata Thoughts</title>
		<link>http://www.kralidis.ca/blog/2009/06/12/friday-metadata-thoughts/</link>
		<comments>http://www.kralidis.ca/blog/2009/06/12/friday-metadata-thoughts/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 19:00:38 +0000</pubDate>
		<dc:creator>tomkralidis</dc:creator>
				<category><![CDATA[geospatial]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.kralidis.ca/blog/?p=340</guid>
		<description><![CDATA[Not the most exciting topic, but I&#8217;ve found myself knee deep in metadata standards as they pertain to CSW in the last couple of weeks. I&#8217;ve made some recommendations in the past for OWS metadata, which have helped in established publishing requirements for cataloguing. Starting to look at ISO metadata (data, service) makes you quickly [...]]]></description>
		<wfw:commentRss>http://www.kralidis.ca/blog/2009/06/12/friday-metadata-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
			<georss:where>
			<gml:Point>
				<gml:pos>43.663194 -79.575653</gml:pos>
			</gml:Point>
		</georss:where>	</item>
	</channel>
</rss>
