Skip to content
GRENDELMAN.NET
  • Home
  • Photos
  • Projects & Pages
    • Projects
    • Files
    • Humor
    • Bookmarks
  • Login

Dierenrijk

Posted on: Wednesday 22 November 2017 /
Categories: Photography

In juli 2017 bezocht ik met mijn zoontje Dierenrijk en maakte daar wat foto’s van de dieren. Vandaag deel ik ze met jou!

20170709102418_IMG_1904.JPG

2017-07-09 10:24:18
© 2017 Martijn Grendelman
20170709102547_IMG_1907.JPG

2017-07-09 10:25:47
© 2017 Martijn Grendelman
20170709102707_IMG_1909.JPG

2017-07-09 10:27:07
© 2017 Martijn Grendelman
20170709102719_IMG_1910.JPG

2017-07-09 10:27:19
© 2017 Martijn Grendelman
20170709102749_IMG_1911.JPG

2017-07-09 10:27:49
© 2017 Martijn Grendelman
20170709102829_IMG_1913.JPG

2017-07-09 10:28:29
© 2017 Martijn Grendelman
20170709102840_IMG_1914.JPG

2017-07-09 10:28:40
© 2017 Martijn Grendelman
20170709102942_IMG_1916.JPG

2017-07-09 10:29:42
© 2017 Martijn Grendelman
20170709103223_IMG_1917.JPG

2017-07-09 10:32:23
© 2017 Martijn Grendelman
20170709103246_IMG_1918.JPG

2017-07-09 10:32:46
© 2017 Martijn Grendelman
20170709103639_IMG_1920.JPG

2017-07-09 10:36:39
© 2017 Martijn Grendelman
20170709105802_IMG_1923.JPG

2017-07-09 10:58:02
© 2017 Martijn Grendelman
20170709110813_IMG_1924.JPG

2017-07-09 11:08:13
© 2017 Martijn Grendelman
20170709110845_IMG_1926.JPG

2017-07-09 11:08:45
© 2017 Martijn Grendelman
20170709110852_IMG_1927.JPG

2017-07-09 11:08:52
© 2017 Martijn Grendelman
20170709110910_IMG_1928.JPG

2017-07-09 11:09:10
© 2017 Martijn Grendelman
20170709113024_IMG_1932.JPG

2017-07-09 11:30:24
© 2017 Martijn Grendelman
20170709113240_IMG_1933.JPG

2017-07-09 11:32:40
© 2017 Martijn Grendelman
20170709114053_IMG_1935.JPG

2017-07-09 11:40:53
© 2017 Martijn Grendelman
20170709114226_IMG_1936.JPG

2017-07-09 11:42:26
© 2017 Martijn Grendelman
20170709114428_IMG_1937.JPG

2017-07-09 11:44:28
© 2017 Martijn Grendelman
20170709115016_IMG_1938.JPG

2017-07-09 11:50:16
© 2017 Martijn Grendelman
20170709115034_IMG_1939.JPG

2017-07-09 11:50:34
© 2017 Martijn Grendelman
20170709115729_IMG_1941.JPG

2017-07-09 11:57:29
© 2017 Martijn Grendelman
20170709115749_IMG_1942.JPG

2017-07-09 11:57:49
© 2017 Martijn Grendelman
20170709115801_IMG_1943.JPG

2017-07-09 11:58:01
© 2017 Martijn Grendelman
20170709120043_IMG_1944.JPG

2017-07-09 12:00:43
© 2017 Martijn Grendelman
20170709120153_IMG_1945.JPG

2017-07-09 12:01:53
© 2017 Martijn Grendelman
20170709120231_IMG_1948.JPG

2017-07-09 12:02:31
© 2017 Martijn Grendelman
20170709120238_IMG_1949.JPG

2017-07-09 12:02:38
© 2017 Martijn Grendelman
20170709120454_IMG_1951.JPG

2017-07-09 12:04:54
© 2017 Martijn Grendelman
20170709120508_IMG_1952.JPG

2017-07-09 12:05:08
© 2017 Martijn Grendelman
20170709120647_IMG_1954.JPG

2017-07-09 12:06:47
© 2017 Martijn Grendelman
20170709121327_IMG_1956.JPG

2017-07-09 12:13:27
© 2017 Martijn Grendelman
20170709121912_IMG_1959.JPG

2017-07-09 12:19:12
© 2017 Martijn Grendelman
20170709121923_IMG_1960.JPG

2017-07-09 12:19:23
© 2017 Martijn Grendelman
20170709121935_IMG_1961.JPG

2017-07-09 12:19:35
© 2017 Martijn Grendelman

Schwarzwald panoramas

Posted on: Tuesday 8 August 2017 /
Categories: Photography

Ravennaschlucht

 

St. Bartholomäuskerk in Ettenheim

(360×180 degrees panoramas shot with Google Camera on Android, no tripod, displayed with Pannellum)

