Skip to main content
Solved

I have two polygon shapefiles that I need to spatially join. I'm trying to populate township/range/section in my dataset based on a TRS shapefile. I have it working in ModelBuilder through ArcGIS but I can't get it to correlate the same in FME Desk

  • January 15, 2021
  • 8 replies
  • 103 views

Forum|alt.badge.img
I have two polygon shapefiles that I need to spatially join. I'm trying to populate township/range/section in my dataset based on a TRS shapefile. I have it working in ModelBuilder through ArcGIS but I can't get it to correlate the same in FME Desktop.

Best answer by markatsafe

@m_stateland​ Thanks for attaching the data. The issue is that your boundaries do not match exactly. SpatialRelator is very exacting, so if you use the 'Within' predicate and the boundaries cross, even very slightly, the test will fail. If you use 'Intersects' then you might pickup the neighbouring TRS as well (getting two matches). So you have two options:

  • clean the data to make sure the edges match then use SpatialRelator with a 'Within' predicate
  • replace the ASLD features with an inside point and then do the spatial join with either SpatialRelator or PointOnAreaOverlayer.

I think I'd lean to the second option using PointOnAreaOverlayer.

workspace 

I've attached an example workspace (FME 2020.2.2)

(actually you could use a single Snapper instead of the two AnchorSnapper's)

View original
Did this help you find an answer to your question?

8 replies

Forum|alt.badge.img+2
  • January 15, 2021

@m_stateland​ did you try SpatialRelator? Have a look at this knowledge article on spatial joins for ideas.

If you can attach a small sample dataset someone might create a proof-of-concept workspace


Forum|alt.badge.img
  • Author
  • January 19, 2021
markatsafe wrote:

@m_stateland​ did you try SpatialRelator? Have a look at this knowledge article on spatial joins for ideas.

If you can attach a small sample dataset someone might create a proof-of-concept workspace

@Mark Stoakes​ Yes I tried that. So the GCDB_TRS input does not having any blank attributes, but my output below does? I'm trying to populate the first four attributes via their spatial reference to the GCDB_TRS file, so where there are related candidates, fill in the attributes based on the file.WorkflowOutputTable


Forum|alt.badge.img+2
  • January 20, 2021

@m_stateland​ are the ASLDP and TRS features in the same coordinate system? Without sample data I'm just guessing.


Forum|alt.badge.img
  • Author
  • January 21, 2021
markatsafe wrote:

@m_stateland​ are the ASLDP and TRS features in the same coordinate system? Without sample data I'm just guessing.

@Mark Stoakes​ Yes they are both in the same coordinate system. I have attached a sample of the ASLD and the TRS areas related to them. Thank you for your help!


Forum|alt.badge.img+2

Use a center point replacer and intersect using a point on area overlay. After that, merge them back together using a feature merger with the unique ID to get the polygons. I very rarely use the spatial relator due to the speed difference with simply converting them to points.

 

Reference my @jlbaker2779​  in future questions if you have other questions related to lease mapping. I've dealt with the legal description polys quite a bit and have mapped hundreds of thousands of the descriptions in FME. I actually made my own lease mapper in FME that maps tens of thousands of descriptions per minute vs the hand mapping with Parcel Edit Tools or similar software. :D


Forum|alt.badge.img+2
  • Best Answer
  • January 21, 2021

@m_stateland​ Thanks for attaching the data. The issue is that your boundaries do not match exactly. SpatialRelator is very exacting, so if you use the 'Within' predicate and the boundaries cross, even very slightly, the test will fail. If you use 'Intersects' then you might pickup the neighbouring TRS as well (getting two matches). So you have two options:

  • clean the data to make sure the edges match then use SpatialRelator with a 'Within' predicate
  • replace the ASLD features with an inside point and then do the spatial join with either SpatialRelator or PointOnAreaOverlayer.

I think I'd lean to the second option using PointOnAreaOverlayer.

workspace 

I've attached an example workspace (FME 2020.2.2)

(actually you could use a single Snapper instead of the two AnchorSnapper's)


Forum|alt.badge.img
  • Author
  • January 25, 2021
jlbaker2779 wrote:

Use a center point replacer and intersect using a point on area overlay. After that, merge them back together using a feature merger with the unique ID to get the polygons. I very rarely use the spatial relator due to the speed difference with simply converting them to points.

 

Reference my @jlbaker2779​  in future questions if you have other questions related to lease mapping. I've dealt with the legal description polys quite a bit and have mapped hundreds of thousands of the descriptions in FME. I actually made my own lease mapper in FME that maps tens of thousands of descriptions per minute vs the hand mapping with Parcel Edit Tools or similar software. :D

Thank you so much


Forum|alt.badge.img
  • Author
  • January 25, 2021
markatsafe wrote:

@m_stateland​ Thanks for attaching the data. The issue is that your boundaries do not match exactly. SpatialRelator is very exacting, so if you use the 'Within' predicate and the boundaries cross, even very slightly, the test will fail. If you use 'Intersects' then you might pickup the neighbouring TRS as well (getting two matches). So you have two options:

  • clean the data to make sure the edges match then use SpatialRelator with a 'Within' predicate
  • replace the ASLD features with an inside point and then do the spatial join with either SpatialRelator or PointOnAreaOverlayer.

I think I'd lean to the second option using PointOnAreaOverlayer.

workspace 

I've attached an example workspace (FME 2020.2.2)

(actually you could use a single Snapper instead of the two AnchorSnapper's)

Thank you thank you!!!


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