Skip to main content

Hey all, 

 

I am very new to FME and this may be a basic question, But I currently can’t find the answer elsewhere so I figured I would post and see if anyone can point me in the right direction. 

 

Currently, I am exporting from a GE small world database and moving the data to a FGDB for data analytics in other software. This is a complete export of all available data. That much I have been able to figure out with a few minor transformations. What I can’t yet figure out is how do I export only a small portion of the database. Say by a predefined polygon within the existing data set. 

 

For example My DB crosses a number of contiguous cities all having a defined boundary within the drawing. How do I tell FME to select and export only the lines and other objects within the city boundary of interest and excluded the data within the other city boundaries? Ultimately I need this breakdown so I Can export this to AutoCAD since the full DB is entirely too large for one drawing. 

 

Any help is appreciated. 

There are numerous methods that could be used. I cannot say for sure which would be best for your use case as I do not know all the details of your task.

For limiting the data when its being read in you can use the Spatial Filter option in the FeatureReader, if you have the boundaries already read in.

There are also multiple transformers for handling this during translation, here are some options:

  • Clipper
  • SpatialFilter
  • PointOnAreaOverlayer/LineOnAreaOverlayer
     

It’s been a while since I used Smallworld, but I believe there are some reader parameters that might help. You could either set the search envelope parameters or use a WHERE clause.

Or doesn’t Smallworld have the concept of a collection or alternative? Sort of like a database view. Again, I’m not certain but that could be a way to filter the data as it is read.

One other suggestion: you could export all the Smallworld data to an FFS file (an internal FME data format) and use that as a base for extracting data. If the Smallworld data doesn’t change, this FFS could even be a semi-permanent store from which you could do multiple extracts of different areas.


Clipper seems like it gets me close, but I can’t figure out where I set which polygon I want to use as the “Cookie Cutter” so to speak. Any ideas for me? 

 

I looked here: https://docs.safe.com/fme/html/FME-Form-Documentation/FME-Transformers/Transformers/clipper.htm , but the example seems like its geared toward a feature that only has one polygon rather than multiple polygons. 


If you are wanting to output data for just one city boundary, you could preemptively use a Tester on the city boundaries, selecting just the city of interest and pass just that one boundary to the Clipper. You could then set up a parameter for the Tester to make it easier to select which city is the desired city for the clipping operation. 


Reply