Tags: pannellum

Trackserver v3.0 released

Posted on: Monday 27 February 2017 /
Categories: GPS and mapping, Nerd Stuff, Programming, Trackserver

Almost 14 months after the last big update, Trackserver v3.0 was released today. Since this is quite a big update, with lots of new features and improvements mainly on the presentation side, I thought I’d spend another blog post on it. If you don’t know what Trackserver is, you can read my initial blog post on it, and the update on v2.0 in December 2015. I will present some demos at the end of this post to give you a better idea.

First I will sum up some of the smaller changes. I will get to the big ones later.

  • Leaflet was updated from 0.7.7 to v1.0.3. This brings in all the great work that the creators of Leaflet have done for their 1.0 release in September 2016. For Trackserver, this mainly means performance improvements, not to mention the mere joy of having up-to-date dependencies 🙂
  • Our own hacked version of Leaflet-omnivore was synchronized with version 0.3.4.
  • The PNG images that served as markers to indicate the start and the end of a track have been replaced by L.CircleMarker objects. These objects were already used for ‘points’ style tracks that were added in v2.2 and now also for the normal markers.
  • The infobar that’s available on live maps gained some extra tags: {userid}, {userlogin} and {displayname}, only the last of which is somewhat interesting, I guess…
  • Bugfixes!

All the tracks

Perhaps the biggest change is in the communication between the server side of Trackserver and the JavaScript that is responsible for creating the maps and drawing the tracks. Trackserver has since long distinguished between 3 basic types of tracks:

  1. Static tracks from the Trackserver database, referred to by their ID
  2. Live tracks from the Trackserver database, referred to by the word ‘live’
  3. External tracks in GPX or KML format, referred to by their URL

It was possible to mix these types, but in very limited ways. On top of that, each track, regardless of the type, was downloaded separately, one HTTP request per track. For maps with a lot of tracks, that wasn’t the best design, performance-wise. Both these shortcomings led to a new scheme for getting tracks from Trackserver.

  • First of all, it is now possible to mix all types of tracks in unlimited numbers. Just specify track=a,b,c user=@,x,y,z gpx="URL1 URL2" kml=URL3 and you get them all in one map. The ‘@’ in the user attribute, by the way, is a shortcut for your own username, so user=@ becomes a replacement for track=live, and the former is preferred as of Trackserver 3.0.
  • All the tracks that need to be downloaded from Trackserver are downloaded in a single HTTP request.
  • You can show multiple users’ live tracks in a single map. The live update feature can only ‘follow’ one of them, but the red markers that mark the current locations can be clicked to start following that particular track. The infobar will display the info for the track that is currently followed. On page load, the map will follow the first user that is listed in the user attribute.
  • The new track loading mechanism makes use of JavaScript promises, which are somewhat of a novelty (Chrome >= 49, Firefox >= 50, Edge >= 14, Safari >= 10, all except Chrome released late 2016. No version of MSIE supports them). A polyfill for this is included and loaded automatically to support older browsers. There are multiple Promise polyfills to choose from on the web, but I went for this one, by Taylor Hakes.

Don’t forget: if you want to display GPX or KML files, you are bound to the limitations of CORS.

Shortcode attributes

The [tsmap] shortcode gained some attributes for more control over the maps and how the tracks are displayed:

    • As explained above, the user attibute is now used to specify one or more users’ live maps. You need the ‘trackserver_publish’ capability to publish other people’s tracks. This capability is granted to administrators and editors by default.
    • The live attribute can be used to force enable or disable live-updates. For example, this can be used to turn any track (even an externally hosted GPX file!) into a live track.
    • The zoom attribute can be used for some control on the initial zoom factor when the track is first drawn. This is most useful with maps that have live tracks, because Trackserver would normally zoom in on the latest position in the track, rendering other tracks invisible without zooming out first. For live maps, the argument to the zoom attribute is absolute: what you set is what you get. For maps that have no live tracks, the behaviour is a bit different. By default, Trackserver chooses the zoom factor that makes the best fit for all tracks combined. In this case, the zoom attribute serves as an upper limit, a maximum zoom level, so you can use it to zoom out (but not in) the initial view.

Tracks with style

Trackserver already had some options to style your tracks: markers, color, weight, opacity and (since v2.2) points. However, these style options were per-map, rather than per-track. You would have all markers, or no markers at all. You could have really fat, purple lines for your tracks, but you would have them for all tracks.

Not any longer.

All the styling options now support comma-separated lists of values. Multiple values in such a list will be applied to the specified tracks in order. For example:

