<?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/"
	>

<channel>
	<title>Just Subjects</title>
	<atom:link href="http://justobjects.org/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://justobjects.org/blog</link>
	<description>Just van den Broecke&#039;s weblog</description>
	<lastBuildDate>Fri, 20 Apr 2012 14:24:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>OSGeo Open Source Seminar at Geospatial World Forum</title>
		<link>http://justobjects.org/blog/2012/osgeo-seminar-gwf-2012</link>
		<comments>http://justobjects.org/blog/2012/osgeo-seminar-gwf-2012#comments</comments>
		<pubDate>Tue, 17 Apr 2012 11:11:47 +0000</pubDate>
		<dc:creator>just</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[GeoCetera]]></category>
		<category><![CDATA[osgeo]]></category>

		<guid isPermaLink="false">http://justobjects.org/blog/?p=116</guid>
		<description><![CDATA[The OSGeo Foundation has been invited to provide a 4-hour Open Source Seminar at the Geospatial World Forum. This event will take place on April 25, 2012 in the RAI Amsterdam, The Netherlands. As Trailblazer (Dutch &#8220;Kwartiermaker&#8221;) for the newly formed OSGeo.nl Dutch Language Chapter I was in charge of finding speakers and structuring the [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://osgeo.org">OSGeo Foundation</a> has been invited to provide a 4-hour<a title="Open Source Seminar at GWF Page" href="http://www.geospatialworldforum.org/2012/open.htm"> Open Source Seminar at the Geospatial World Forum</a>. This event will take place on April 25, 2012 in the <a href="http://maps.google.com/maps/place?q=RAI+Amsterdam,+The+Netherlands&amp;cid=11569527158754808632">RAI Amsterdam, The Netherlands</a>. As Trailblazer (Dutch &#8220;Kwartiermaker&#8221;) for the newly formed <a title="OSGeo.nl The Dutch OSGeo Chapter" href="http://osgeo.nl">OSGeo.nl Dutch Language Chapter</a> I was in charge of finding speakers and structuring the program with the valuable aid of <a href="http://arnulf.us/Arnulf_Christl">Arnulf Christl, president OSGeo</a>. For <a href="http://osgeo.nl">OSGeo.nl </a>this was an opportunity to expose our newly formed chapter. <a href="http://www.linkedin.com/in/willybakker">Willy Bakker </a>of OSGeo.nl is still busy trying to arrange OSGeo marketing exposure. I feel very happy and proud that all these experts in their respective fields committed to speak in 15-min slots (the GWF-format). I think the program also stands out in Variety: Open Source for Geospatial here is not just presented from a technical/developers&#8217; angle, but also from end-users&#8217; perspectives in local and global governments, from within education and from the pure business angle. As we have 11 speakers (of which even two presidents!), and hearing someone mutter in the social media about a &#8216;Dreamteam&#8217;, I could not resist collating the undesigned poster as below.</p>
<p><a title="The DreamTeam" href="http://justobjects.org/blog/2012/04/17/osgeo-seminar-gwf-2012/osgeo_opensource_gwf12_dreamteam-2/" rel="attachment wp-att-149"><img class="aligncenter  wp-image-149" title="OSGeo_OpenSource_GWF12_DreamTeam" src="http://justobjects.org/blog/wp-content/uploads/2012/04/OSGeo_OpenSource_GWF12_DreamTeam1.jpg" alt="" width="614" height="461" /></a></p>
<p>Below is also the detailed program as it stands now, small changes may occur. As there is little time for questions within the slots, we will devote the Forum at the end to Q&amp;A. Questions can also be posed, even if you are not there, via Twitter, by using the <a title="twitter tag for questions at GWF OS seminar" href="https://twitter.com/#!/search/realtime/%23gwfos">Twitter hashtag #gwfos</a>.</p>
<p style="text-align: center;"><a title="Click on image for full size." href="http://justobjects.org/blog/2012/04/17/osgeo-seminar-gwf-2012/open-source-gwf2012-final-3/" rel="attachment wp-att-151"><img class="wp-image-151 aligncenter" title="Open Source-GWF2012-final" src="http://justobjects.org/blog/wp-content/uploads/2012/04/Open-Source-GWF2012-final1-1024x842.jpg" alt="" width="657" height="539" /></a><a title="GWF OS Seminar Program" href="http://wiki.osgeo.org/images/b/bf/GeospatialWorldForum_2012_OpenSource_Seminar_Program.pdf">Click here for a PDF version of the program</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://justobjects.org/blog/2012/osgeo-seminar-gwf-2012/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SOTM and FOSS4G Conferences 2011 Denver</title>
		<link>http://justobjects.org/blog/2011/sotm-and-foss4g-conferences-2011-denver</link>
		<comments>http://justobjects.org/blog/2011/sotm-and-foss4g-conferences-2011-denver#comments</comments>
		<pubDate>Tue, 20 Sep 2011 13:07:19 +0000</pubDate>
		<dc:creator>just</dc:creator>
				<category><![CDATA[GeoCetera]]></category>
		<category><![CDATA[osgeo]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Colorado]]></category>
		<category><![CDATA[Denver]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[FOSS4G]]></category>
		<category><![CDATA[GeoSpatial]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[OSgeo]]></category>
		<category><![CDATA[osm]]></category>
		<category><![CDATA[SOTM]]></category>

		<guid isPermaLink="false">http://justobjects.org/blog/?p=83</guid>
		<description><![CDATA[What a great time it was in Denver, Colorado, USA ! Attended both the  OpenStreetMap State Of The Map (OSM SOTM) and the OSGeo Free and Open Source for Geo (FOSS4G) conferences between september 9 and 16, 2011. Went hiking in between  in the Rocky Mountains (State Park and Indian Peaks Wilderness) where I saw [...]]]></description>
			<content:encoded><![CDATA[<p>What a great time it was in Denver, Colorado, USA ! Attended both the <a title="stateofthemap.org" href="http://stateofthemap.org/"> OpenStreetMap State Of The Map (OSM SOTM)</a> and the <a href="http://osgeo.org">OSGeo</a> <a title="2011.foss4g.org/" href="http://2011.foss4g.org/">Free and Open Source for Geo (FOSS4G) </a>conferences between september 9 and 16, 2011. Went hiking in between  in the Rocky Mountains (<a href="http://www.nps.gov/romo/index.htm">State Park </a>and <a href="http://www.coloradowilderness.com/wildpages/indian.html">Indian Peaks Wilderness</a>) where I saw a live bear the first time of my life.</p>
<p><a href="http://justobjects.org/blog/?attachment_id=93" rel="attachment wp-att-93"><img class="aligncenter size-full wp-image-93" title="nederland-colorado-chipmunketc" src="http://justobjects.org/blog/wp-content/uploads/2011/09/nederland-colorado-chipmunketc.jpg" alt="" width="829" height="199" /></a><a href="http://justobjects.org/blog/?attachment_id=85" rel="attachment wp-att-85"><br />
</a>At my first SOTM I was impressed how strong and vibrant the <a href="http://openstreetmap.org">OSM community</a> is, how an ecosystem of tools, data, people and businesses is continuously expanding and how far &#8220;The Map&#8221; has progressed.  The FOSS4G at the Sheraton Hotel in downtown Denver was very well-organized with high technical/social value. FOSS4G is a must-go conference if you are into FOSS Geo.</p>
<p><a href="http://justobjects.org/blog/?attachment_id=86" rel="attachment wp-att-86"><img class="aligncenter size-full wp-image-86" title="denver-just-shots" src="http://justobjects.org/blog/wp-content/uploads/2011/09/denver-just-shots.jpg" alt="" width="831" height="203" /></a></p>
<p>Denver is a real city but with a country-like, mellow atmosphere. Socializing among the participants went smoothly, also since all major pubs were all directly near the Sheraton. The opening social night on tuesday at the <a title="www.wynkoop.com/" href="http://www.wynkoop.com/">&#8220;Wynkoop Brewery&#8221;</a> was an immediate hit. Many also went there on friday to close off. At FOSS4G I gave a talk on <a title="2011.foss4g.org/sessions/openstreetmap-and-inspire-can-twain-meet" href="http://2011.foss4g.org/sessions/openstreetmap-and-inspire-can-twain-meet">&#8220;OpenStreetMap and INSPIRE, Can the Twain Meet?&#8221;</a>.  You can find my slides in <a href="http://www.justobjects.nl/jo/assets/presentation/foss4g-2011/html/img0.html">HTML</a> or <a href="http://www.justobjects.nl/jo/assets/presentation/foss4g-2011/osm-inspire-foss4g2011-broecke.pdf">PDF</a>. I prefer staying in Bed &amp; Breakfasts these days: they are in general cheaper, cleaner and cozy compared to regular Hotels/Motels. I had a real pleasant stay at the <a href="http://www.denver-bed-breakfast.com">Holiday Chalet</a> on East Colfax, run by fashion designer <a href="http://signaturecrystalsharp.com/">Crystal Sharp</a> with her <a href="http://www.denver-bed-breakfast.com/images/clementine.jpg">Labrador Clementine</a>. Getting around in Denver was easy and healthy using the <a href="http://denver.bcycle.com/">Denver B-Cycle public bicycle sharing</a>. As I had no dataplan on my Android phone, I hacked out the B-Cycle station locations from the B-Cycle website and loaded them into my <a href="http://gpstracklog.com/2007/07/garmin-etrex-le.html">Garmin eTrex Legend HCx</a> handheld GPS. The bicycle station locations are also <a href="http://geocommons.com/overlays/154716">available on GeoCommons</a> another great geo-sharing site (from a.o. <a href="http://highearthorbit.com/">Andrew Turner</a>) I knew about but never had used before. In the Rocky Mountains I stayed in a <a href="http://www.airbnb.com/rooms/59868">lovely studio treehouse</a> found through <a href="http://www.airbnb.com">AirBnB</a> in the tiny place <a href="http://nederlandco.org/">Nederland, Colorado</a>.</p>
<p style="text-align: center;"><a href="http://justobjects.org/blog/?attachment_id=87" rel="attachment wp-att-87"><img class="aligncenter size-full wp-image-87" title="nederland-colorado" src="http://justobjects.org/blog/wp-content/uploads/2011/09/nederland-colorado.jpg" alt="" width="832" height="204" /></a></p>
<p>Stay tuned to the <a href="https://wiki.openstreetmap.org/wiki/State_Of_The_Map_2011">SOTM</a>, <a href="http://2011.foss4g.org/">FOSS4G</a> and <a href="http://www.fosslc.org/drupal/">FOSSLC</a> websites, since all sessions were recorded and will be made available there. Below some photo&#8217;s I made. Hikes with photo&#8217;s, video&#8217;s and GPX will become available on my <a href="http://georambling.com">GeoRambling website</a>. I should talk more on SOTM and FOSS4G session content but you can find also lots on the mentioned sites and tweets tagged with <a href="http://twitter.com/#!/search/%23foss4g">#foss4g</a> and <a href="http://twitter.com/#!/search/%23sotm">#sotm</a>.</p>
<p><a href="http://justobjects.org/blog/?attachment_id=88" rel="attachment wp-att-88"><img class="aligncenter size-full wp-image-88" title="colorado-hiking" src="http://justobjects.org/blog/wp-content/uploads/2011/09/colorado-hiking.jpg" alt="" width="831" height="202" /></a></p>
<p>Next year FOSS4G will be in Beijing, China ! Will SOTM also be held there ?</p>
]]></content:encoded>
			<wfw:commentRss>http://justobjects.org/blog/2011/sotm-and-foss4g-conferences-2011-denver/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OSGeo Code Sprint Bolsena 2010</title>
		<link>http://justobjects.org/blog/2010/osgeo-code-sprint-bolsena-2010</link>
		<comments>http://justobjects.org/blog/2010/osgeo-code-sprint-bolsena-2010#comments</comments>
		<pubDate>Fri, 23 Jul 2010 13:24:11 +0000</pubDate>
		<dc:creator>just</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[GeoCetera]]></category>
		<category><![CDATA[osgeo]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.justobjects.org/blog/?p=62</guid>
		<description><![CDATA[Like in 2009, I attended the OSGeo Code Sprint (and Hacking Event) in Bolsena, Italy during June 6-12, 2010. For one week developers from various Free and Open Source for Geospatial (often abbreviated as FOSS4G) projects get together in a monastery near Bolsena for code sprints, cross-project collaborations, presentations and geo-hacking in general. This all [...]]]></description>
			<content:encoded><![CDATA[<p>Like in <a href="http://www.justobjects.org/blog/?p=29">2009</a>,  I attended the <a href="http://wiki.osgeo.org/wiki/Bolsena_Code_Sprint_2010">OSGeo Code Sprint (and Hacking Event)</a> in <a href="http://en.wikipedia.org/wiki/Bolsena">Bolsena, Italy</a> during June 6-12, 2010. For one week developers from various Free and Open Source for Geospatial (often abbreviated as FOSS4G) projects get together in a <a href="http://www.conventobolsena.org/">monastery near Bolsena</a> for code sprints, cross-project collaborations, presentations and geo-hacking in general. This all takes place in a relaxed atmosphere mostly outside. Thanks to the cook Enzo we enjoyed the Italian kitchen. This year I did some work on <a href="http://geonetwork-opensource.org">GeoNetwork</a> and more in depth on <a href="http://code.google.com/p/inspire-foss/">INSPIRE FOSS</a>, a new FOSS project I initiated to support the development of <a href="http://inspire.jrc.ec.europa.eu/">INSPIRE</a> using FOSS. In Bolsena I worked closely together with the <a href="http://deegree.org">deegree</a> lead developers Markus Schneider and Andreas Schmitz from <a href="http://www.latlon.de/">lat/lon</a>. At the spot we were able to construct a <a href="http://inspire.kademo.nl/deegree-inspire-demo/">demo</a> that showcased the power of the upcoming <a href="http://deegree.org">deegree version 3 WFS/WMS</a> in supporting <a href="http://inspire.jrc.ec.europa.eu/">INSPIRE</a> Data Themes. Meeting project leads and developers and following presentations from other projects like <a href="http://www.geoserver.org">GeoServer</a>, <a href="http://deegree.org">deegree</a> and <a href="http://mapbender.org">MapBender</a>  was really worthwhile. Like last year I have made a video impression you can see below or on <a href="http://www.youtube.com/watch?v=8Vjx06Rlols">YouTube</a>.</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/8Vjx06Rlols&amp;hl=en_US&amp;fs=1?rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/8Vjx06Rlols&amp;hl=en_US&amp;fs=1?rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://justobjects.org/blog/2010/osgeo-code-sprint-bolsena-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenStreetMap Tiles for Dutch Projection EPSG:28992</title>
		<link>http://justobjects.org/blog/2010/openstreetmap-tiles-for-dutch-projection-epsg28992</link>
		<comments>http://justobjects.org/blog/2010/openstreetmap-tiles-for-dutch-projection-epsg28992#comments</comments>
		<pubDate>Wed, 17 Mar 2010 11:11:25 +0000</pubDate>
		<dc:creator>just</dc:creator>
				<category><![CDATA[GeoCetera]]></category>
		<category><![CDATA[osgeo]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[epgs:28992]]></category>
		<category><![CDATA[gdal]]></category>
		<category><![CDATA[mapnik]]></category>
		<category><![CDATA[osm]]></category>
		<category><![CDATA[proj]]></category>
		<category><![CDATA[tilecache]]></category>

		<guid isPermaLink="false">http://www.justobjects.org/blog/?p=45</guid>
		<description><![CDATA[A practical howto for rendering map tiles in other projections using the OpenStreetMap rendering tool chain with Mapnik. As an example the Dutch projection EPSG:28992 is used.]]></description>
			<content:encoded><![CDATA[<p>This article documents how to generate <a href="http://www.openstreetmap.org">OpenStreetMap (OSM)</a>  tiles for the <a href="http://www.rdnap.nl/">Dutch RD (&#8220;Rijksdriehoeksmeting&#8221;) projection</a> also known as <a href="http://spatialreference.org/ref/epsg/28992">EPSG:28992</a>. The steps described below can be used for other projections as well. I assume you are familiar with the OpenStreetMap (OSM) project. If not, there is ample information on the web, for example the <a href="http://wiki.openstreetmap.org">OSM Wiki</a>. What makes OSM very attractive is not just <a href="http://wiki.openstreetmap.org/wiki/Map_Making_Overview">the shared mapmaking</a> and an <a href="http://wiki.openstreetmap.org/wiki/OpenStreetMap_License">unrestrictive license</a> on the resulting map(data), but a toolchain, that allows you to <a href="http://wiki.openstreetmap.org/wiki/Renderers">generate/render your own maps !</a>.
</p>
<p>
In addition, <a href="http://www.openstreetmap.nl">OSM within The Netherlands</a> is very detailed since <a href="http://www.and.com/">Automotive Navigation Data (AND)</a> has donated a complete road dataset for The Netherlands in 2007 to the OSM project. OSM maps are usually rendered as 256&#215;256 tiles in a <a href="http://docs.openlayers.org/library/spherical_mercator.html">Spherical Mercator projection</a> with the (unofficial) code EPSG:900913, a.k.a. the &#8220;Google Projection&#8221;. Spherical Mercator has an official designation of <a href="http://spatialreference.org/ref/epsg/3785">EPSG:3785</a> but you will mostly find EPSG:900913. Most countries however use local map-projections, mainly for better accuracy and calculations. Most Dutch mapping applications use the aforementioned <a href="http://www.rdnap.nl/">Dutch RD projection, EPSG:28992</a>. Generating OSM tiles for EPSG:28992 requires some extra steps and has some gotchas you need to be aware of.
</p>
<p>
Below, I will not describe the setup of the entire toolchain needed to <a href="http://wiki.openstreetmap.org/wiki/Mapnik">generate OSM map tiles with Mapnik</a>, but just the steps that are specific to our goal: generate OSM map tiles for extent of The Netherlands with the projection EPSG:28992. These steps were done on <a href="http://www.ubuntu.com/">Ubuntu Linux</a> 9.04 (Jaunty). So let&#8217;s take the seven steps!
</p>
<p>
<b>Step 1: download OSM data</b><br />
Since we only plan to generate tiles for The Netherlands, plus the fact that the projection EPSG:28992 will not even work around the world, we need only an extract for The Netherlands. I have downloaded this extract from <br /><code>http://hypercube.telascience.org/planet/planet-nl-latest.osm.gz</code>, <br />but at the time of this writing this file was not present. Best is to go to <a href="http://wiki.openstreetmap.org/wiki/Planet.osm">http://wiki.openstreetmap.org/wiki/Planet.osm</a> to find a suitable download server. Unpack <code>planet-nl-latest.osm.gz</code>. The resulting XML file <code>planet-nl-latest.osm</code> is around 4.5 GB.
</p>
<p>
<b>Step 2: import OSM data in PostGIS</b><br />
Use <a href="http://wiki.openstreetmap.org/wiki/Osm2pgsql">osm2pgsql</a> to import the Planet XML file into the PostgreSQL/PostGIS database. Since the standard version from the Ubuntu repository gave errors I have built a custom version of <code>osm2pgsql</code> from SVN (rev. 20274) using these steps:</p>
<pre>
 sudo apt-get install build-essential libxml2-dev libgeos-dev \
                                       libpq-dev libbz2-dev proj
 mkdir /opt/osm/osm2pgsql
 cd /opt/osm/osm2pgsql
 svn export \
    http://svn.openstreetmap.org/applications/utils/export/osm2pgsql \
                                                       svn-20274
 sed -i 's/-g -O2/-O2 -march=native -fomit-frame-pointer/' Makefile
 make
 make install
</pre>
<p>Import the OSM file with this command line:</p>
<pre>
 osm2pgsql --slim -c -E EPSG:4326 -d georzlab -U postgres -W -H localhost
      -S /opt/osm/osm2pgsql/svn-20274/default.style
          /path/to/planet-nl-latest.osm
</pre>
<p>Note the use of EPSG:4326 (standard lon/lat projection) to store data in the DB. Maybe I could have used the default EPSG:900913. The<br />
<code>--slim</code> option was needed to prevent errors.
</p>
<p>
<b>Step 3: install Mapnik</b><br />
An install of <a href="http://mapnik.org">Mapnik</a>, the map tile renderer,  version 0.7.0 from <a href="http://svn.mapnik.org/tags/release-0.7.0">http://svn.mapnik.org/tags/release-0.7.0</a> was done.  Installing Mapnik itself involves many steps. These are described in many places, such as <a href="http://wiki.openstreetmap.org/wiki/Mapnik/Installation">here</a> and for Ubuntu at <a href="http://trac.mapnik.org/wiki/UbuntuInstallation">http://trac.mapnik.org/wiki/UbuntuInstallation</a>. Best is to have a Mapnik version as recent as possible.
</p>
<p>
<b>Step 4: download and extract World Boundary files</b><br />
This is a standard step in the Mapnik rendering process for OSM. Specific in our case is that we will extract only the area of The Netherlands from the World Boundary shape files. This is not just for efficiency purposes but required, <i><b>otherwise rendering boundaries/geonames will silently fail (see below)</b></i>. Two steps are required here: 1) extract/clip the Netherlands&#8217; bounding box and 2) reproject extracted data to EPSG:28992. Thanks to the wonderful geo-library <a href="http://gdal.org">GDAL/OGR</a> and the command <code>ogr2ogr</code> for vector data manipulations, this can be done in a script as follows:</p>
<pre>
#!/bin/bash

# location of shape files
cd /var/kademo/data/osm/world_boundaries

#
# Extract NL area to Dutch RD (EPSG:28992)
# get extent in EPSG:900913 from PostGIS:
#    select ST_Extent(ST_Transform(way,900913)) from planet_osm_line;
#
extent="311523.765594493 6555476.44574815 822461.515529216 7160903.43417988"
srs=28992
echo "Extract NL for EPSG:${srs}"
/bin/rm `/bin/ls *${srs}*`
ogr2ogr -f "ESRI Shapefile" -s_srs EPSG:900913 -t_srs EPSG:${srs} \
               -spat ${extent}  builtup_area_${srs}.shp builtup_area.shp
ogr2ogr -f "ESRI Shapefile" -s_srs EPSG:900913 -t_srs EPSG:${srs} \
               -spat ${extent}  processed_p_${srs}.shp processed_p.shp
ogr2ogr -f "ESRI Shapefile" -s_srs EPSG:900913 -t_srs EPSG:${srs}  \
               -spat ${extent}  shoreline_300_${srs}.shp shoreline_300.shp
</pre>
<p>The extent in EPSG:900913 can be obtained from the data in PostGIS with the <a href="http://www.postgresql.org/docs/8.4/static/app-psql.html">psql</a> command <br /><code>select ST_Extent(ST_Transform(way,900913)) from planet_osm_line;</code>.</p>
<p>This extra step came about after great help from the very active <a href="http://www.mail-archive.com/talk-nl@openstreetmap.org/info.html">Dutch OSM mailing list</a>. You can read the relevant thread <a href="http://www.mail-archive.com/talk-nl@openstreetmap.org/msg09240.html">here</a>. It became clear that the clip/reproject step was necessary. The reason is most probably the Mapnik bug <a href="http://trac.mapnik.org/ticket/308">http://trac.mapnik.org/ticket/308</a>.
</p>
<p>
Also make sure that you have the proper settings for EPSG:28992 in PROJ&#8217;s EPSG file, usually located in <code>/usr/share/proj/epsg</code> and make sure that this setting is actually used by <code>ogr2ogr</code>. Older versions of GDAL may use their own PROJ settings in their .csv files. The <a href="http://bit.ly/9G5fAq">PROJ/PostGIS/GDAL issues around EPSG:28992</a> deserve a blog-post by themselves. At this moment even <a href="http://spatialreference.org/ref/epsg/28992/">http://spatialreference.org/ref/epsg/28992</a> publishes wrong PROJ values. The issue mainly deals with the <code>+towgs84</code> parameter, needed for reprojections, not being present.
</p>
<p>
<b>Step 5: install and configure OSM Mapnik tools</b><br />
This step involves changing the OSM-specific Python-scripts and the Mapnik XML configuration (&#8220;The Mapnik Map File&#8221;) for invoking Mapnik.
</p>
<p>
I installed SVN rev. 20274 with the command <code><br />
svn export http://svn.openstreetmap.org/applications/rendering/mapnik</code> and ran<br />
<code>generate_xml.py</code> to generate a basic configuration.
</p>
<p>
The main step is making changes to the Mapnik map file <code>osm.xml</code> and its included files in <code>inc/*.xml.inc</code>. Below is relevant info.
</p>
<p>
We need to determine the extent for our tiling scheme. This is in general different from the extent of the dataset. It is the same extent that you will need in your tiling server like <a href="http://tilecache.org">TileCache</a> and your web client like <a href="http://openlayers.org">OpenLayers</a>. There is unfortunately no Dutch standard for this extent. I have used the following values</p>
<pre>
 EPSG:28992 (RD)       -65200.96,    242799.04  375200.96,   683200.96
 EPSG:4326 (WGS84)     2.307,	       50.134         8.752,	       54.087
</pre>
<p>Change extent in  <code>datasource-settings.xml.inc</code>: </p>
<pre>
<parameter name="extent">2.307,50.134,8.752,54.087</parameter>
</pre>
<p>Since our PostGIS data is in EPSG:4326 change <code>inc/settings.xml.inc</code>: </p>
<pre>
  < !ENTITY osm2pgsql_projection "&amp;srs4326;">
</pre>
<p>Edit <code>inc/entities.xml.inc</code> and add new XML entity for the <a href="http://trac.osgeo.org/proj">Proj</a> definition for EPSG:28992.</p>
<pre>
 < !ENTITY srs28992 "+proj=sterea
          +lat_0=52.15616055555555 +lon_0=5.38763888888889
          +k=0.9999079 +x_0=155000 +y_0=463000
          +ellps=bessel
          +towgs84=565.237,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812
          +units=m +no_defs">
</pre>
<p>See also  <a href="http://spatialreference.org/ref/sr-org/6781/mapnik">here</a> for the right &#8220;Proj&#8221; definition. The only change required in <code>osm.xml</code> is:</p>
<pre>
   &lt;Map bgcolor="#b5d0d0" srs="&amp;srs28992;" minimum_version="0.6.1"&gt;
</pre>
<p>There is no need to change Layer elements in <code>osm.xml</code> since they keep the projection from the entity <code>osm2pgsql_projection</code>.
</p>
<p>
In <code>inc/layer-shapefiles.xml.inc</code> change the names/projections to those of the extracted/reprojected shape files in Step 4. I have used XML entities as follows:</p>
<pre>
 &lt;layer name="world" status="on" srs="&amp;srs;">
     &lt;stylename>world&lt;/stylename>
    &lt;datasource>
       &lt;parameter name="type">shape&lt;/parameter>
       &lt;parameter name="file">&amp;world_boundaries;/shoreline_300_&amp;projection;&lt;/parameter>
    &lt;/datasource>
&lt;/layer>
</pre>
<p>With <code>&amp;srs;</code> being EPSG:28992 and <code>&amp;projection;</code> 28992.
</p>
<p>
<b>Step 6: Generate Test Tile</b><br />
The moment of truth ! We are going to generate a single map image to test all of our settings.<br />
I made a copy of the Python file <code>generate_image.py</code> and modifed this file as follows:</p>
<pre>

if __name__ == "__main__":
    try:
        mapfile = os.environ['MAPNIK_MAP_FILE']
    except KeyError:
        mapfile = "osm.xml"
    map_uri = "/path/to/output/file.png"

    # Map image bbox
    ll = (4, 52.3, 5, 52.5)

    # zoomlevel
    z = 10
    imgx = 50 * z
    imgy = 50 * z

    m = mapnik.Map(imgx,imgy)
    mapnik.load_map(m,mapfile)
    prj = mapnik.Projection("
     +proj=sterea +lat_0=52.15616055555555
     +lon_0=5.38763888888889
     +k=0.9999079 +x_0=155000 +y_0=463000
     +ellps=bessel
     +towgs84=565.237,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812
     +units=m +no_defs")
    c0 = prj.forward(mapnik.Coord(ll[0],ll[1]))
    c1 = prj.forward(mapnik.Coord(ll[2],ll[3]))
    if hasattr(mapnik,'mapnik_version') and mapnik.mapnik_version() >= 800:
        bbox = mapnik.Box2d(c0.x,c0.y,c1.x,c1.y)
    else:
        bbox = mapnik.Envelope(c0.x,c0.y,c1.x,c1.y)
    m.zoom_to_box(bbox)
    im = mapnik.Image(imgx,imgy)
    mapnik.render(m, im)
    view = im.view(0,0,imgx,imgy) # x,y,width,height
    view.save(map_uri,'png')
</pre>
<p>It was here that many of the issues solved above emerged. Below is the image of the first attempt with a silent failure resulting in the World boundary shapefiles being ignored.
</p>
<p>
<img src="http://www.justobjects.org/assets/media/osm-28992-no-shapes.png" />
</p>
<p>After using extract/clip (Step 4) the resulting image became as follows.</p>
<p>
<img src="http://www.justobjects.org/assets/media/osm-28992-ok.png" />
</p>
<p>
This looked much better. Now the final step is generating all tiles for The Netherlands. Normally this can be done with the OSM script <code>generate_tiles.py</code>, but this script is specific for the Google projection and should be rewritten for EPSG:28992 and the extent used above. For the time being I have used <a href="http://tilecache.org">TileCache</a> to render and serve the tiles. This is the final step.
</p>
<p>
<b>Step 7: render tiles with TileCache</b><br />
Here I used a standard <a href="http://tilecache.org">TileCache</a> installation with the following configuration. </p>
<pre>
[osm_28992]
type=Mapnik
mapfile=/path/to/osm.xml
spherical_mercator=false
resolutions=860.160,430.080,215.040,107.520,53.760,26.880,13.440,6.720,3.360,\
                     1.680,0.840,0.420,0.210,0.105,0.0525
metatile=yes
bbox=-65200.96, 242799.04, 375200.96, 683200.96
srs=EPSG:28992
</pre>
<p>Note that the bbox is the same as the extent in the Mapnik mapfile. Together with these specific resolutions the resulting zoom-levels will approach natural map scales used in The Netherlands like 1:25000.  Tiles will be generated during requests. One can also explicitly generate tiles using the standard TileCache script <code>tilecache_seed.py</code>. I used:</p>
<pre>
  su -s /bin/bash -c "tilecache_seed.py osm_28992 0 12" www-data
</pre>
<p>This will take quite some time also dependent on your TileCache installation (CGI/FastCGI). IMO it will be better to rewrite OSM <code>generate_tiles.py</code>. Below is a resulting excerpt from generated tiles.
</p>
<p>
<img src="http://www.justobjects.org/assets/media/osm-28992-detail.png" />
</p>
<p>Somehow the map looks somewhat more busy than the standard OSM &#8220;Slippy Map&#8221;. This may be due to settings in <code>osm.xml</code> with respect to scales and showing/hiding layers.</p>
<p>
<b>Finally</b>
</p>
<p>
I hope the above info is useful not just for those that need to generate tiles in Dutch projection but also for other projections. For example for an <a href="http://inspire.jrc.ec.europa.eu/">INSPIRE</a> project I have generated tiles in ETRS89 (EPSG:4258) with some slight modifications to the Mapnik config and TileCache config. Some further work could include more automation within the OSM Mapnik scripts/config in particular <code>generate_tiles.py</code>. Also, being able to use these tiles in <a href="http://geowebcache.org">GeoWebCache</a> would be very useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://justobjects.org/blog/2010/openstreetmap-tiles-for-dutch-projection-epsg28992/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Guilty landscapes, an Omaha Beach/Band of Brothers geo-journey</title>
		<link>http://justobjects.org/blog/2010/guilty-landscapes-an-omaha-beachband-of-brothers-geo-journey</link>
		<comments>http://justobjects.org/blog/2010/guilty-landscapes-an-omaha-beachband-of-brothers-geo-journey#comments</comments>
		<pubDate>Fri, 22 Jan 2010 12:43:07 +0000</pubDate>
		<dc:creator>just</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[GeoCetera]]></category>
		<category><![CDATA[osgeo]]></category>

		<guid isPermaLink="false">http://www.justobjects.org/blog/?p=38</guid>
		<description><![CDATA[GPS trace with geotagged media of a tour along Omaha Beach/Band of Brothers in Normandy, France with a YouTube video made from this material.]]></description>
			<content:encoded><![CDATA[<p>Last summer I participated in a full-day guided tour along the second world war (WWII) invasion beaches in Normandy, France. Specific subjects of the tour were Omaha Beach and places where events of &#8220;Easy Company&#8221;  (<a href="http://en.wikipedia.org/wiki/E_Company,_506th_Infantry_Regiment_(United_States)">E Company of the 2nd Battalion, 506th IR</a>, 101st Airborne Division, US Army) a.k.a. the <a href="http://en.wikipedia.org/wiki/Band_of_Brothers_(TV_miniseries)">Band of Brothers</a> took place. These true events are described in a <a href="http://tinyurl.com/yfwcd8d">book</a> by <a href="http://en.wikipedia.org/wiki/Stephen_Ambrose">Stephen Ambrose</a> from which the famous <a href="http://en.wikipedia.org/wiki/Band_of_Brothers_(TV_miniseries)">TV-series</a> was made in 2001 (the book is also worthwhile!). The tour was  organized by <a href="http://www.overlordtour.com" >Overlord Tour</a>. This tour, in a company with mainly American WWII-buffs, was very in-depth and worldwhile, in particular in combination with the landscape. The Dutch painter/writer <a href="http://en.wikipedia.org/wiki/Armando_(artist)">Armando</a> once coined the phrase &#8220;guilty landscape&#8221; (&#8220;schuldig landschap&#8221;).
</p>
<p>
Since I have an interest in WWII history, geography, geospatial, GPS and multimedia, I made a trace with my <a href="https://buy.garmin.com/shop/shop.do?cID=145&#038;pID=8701">Garmin eTrex Legend® HCx</a>, shot photo&#8217;s/video and uploaded all to <a href="http://georambling.com">georambling.com</a>, one of my pet projects. You can <a href="http://georambling.com/gr/index.html?cmd=showtrace&#038;id=53964&#038;user=just">view the trace with geotagged media</a> there as well. I&#8217;ve also created a video with iMovie from all materials including the GPS traces (see below).
</p>
<p>
<object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/S3MCBRWabXY&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/S3MCBRWabXY&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>
</p>
<p>
Subsequently I got a message from Google that my video was banned in Germany ! First I thought because of some swastika&#8217;s appearing (carried btw by American soldiers as a trophy after conquering Marmion&#8217;s farm), but the reason was more modern: it has to do with a <a href="http://tinyurl.com/ygyzlt8">long-standing dispute between Google and the German collecting society, GEMA</a>. This makes more sense and may also explain the ads popping up to buy the music (roll over Beethoven). So it is not a <a href="http://en.wikipedia.org/wiki/The_Germans">&#8220;Don&#8217;t mention the war&#8221;</a> thing. BTW I am a pacifist.</p>
]]></content:encoded>
			<wfw:commentRss>http://justobjects.org/blog/2010/guilty-landscapes-an-omaha-beachband-of-brothers-geo-journey/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

