Question

point on area overlayer , there are two or three points inside the polygon, how can i take the attribute of all points attribute and put it in the polygon layer attribute?

  • 10 October 2018
  • 9 replies
  • 9 views

Badge

point on area overlayer , there are two or three points inside the polygon, how can i take the attribute of all points attribute and put it in the polygon layer attribute?


9 replies

Userlevel 1
Badge +21

Take a look at the Attribute Accumulation options within the PointOnAreaOverlayer

Badge

Take a look at the Attribute Accumulation options within the PointOnAreaOverlayer

i did merge attributes the result was nothing and i searched for a reason . so far it's because the points was more than one in the same polygon

 

 

Userlevel 1
Badge +21
i did merge attributes the result was nothing and i searched for a reason . so far it's because the points was more than one in the same polygon

 

 

You will need to generate a list on the output 'Area' and then manipulate the list depending on your desired outcome

 

 

Badge
You will need to generate a list on the output 'Area' and then manipulate the list depending on your desired outcome

 

 

my target is to get attributes from points and put it on the area ouput

 

 

Badge
my target is to get attributes from points and put it on the area ouput

 

 

the info list has no info from the points

 

 

Userlevel 1
Badge +21

Without knowing your data it's not entirely clear what you are trying to acheive.

If you have 3 points with the following attributes all within the same polygon, you are wanting to get Attribute_1 added to your area, but what value should it have?

IDAttribute_11A2B3C
Userlevel 2
Badge +17

Take a look at the Attribute Accumulation options within the PointOnAreaOverlayer

With your parameters setting, the area features output from the Area port would have a list attribute called "info{}.fme_text_string". Connect the Inspector to the Area port, run the workspace, then check the contents of the list with the Feature Information window of FME Data Inspector (not with the Table View).

 

Usually individual elements in a list attribute cannot be written directly into a single field in the destination attribute table. See these links to learn more how you can handle a list attribute:

 

Badge
With your parameters setting, the area features output from the Area port would have a list attribute called "info{}.fme_text_string". Connect the Inspector to the Area port,  run the workspace, then check  the contents of the list with the Feature Information window of FME Data Inspector (not with the Table View).

 

Usually individual elements in a list attribute cannot be written directly into a single field in the destination attribute table. See these links to learn more how you can handle a list attribute:

 

thanks it's there . i will check the tutorial and go back to the workspace

0684Q00000ArNBeQAN.jpg

 

Badge +3

@omarabdelghany

A way to do that is to use listconcatenator if you want just one instance of the area, as you can not store a list in a attribute. You need to pay attention to the separator you use and if you want to quote the values before concatenating them.

It is possible to store the attr_name as well as the attr_value in a single string. (up till you reach max allowed attribute size, which is quite large as I understand)

It is also possible to use a linefeed as separator, storing something that poses as a table (first row consisting of the names and subsequent are the values).

To read the data back you can use a string searcher, attribute splitter etc.

If you want a area for each overlay, you can explode the list with a list exploder. You would get 3 identical areas in your case with data from each point. There are lots of reasons to do latter, especially when doing spatial operations.

It all depends what you want to do next.

check example.splitit.fmw

Reply