[tsmap track=1,2 color=red,#8400ff weight=1 points=n,y]

will draw two tracks on the map: ID 1 in a really thin red line and ID 2 in a collection of purpleish points. I think you get the idea. If less values than tracks are given, the last value is applied to all remaining tracks, so track=1,2,3,4,5 color=red,blue will give you one red track (ID 1) and four blue ones (IDs 2-5).

There is one thing to keep in mind though, when you specify multiple values. While track order will be preserved within each track type, different track types are evaluated in a specific order, and styling values are applied in that order too. The order is:

  1. Static tracks (track=a,b,c)
  2. Live user tracks (user=x,y,z)
  3. GPX tracks (gpx=…)
  4. KML tracks (kml=…)

Example: [tsmap gpx=/url/for/file.gpx user=jim track=10,99 color=red,blue,green,yellow]

In this case, the GPX track will be yellow, Jim’s live track will be green and tracks 10 and 99 will be red and blue respectively.

GPX downloads

Trackserver has a new shortcode: [tslink], perhaps not the most intuitive name. This shortcode produces a link, with which the specified tracks can be downloaded as a GPX file. Other formats are on the horizon, please open a feature request issue on Github if you need a specific format. [tslink] is used almost the same as [tsmap], except that it lacks all the styling attributes.

[tslink track=12,87,525 user=patrick]

will give you a link to a dynamically generated GPX file, containing tracks with IDs 12, 87 and 525, as well as Patrick’s latest track. There is also a class attribute that can be used for styling the resulting <a> element, and a format attribute whose only valid value is ‘gpx’ at this time.

What do you think?

If you use Trackserver, I would LOVE to know about it!! If you have problems with it, please open a support request or an issue in Github. If you are happy with it, please leave a review. And if you absolutely love it, please consider a small donation to support development. It will be much appreciated!

Demo time

A bigger collection of demos can be found on this dedicated demo page, but here are just a couple of them to give you an idea:

[tsmap user=trackserver1]:


[tsmap track=564,575,656,657,658,625,627,628,629,622,623,624,619,618,620,621,647,630,646,648,653,655 color=black,blue,red,green,#8400ff weight=2 continuous=y opacity=1]


Le Corbier, 2 January 2017

Posted on: Tuesday 10 January 2017 /
Categories: Photography

Snow conditions could have been better…

(360×180 degrees panorama shot with Google Camera on Android, no tripod, displayed with Pannellum)

Photo spheres met Pannellum

Posted on: Tuesday 26 July 2016 /
Categories: Photography
Google Camera Photo Sphere

Een paar dagen geleden vond ik op ‘t web Pannellum (“A Lightweight Panorama Viewer for the Web“), en het leek me leuk om daar eens mee te spelen. Daarom heb ik van LEGO® iets geknutseld om mijn telefoon op mijn foto-statief te bevestigen en ben ik met Google Camera aan de slag gegaan. Deze app maakt het erg eenvoudig om photo spheres (360×180 graden panorama’s) te schieten. Het resultaat is een JPEG in de zgn. afstandsgetrouwe cilinderprojectie, oftewel in beter begrijpbaar Engels: de equirectangular projection.

Dit plaatje kan zo met Pannellum worden weergegeven, alleen zijn er limieten op de grootte van de plaatjes, en die zijn per device verschillend. Op mijn PC is dat 4096×2048, en op mijn Android telefoon 2048×1024, voor een volledig 360×180 graden-panorama. Pannellum ondersteunt in een eigen formaat ook multi-resolution panorama’s, maar voor het gemak heb ik maar de grootste gemene deler gepakt en dat is 2048×1024.

Zie hieronder het resultaat. Uiteraard zijn de foto’s niet perfect; zowel de manier van schieten als de software hebben wat beperkingen, maar ik vind het niet onaardig. Klik op het vierkantje in de viewer voor full-screen weergave.

Ik heb overigens ook een poging gedaan om met een DSLR een serie plaatjes te maken, en deze met Hugin aan elkaar te plakken, maar dat brengt weer nieuwe uitdagingen met zich mee. Ten eerste heb je eigenlijk een panoramic head nodig voor je statief, en ‘t is een secuur werkje om alles er goed op te krijgen, zeker als je de volledige 180 graden verticale field of view wilt hebben. Wellicht is dit voer voor een latere post.

 
 

Tags: camera, Google, pannellum, photo sphere, photography
« 1 2 3 4 … 27 »

Today's motto

There is a crack, a crack in everything. That’s how the light gets in.

— L. Cohen

Categories

Recent Posts

  • Web maps in 2025
  • Adele in Munich
  • Trackserver v5.0 released
  • Trackserver v4.0 released
  • Panoramas Chamrousse

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Tags

aeroquad android arduino backports camera cat debian Digikam docker garmin Google GPS gpsbabel KDE kernel launchpad linux lowlands maps multicopter Natty oracle oruxmaps osmand owntracks pannellum phishing photography photo sphere pi plugin policykit quadcopter raspberry raspberry pi shield software spam tracking trackme Ubuntu viking wheezy wordpress Zümo

Copyright GRENDELMAN.NET 2025 | Theme by Theme in Progress | Proudly powered by WordPress