All posts by Carsten

Workshop on Reproducible Computational Geosciences @ AGILE 2017

Interesting new workshop to take place at AGILE 2017. I like how they break from the usual submission workflow: In order to submit, you should fork their GitHub repo, add your submission file to the fork, and then send a pull request. If that’s too much hassle, you can also email your submission to Daniel Nüst, who is chairing the workshop.

Papers should be < 1000 words, the deadline is on March 19.

Unconventional academic writing

If you have a few minutes to spare (or need some cheering up after one of your papers has been rejected), here’s a nice read:

Guillaume Cabanac (2015) Unconventional academic writing.

Cabanac wrote this as an addendum to Hartley’s Academic writing and publishing: A practical handbook (2008), and as a present for Hartley’s 75th birthday. It contains lots of unusual – and very funny – titles, papers, and figures, all of which have been published in academic journals. My favorite may be this one-page paper on writer’s block:

Hat tip to Viola Voß for the pointer.

PostgreSQL DISTINCT ON

Getting the highest (or lowest) value from a database column is a bit tricky if you cannot use GROUP BY, because it requires you to aggregate across all columns that you want in the result. Say you have a table with employees, having the columns name, salary, and department, and you want to know the highest-paid employee per department. Then GROUP BY is not an option because you would need to also aggregate by name to have the name in the output, which doesn’t make sense.

I used to tackle this kind of query with unwieldy subqueries, but I just came across PostgreSQL’s DISTINCT ON clause, which makes them a lot more compact and readable. Using that, you can simply do

SELECT DISTINCT ON (department)
       name, salary, department
FROM   salaries_table
ORDER BY department, salary DESC;

So we’ll only get one entry per department, and ORDER BY salary DESC makes sure it is the one with the highest salary. The only bummer is that it is a PostgreSQL-specific function, so it won’t work on other DBMSs.

New toys, no time to play

I came across some really neat new tools this week. Since I don’t have any time  to test them out right now (or in the foreseeable future…), I’ll at least post them here so I don’t forget to check them out later:

  • Chris Whong has made a Docker container running Carto. This should make running your own Carto instance a hell of a lot easier.
  • Riccardo Scalco came up with Textures.js, a  JavaScript library for SVG patterns that builds on D3.
  • And my favorite comes from Geoff Boeing, who wrote OSMnx, a python module for extracting street networks from OpenStreetMap and then do all kinds of smart stuff with them.

COSIT goes Open Access

The first call for papers for COSIT 2017 was circulated last week. The conference will be held in L’Aquila, Italy, from September 4-8 2017. I was happy to see that the COSIT steering committee has decided to move the outlet for the full paper proceedings from Lecture Notes in Computer Science to Schloss Dagstuhl’s Leibniz International Proceedings in Informatics, which is Open Access under CC-BY.

The submission deadlines are:

  • March 1, 2017, for full papers
  • May 15, 2017, for posters

Open Reblock →

I just learned about Open Reblock from my students. Very cool project:

screen-shot-2016-09-15-at-11-18-52

Reblocking is the process of physically transforming an informal settlement to provide an access path to all its structures. This project analyzes the spatial structure of informal city blocks, and uses an algorithm to suggest reblocking solutions that provide access to all structures within the block in a minimally disruptive way.

 

Hierarchical Prism Trees for Scalable Time Geographic Analysis

We have a full paper accepted for GIScience 2016:

Carson J. Q. Farmer and Carsten Keßler (2016) Hierarchical Prism Trees for Scalable Time Geographic Analysis. Full paper accepted for GIScience 2016, September 27–30, 2016, Montreal, Canada.

Abstract: As location-aware applications and location-based services continue to increase in popularity, data sources describing a range of dynamic processes occurring in near real-time over multiple spatial and temporal scales are becoming the norm. At the same time, existing frame- works useful for understanding these dynamic spatio-temporal data, such as time geography, are unable to scale to the high volume, velocity, and variety of these emerging data sources. In this paper, we introduce a com- putational framework that turns time geography into a scalable analysis tool that can handle large and rapidly changing datasets. The Hierar- chical Prism Tree (HPT) is a dynamic data structure for fast queries on spatio-temporal objects based on time geographic principles and theories, which takes advantage of recent advances in moving object databases and computer graphics. We demonstrate the utility of our proposed HPT us- ing two common time geography tasks (finding similar trajectories and mapping potential space-time interactions), taking advantage of open data on space-time vehicle emissions from the EnviroCar platform.