Skip to main content
Question

Spatial join of polygons

  • April 9, 2014
  • 8 replies
  • 40 views

Forum|alt.badge.img
  Hi,

 

 

I've been trying the Spatial Relator to get the desired output. (a hypothetical example given in the image below).

 

( as seen in admin B and admin C, admin boundaries and postal boundaries match... this works fine. )

 

Now, the problem lies in cases such as, admin A, where the postal areas are further divided and do not match the admin boundary.

 

Tried using Test to perform as touches... but that gives values of A, B and C within A

 

Did try the othe transformers but spatial relator has been the closest. How to arrive at the desired output!

 

 

 

 

 

Regards,

 

Sani.
This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

8 replies

jelle
Contributor
Forum|alt.badge.img+22
  • Contributor
  • April 9, 2014
Hi Sani, 

 

 

what exactly is your desired output? Do you want to clip the areas by PostalCode? (Clipper) Or do you want to add attribute A to the three objects with postal codes (AreaOnAreaOverlayer)

 

 

 

best regards, 

 

Jelle

 


parashari
Forum|alt.badge.img+2
  • April 9, 2014
Hi Sani,

 

 

Do you need to get all the inputs? It seems that some attributes have two values, and if you will run the workbench using SpatialRelator, the transformer will replace the previous value and display the second one. Thus, you need to get more number of outputs than inputs (as more in number as there are overlapping values). For this instance, I guess LineOnAreaOverlay with List Name as parameters would work. Then you can use ListExploder,using the same List Elements. (:

 

 

Regards. 

takashi
Celebrity
  • April 9, 2014
Hi Sani,

 

 

I think the SpatialRelator (Tests to Perform = WITHIN) should work fine?

 

 

Takashi

Forum|alt.badge.img
  • Author
  • April 11, 2014
Hello, 

 

Thank u for the replies!

 

As far as I'm getting through is:

 

 

 

 

An example above:

 

1) SpatialRelator (Tests to Perform = OVERLAP) Works well for Admin A, B and D ( as admin area=Postal area) shown in yellow.

 

2) SpatialRelator (Tests to Perform = WITHIN) Works well for Postal 41104 and 41107 that do not touch the boundary lines, shown in lavender color.

 

 

Postal in white are the ones which aren't getting spatially joined.

 

(spatial joining is being tried of the admin area polygon with the postal area polygons.)

 

 

Regards,

 

Sani.

 

 


Forum|alt.badge.img
  • Author
  • April 11, 2014
* Overlaps does the job only after the areas are calculated and matched....

 

(forgot to mention)

 

 


takashi
Celebrity
  • April 11, 2014
I guess the administrative boundary parts of Postal area boundaries do not exactly match with the Admin boundaries (red lines in your image).

 

How about comparing inside points of Postal and Admin areas?

 

 


Forum|alt.badge.img
  • Author
  • April 11, 2014
Yes :) 

 

I had tried comparing the points of the postal and admin area...

 

It does give the output, only I had used two spatial relations,

 

Geometry extractor and replacer seem better way !

 

Thank You.

 

 


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • April 11, 2014
Try use a combo OVERLAPS,CROSSES and TOUCHES.

 

 

If the passcriteria is of relevance here, u can then test the attribute _relationships_PASS{}

 

Or check DE9IM, if you are brave.

 

 

Unwanted touches u can eliminate by exposing and testing cardinality btw.

 

 

If criteria is not relevant for merging of data, i suggest using INTERSECT.

 

 

 

How about just using a overlayer or intersector.

 

Then a spatialrelator using intersect comparing these intersected/overlayed objects with the original objects.

 

Testing on the occurence of postalcode and admin area as well as overlaps>0 and then using result to reaquire original objects (using ie a featuremerger).

 

 

Gio