Skip to main content
Question

Hello , I am trying to find a smart way to do a bulk process. I have a geodatabase with over a million records of feature type line. All of the records are to be selected by a unique id. this unique id is the same for more than one feature in the dat

  • December 21, 2021
  • 3 replies
  • 30 views

keller
Contributor
Forum|alt.badge.img+7

the ultimate goal is to have two outputs, the selected line or lines based on an attribute value and the neighbouring/adjacent lines within a 100m buffer. So am wondering what would be the best way to loop through the million records selecting features by attribute value then run the process and then the next batch so on ...? any help in decoding this will be highly appreciated.

3 replies

hkingsbury
Celebrity
Forum|alt.badge.img+53
  • Celebrity
  • December 21, 2021

FMEs GroupBy functionality will help here. In FME looping is not a common requirement and has its limitations. Often what you're trying to achieve with looping can be achieved using other methods

 

https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Transformers/Group_Based_Transformers.htm

https://community.safe.com/s/article/groups-and-group-based-blocking-transformers


keller
Contributor
Forum|alt.badge.img+7
  • Author
  • Contributor
  • December 22, 2021
hkingsbury wrote:

FMEs GroupBy functionality will help here. In FME looping is not a common requirement and has its limitations. Often what you're trying to achieve with looping can be achieved using other methods

 

https://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Transformers/Group_Based_Transformers.htm

https://community.safe.com/s/article/groups-and-group-based-blocking-transformers

hello @hkingsbury​ many thanks for the answer, i may have missed saying a very important aspect of the question, I am comparing this lines in geodatabase say .gdbA to similar lines from another geodatabase say .gdbB. At the moment i use a tester where i select manually by a unique Id for features in .gdbA and run the lines through a line on line overlayer and i get lines from both geodatabases then i filter out the adjacent lines within a distance using a buffer of 100m from the selected lines.

 

So the tester part is what i am trying to automate. Any idea please. I hope its clear as to what i am trying to achieve here.

 

best regards

Keller


Forum|alt.badge.img+2
  • December 22, 2021

@keller​ As @hkingsbury​ suggests, you shouldn't need to loop.

For your first set of lines, A, you should be able to use aa SQL IN clause - which is available on the File Geodb reader feature type. So you can pass in a list of the ID's you want to process. You can then use you're line on line overlayer or SpatialFilter to match the lines from file gedbB. Or you could try FeatureReader to read gdb B and use a spatial filter there.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings