[postgis-users] Build topology for polygon layer using postgis2.0

Sandro Santilli strk at keybit.net
Thu Nov 3 00:55:46 PDT 2011


On Wed, Nov 02, 2011 at 10:26:08PM -0700, Elton Chan wrote:
> Hi Sandro,
> 
> I tried to run the two commands that you suggested. However, it returns some empty layers only. (e.g. test.edge, test.face...). I check that there are some warning message in the output pane.

Report the WARNING lines ?

> I wonder if it is due to some geometry problem in the data set so that it cannot generate the topology. 

Any kind of input should generate something, except the empty input.
The only other reason I could think of would be an exception during
processing.

> Besides, I am thinking to use ST_SNAP to clear some gaps between polygons. I have done some small test, it works. However, to apply the same for a layer containing hundreds polygons, it requires to loop through all the possible adjacent polygons respecting to each polygon. It will take a very very long processing time. Any other idea? Any method to filtering those gaps first?

I suggest you filter the gaps _after_ you create the topology.

> Meanwhile, it seems ST_CreateTopoGeo is doing similar things as you describe in the proposed toTopoGeometry. Correct me if I am wrong. It seems the toTopoGeometry performance should be better than the ST command, right?

While ST_CreateTopoGeo wants the _full_ input in memory, and wants to start
with an _empty_ topology, the toTopoGeometry function would accept chunked
input and _incrementally_ populate a topology.

Moreover, the toTopoGeometry would _construct_ a TopoGeometry object
representing the same space that was represented by the input geometry
(only topologically). This would give you a value type which you can
store in a table and thus associate with attributes. Such object would
retain its shape while more components are added to the topology 
trough more calls to toTopoGeometry.

--strk;

  ()   Free GIS & Flash consultant/developer
  /\   http://strk.keybit.net/services.html



More information about the postgis-users mailing list