I've got a nice featurecollection with (JTS) MultiPolygons of a residential area. What I want to know is which gardens are next to a house, or more basically, which polygons are neighbours. JTS supports the touches operation to figure out if two polygons touch, but this would be a O(n) operation and won't provide a good data structure to store the topological information.

So far my eye has fallen on creating a DCEL (doubly connected edge list) of my geometrical data. Yet I would have expected I wouldn't be the first person wanting to do this so I was looking for some combinations of JTS and DCEL on the web, or anything else dealing with finding neighbouring polygons, but the search results are scarce at the least.

So here's the question: would anyone know of some code snippets or documentation detailing the use of DCEL with JTS? (or something else that solves my problem)

Thanks in advance,

Alexander Melchior