Question

How to 'unsnap' point from line end before move


Badge +2

I have a script that will move points (ServicePoints) in an SDE database based on updated XY coordinates coming from a separate database source, on a daily basis. These points are not supposed to be snapped to any lines (Conductor features), though many are in reality. I'm looking for a graceful way of 'unsnapping' these point from their (possible) connected line endpoints prior to moving them.

Using ArcGIS 10.1 (and ArcFM 10.1), FME 2012 SP4. Any help would be appreciated!


14 replies

Userlevel 4

What exactly do you mean by "unsnapping"? Do you mean that you want to move points that overlap line ends? And if you need to move them, in which direction should they be moved?

Badge +2

Hi @david_r

In my database, many points are snapped to ends of lines (tens of thousands) so within the script if the point location is being updated, naturally the line end stays connected and moves along with the point.

I'm looking for a way to NOT move the line end when the point location is updated (i.e. 'unsnap' the point from the line end before moving).

Thanks

Userlevel 4

What kind of spatial database is this? Are the points part of topology with the lines?

I'm fairly certain it's not FME that's doing this by itself.

Badge +2

What kind of spatial database is this? Are the points part of topology with the lines?

I'm fairly certain it's not FME that's doing this by itself.

This is an ArcGIS SDE 10.1 database (Oracle) with ArcFM 10.1 on top (though I don't believe this has any bearing on the behaviour). Both feature classes being discussed (point and line) are part of an electrical geometric network.

 

I agree it is not FME on its own doing this, rather it is the ArcGIS functionality keeping the point snapped to the end of the line when the point location is updated/moved.

 

Thoughts?

 

Thanks!

 

 

 

Badge +2

Update: I think the better question and the one I should have asked is whether FME can replicate the ArcGIS "Disconnect" tool or its behaviour. I don't think there is a specific transformer for this (at least at 2012) but possibly a workflow or series of transformers can accomplish this. I'm hoping there is a way of doing this that respects the network topology; the points are unimportant in terms of connectivity but the lines they are snapped to (conductor) are.

Thanks!

Userlevel 3
Badge +13

Update: I think the better question and the one I should have asked is whether FME can replicate the ArcGIS "Disconnect" tool or its behaviour. I don't think there is a specific transformer for this (at least at 2012) but possibly a workflow or series of transformers can accomplish this. I'm hoping there is a way of doing this that respects the network topology; the points are unimportant in terms of connectivity but the lines they are snapped to (conductor) are.

Thanks!

Hi @timboberoosky Can you attach some sample data here? If not, please file a case at https://www.safe.com/support/report-a-problem/ and attach your workspace and data there. I don't know what the ArcGIS "Disconnect" tool does. Thanks!

 

Badge +2
Hi @timboberoosky Can you attach some sample data here? If not, please file a case at https://www.safe.com/support/report-a-problem/ and attach your workspace and data there. I don't know what the ArcGIS "Disconnect" tool does. Thanks!

 

Hi Dan, sorry for the wait. I have attached here some example data and a workspace which simply moves one of the points connected to a line (there is a geometric network) to a different location. What you'll notice is that the connected line moves along with it. I added some screenshots of the "ArcGIS Disconnect Tool" and the behaviour of moving a point after that tool is run - the line no longer moves when the point is moved.

 

FYI this has a custom Hydro One projection but the concept should be static for any data with a geometric network and 'connected' features.

 

Hopefully this helps! Thanks.

 

disconnectpointexample.zip

 

 

Userlevel 3
Badge +13
Hi Dan, sorry for the wait. I have attached here some example data and a workspace which simply moves one of the points connected to a line (there is a geometric network) to a different location. What you'll notice is that the connected line moves along with it. I added some screenshots of the "ArcGIS Disconnect Tool" and the behaviour of moving a point after that tool is run - the line no longer moves when the point is moved.

 

FYI this has a custom Hydro One projection but the concept should be static for any data with a geometric network and 'connected' features.

 

Hopefully this helps! Thanks.

 

disconnectpointexample.zip

 

 

Hi @timboberoosky My guess is that there is a snapping set in your geodatabase and the new coordinate set with the 2DPointReplacer is still within tolerance of the line end.

 

Badge +2
Hi @timboberoosky My guess is that there is a snapping set in your geodatabase and the new coordinate set with the 2DPointReplacer is still within tolerance of the line end.

 

Hi Dan. You're right, that's exactly what is happening. My question is whether FME can disconnect the point from the line before it moves, so that the line does not come along with it. Again, there is a "Disconnect" tool in ArcGIS Desktop editing that does exactly this.

 

 

Userlevel 3
Badge +13
Hi Dan. You're right, that's exactly what is happening. My question is whether FME can disconnect the point from the line before it moves, so that the line does not come along with it. Again, there is a "Disconnect" tool in ArcGIS Desktop editing that does exactly this.

 

 

Hi @timboberoosky FME sees points and lines. ArcGIS is either snapping them together or displaying the points as snapped. Try moving the point further away of the endpoint of of the line until it no longer snaps to the line.

 

Badge +2
Hi Dan. You're right, that's exactly what is happening. My question is whether FME can disconnect the point from the line before it moves, so that the line does not come along with it. Again, there is a "Disconnect" tool in ArcGIS Desktop editing that does exactly this.

 

 

Hi Dan. So what I'm hearing here is that FME is simply respecting the default behaviour in ArcGIS and there is no way to circumvent that behaviour using FME (transfomer(s)), etc.?

 

 

Userlevel 3
Badge +13
Hi Dan. So what I'm hearing here is that FME is simply respecting the default behaviour in ArcGIS and there is no way to circumvent that behaviour using FME (transfomer(s)), etc.?

 

 

@timboberoosky Did you try moving the point further away? I'm saying that the snapping you see is happening only in ArcGIS.

 

Badge +2
Hi @timboberoosky My guess is that there is a snapping set in your geodatabase and the new coordinate set with the 2DPointReplacer is still within tolerance of the line end.

 

@DanAtSafe The location that the point is moving to will vary depending on the input received. So really I need a solution whether the point is moving 1 or 1000 metres away. I understand your point that the snapping tolerance may be 5 metres (for example), and that if I move the point 4 metres away, it will snap again. But this is that the point is staying snapped to the endline when the point is moved - I see this now in the main script when the point moves 20+ kilometres away. In addition, the consumers of the data are using ArcGIS as well so it's important that the point and line are not snapped for users viewing/editing.

 

 

I'm not sure technically how the "ArcGIS disconnect tool" works in the backend, but on the ArcMap editing front, it lets me move the point wherever I want and does not bring the snapped line with it, even if I move it somewhere within the snapping tolerance limit.

 

 

I'm starting to think this will not work?

 

 

Userlevel 3
Badge +13
@DanAtSafe The location that the point is moving to will vary depending on the input received. So really I need a solution whether the point is moving 1 or 1000 metres away. I understand your point that the snapping tolerance may be 5 metres (for example), and that if I move the point 4 metres away, it will snap again. But this is that the point is staying snapped to the endline when the point is moved - I see this now in the main script when the point moves 20+ kilometres away. In addition, the consumers of the data are using ArcGIS as well so it's important that the point and line are not snapped for users viewing/editing.

 

 

I'm not sure technically how the "ArcGIS disconnect tool" works in the backend, but on the ArcMap editing front, it lets me move the point wherever I want and does not bring the snapped line with it, even if I move it somewhere within the snapping tolerance limit.

 

 

I'm starting to think this will not work?

 

 

@timboberoosky I still think that your problem is with ArcGIS and not FME. If you are convinced otherwise then please file a case at https://www.safe.com/support/report-a-problem/

 

Reply