Skip to main content

Hello,

I would like to make a spatial join between two areas. The expected result is to bring the attributtes from one, to the other, based on overlaps (the spatial join). 

Currently, I managed to do that, but the output shapefile is a combination between the two input files. I would like the output to have the same geometry as one of the input files, not both. 

To create a point shapefile from the supplier would mean that many requestors will not receive data because large areas that overlap them will end up as a centroid for each large area..

Can anyone help me out with this? 

Thank you all,

Try the SpatialRelator.  I believe this is what you need.

Thank you Cartoscro,

I was already trying it but in some places it does not work properly although the two sets of data overlap. The end result is empty. I will play around with the options in the SpatialRelator transformer


When I use the SpatialRelator for areas like you are describing, I will choose both the overlaps and intersects options.  I've had the same experience with it recognizing some relationship, and not others.  It seems to be more reliable when I choose both.
Hi,

 

Depending on your geometry type the areaonarea or lineonarea transformers might also be of use. Naturally the spatialrelator also can do the job, its all about how to treat the geometric overlay result toward your desired result, aka dealing with the lists created.

 

Hope this helps.
AreaOnAreaOverlayer splits all areas where they intersect. Is that your problem? In that case SpatialRelator is definitely the better choice. Concerning what Cartoscro mentioned I agree, you can spend hours with the descriptions but it is sometimes easier to simply try what will happen setting some of the relationships. Maybe you should also use "touches"?

 

Submit

 

Kind regards,

 

Wolfgang
I usually end up here to define the kind of test to use in the spatialrelator.
correction:

 

See Spatial Relations Defined for more information on spatial predicates and an illustration of spatial relationships.
U can use different spatial transformers to do that.

 

 

Using AoA is no problem.

 

If u want to keep only one featureset, just expose the featuretype attributes on the input files.

 

After the AoA u can test on this featuretype where they overlap (overlaps >1)

 

That way u can separate your inputfile after the AoA.

 

 

For complex relations it is often desirable to set up spatialrelations on your features.

 

AoA or an intersector=>SpatialRelator=> testers and or calculators.

 

Spatialrelator is very powerfull but can be complex.

 

Try getting your head around a custom Spatialpredicate using D9im..

 

Also you can calculate cardinality, wich is of great use often.

 

Pass criteria can be tested.

Reply