<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8456951024008582059</id><updated>2012-02-16T17:36:24.756-08:00</updated><category term='Exif Time Timeline Geocorrelate'/><category term='OpenLayers WFS WFST PostGIS'/><category term='München OpenStreetMap OSM Branchenbuch Deutsch'/><title type='text'>EPSG31468</title><subtitle type='html'>About all things in my head: GIS programming, Open Source, bees, nature, ...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://epsg31468.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8456951024008582059/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://epsg31468.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Björn</name><uri>http://www.blogger.com/profile/13894789348493675958</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8456951024008582059.post-3808770604320700956</id><published>2012-01-17T00:06:00.000-08:00</published><updated>2012-01-17T00:06:26.398-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='München OpenStreetMap OSM Branchenbuch Deutsch'/><title type='text'>Die Münchner mit OpenStreetMap</title><content type='html'>Am Wochenende kam das neue Branchenbuch &lt;a href="http://www.diemuenchner.de/"&gt;"Die Münchner" &lt;/a&gt;in's Haus. Ich habe nicht schlecht gestaunt: Der Kartenteil ist "(C) OpenStreetMap und Mitwirkende, CC-BY-SA"! Hier ein Ausschnitt südwestlich des Hirschgartens:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-YTcRWQy_Y7E/TxUoqo7LlCI/AAAAAAAAABg/MhJ7DDhhU3w/s1600/diemuenchner.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="250" src="http://3.bp.blogspot.com/-YTcRWQy_Y7E/TxUoqo7LlCI/AAAAAAAAABg/MhJ7DDhhU3w/s320/diemuenchner.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Vergleicht man den Ausschnitt mit dem &lt;a href="http://tools.geofabrik.de/mc/?mt0=mapnik&amp;amp;mt1=googlemap&amp;amp;lon=11.50695&amp;amp;lat=48.14601&amp;amp;zoom=17"&gt;Tool der Geofabrik&lt;/a&gt; gegen Google, scheint sich das auch zu bestätigen:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Der Skatepark ist in OSM eingezeichnet, in Google nicht&lt;/li&gt;&lt;li&gt;Der Parkplatz am Hirschgarten ist wie bei OSM als Schleife dargestellt&lt;/li&gt;&lt;li&gt;Die Bahngleise im Süden sind wie bei OSM abgeschnitten&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;OpenStreetMap ist also so vollständig, dass es von kommerziellen Verlagen gedruckt wird!&lt;br /&gt;&lt;br /&gt;Bildquelle: Die Münchner, Branchenbuch 2012/2013, Dr. Bringmann &amp;amp; Gessler Verlags GmbH, Grünwald, S.12.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8456951024008582059-3808770604320700956?l=epsg31468.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://epsg31468.blogspot.com/feeds/3808770604320700956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://epsg31468.blogspot.com/2012/01/die-munchner-mit-openstreetmap.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8456951024008582059/posts/default/3808770604320700956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8456951024008582059/posts/default/3808770604320700956'/><link rel='alternate' type='text/html' href='http://epsg31468.blogspot.com/2012/01/die-munchner-mit-openstreetmap.html' title='Die Münchner mit OpenStreetMap'/><author><name>Björn</name><uri>http://www.blogger.com/profile/13894789348493675958</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-YTcRWQy_Y7E/TxUoqo7LlCI/AAAAAAAAABg/MhJ7DDhhU3w/s72-c/diemuenchner.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8456951024008582059.post-5261248306572293283</id><published>2011-11-07T13:37:00.000-08:00</published><updated>2011-11-07T13:37:18.049-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exif Time Timeline Geocorrelate'/><title type='text'>Exif Timeline Comparer</title><content type='html'>Idea of a tool I want:&lt;br /&gt;&lt;br /&gt;Suppose k friends (k&amp;gt;1) join an event (a party, a trip, whatever) and everyone is taking photos with a digital camera. Afterwards they put all their images into a common folder. Unfortunately, the images are sorted alphabetically, so first come all photos from Bob beginning with DSC, then all from Alice matching IMG*. Wouldn't it be nice if all photos would be in chronological order?&lt;br /&gt;&lt;br /&gt;Well, fortunately jhead has an option to rename an image after EXIF time:&lt;br /&gt;&lt;br /&gt;&amp;nbsp; jhead "-n%Y%m%d-%H%M%S$friend" *.jpg&lt;br /&gt;&lt;br /&gt;where $friend is the name of each friend applying this command.&lt;br /&gt;&lt;br /&gt;The group knows that there cameras clocks are not very exact and every clock has a difference from "real time" of up to an hour. Therefore everyone takes a photograph of a (digital) wall clock, calculates the difference of wall time minus exif time and adjusts exif time with calling&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;jhead "-ta$WallMinusExif" *.jpg&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But what are they doing if they forgot to synchronize with wall time and already shared the photos (and reset their camera's time)? That's what I want to have a tool for! What information can the friends extract from their photo streams? At least they can say for sure that some event was before another one.&lt;br /&gt;&lt;br /&gt;Say they took a trip to Paris and first saw the Eiffel tower (shot by Alice), went on to a cafe (where Bob took photos) and then to the Seine (where Alice took photos again). Now they want to tell for all events which one was before/after which and calculate a minimum time difference out of this information.&lt;br /&gt;&lt;br /&gt;After that, they can tell that Bob's time adjustment (relative to Alice) is between 4 and 7 minutes, and they decide on the middle: 5:30min.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8456951024008582059-5261248306572293283?l=epsg31468.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://epsg31468.blogspot.com/feeds/5261248306572293283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://epsg31468.blogspot.com/2011/11/exif-timeline-comparer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8456951024008582059/posts/default/5261248306572293283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8456951024008582059/posts/default/5261248306572293283'/><link rel='alternate' type='text/html' href='http://epsg31468.blogspot.com/2011/11/exif-timeline-comparer.html' title='Exif Timeline Comparer'/><author><name>Björn</name><uri>http://www.blogger.com/profile/13894789348493675958</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8456951024008582059.post-7501145345561607564</id><published>2011-09-27T15:10:00.000-07:00</published><updated>2011-09-27T15:10:16.350-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenLayers WFS WFST PostGIS'/><title type='text'>OpenLayers with WFS and GeoServer</title><content type='html'>Today I set up a geometry table in PostGIS and published it with GeoServer as a WFS. My plan was to save features into this layer with WFST, but it worked out very strange: All attributes went through down to the database, but the geometry column was null! I suspected a problem with PostGIS, but I had no problems manually inserting geometries with ST_GeomFromText.&lt;br /&gt;&lt;br /&gt;After analyzing the communication between OL and GeoServer with FireBug, I realized that there was something wrong with the geometry column name. I named it "geom" but OL was sending it as "the_geom", which is the default naming.&lt;br /&gt;&lt;br /&gt;A look into OL documentation revealed me that you can give it as a parameter &lt;b&gt;geometryName&lt;/b&gt; to OpenLayers.Protocol.WFS&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var wfs = new OpenLayers.Layer.Vector("Polygon", {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strategies : [ new OpenLayers.Strategy.BBOX(), saveStrategy ],&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protocol : new OpenLayers.Protocol.WFS( {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version: "1.1.0",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; srsName: "EPSG:4326",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; url : "http://localhost:6060/geoserver/wfs",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureType : "buildings",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; featureNS : "http://www.bjoernhoefling.de/",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; schema: "http://localhost:6060/geoserver/wfs/DescribeFea&lt;br /&gt;tureType?version=1.1.0&amp;amp;typename=bjoern:buildings",&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; geometryName: 'geom'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; })&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; map.addLayer(wfs);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8456951024008582059-7501145345561607564?l=epsg31468.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://epsg31468.blogspot.com/feeds/7501145345561607564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://epsg31468.blogspot.com/2011/09/openlayers-with-wfs-and-geoserver.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8456951024008582059/posts/default/7501145345561607564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8456951024008582059/posts/default/7501145345561607564'/><link rel='alternate' type='text/html' href='http://epsg31468.blogspot.com/2011/09/openlayers-with-wfs-and-geoserver.html' title='OpenLayers with WFS and GeoServer'/><author><name>Björn</name><uri>http://www.blogger.com/profile/13894789348493675958</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
