Question

Can fme un-stack feature classes?


Badge +1

I have a bunch of points in a feature class that are stacked all throughout my GIS network. Is it possible to select and un-stack those points with FME?


3 replies

Userlevel 1
Badge +10

Thanks for your question @nicholsb! Would you mind explaining (possibly with an example) what you mean by "stacked" points and explain what your desired "un-stacked" features would look like? Do want to get rid of duplicates?

Badge +1

Unstacking is much more complicated with a geometric network. It's quite simple to find the stacked points by extracting the XY and using a list builder based on the XY. Once you have this you can explode the list and add the element index number to the XY and replace with this value. Of course you can take the XY calculation and apply your own logic to it. Using the objectid you can move the records with an SDE writer and update mode.

The problem you will run into is what record is actually connected to the network. Normally the first placed (lowest objectid) will be connected and will cause the linear features endpoints \\ vertices to move with the point.

The simplest way to do this would be without the network in place. Once you rebuild the network the points that you did move will now be disconnected and your traces will show this.

As a warning, and I have done this a lot, if you are talking about a lot of records the Geometric Network is going to drastically slow down the processing of the records.

Badge +3

I think you can do that by the merging(2x) based on the FROM-TO values (if you don't have these, the begin and end coordinates will do). Unless all the stacked objects have these...in which case another attribute or some timestamp should come to the rescue. Fme should be able to do anything you make it do..maybe not recursion (or making you some nice coffee...yet), but therefore you can call TCL, Java (or some other interpreter).

Reply