# Aggregate point features to lower resolution and average them

1009
12
03-13-2021 01:55 AM
Labels (1)
by
Occasional Contributor

Hi community!

I want to create a line feature representing the erosion projection for 2100 for Schouwen-Duiveland (province Zeeland, in the Netherlands).

I have already the data which consists on a set of points measured every 200m, each representing the projections for the shoreline in percentiles (ex. -120m from shoreline).  I want to aggregate this data in lower resolution (let’s say every 100 km), average them on the median and create the line. See screen capture to visualize the table and point features.

How can I interpolate the data without create a continuous layer? Or if someone has another solution, I would love to hear it!

Isabelle B

2 Solutions

Accepted Solutions
MVP Esteemed Contributor

Here are the steps you could follow.

1. Sort the points based on "Shape" attribute. You may skip this step if your points are already sorted spatially.

2. Convert Points to Line. Don't worry about the attributes. You will get them in the subsequent steps.

3. Next, we will generate points along the line at 100 km distance. You may use Generate Points Along Lines (Data Management) . Fill the parameters, as required. Keep "Include End Points" option unchecked.

4. Now, using the the above points, we will divide the line, using Split Line at Point (Data Management) . You may choose a Search Radius of 500 meters (just to be safe).

5. Now let's join the attributes of the original points layer to the Split Line layer. You will choose Spatial Join (Analysis) for this.

Target Features: Split Line Layer

Join Features: Original Point Layer

Join Type: One_to_One

Field Map: Delete the fields you don't want to join. For each of the percentile fields, click the field-name > Select "Median" for Merge Rule. Do it for all the required fields. Run the tool.

Hope you will receive the desired result.

Think Location
MVP Esteemed Contributor

interpolating values won't accomplish this, you can't improve on the coarseness and inaccuracies inherent in the original data.  I would simply discuss what is there and the limitations imposed by the data you have.

... sort of retired...
12 Replies
MVP Esteemed Contributor

Have you converted the points to line yet?

Points To Line (Data Management)—ArcGIS Pro | Documentation

That result can be densified to produce inter-point points, but it will just add points to an already dense network.

When you are talking about "interpolating" do you mean locating the median of the percentiles? at each location?

... sort of retired...
by
Occasional Contributor

I tried converting the points to a line, but then I loose all my data (the percentiles column or they are aggregated).

When you are talking about "interpolating" do you mean locating the median of the percentiles? at each location? YES!

Tks for helping!

MVP Esteemed Contributor

Ok... I haven't used that tool in a while but if memory serves, you want to retain point order when producing the line.  The next step would be to use the

Split Line At Vertices (Data Management)—ArcGIS Pro | Documentation

to produce a segmented version of the polyline.... (I don't know why it isn't an option to begin with.

You should then be able to join by spatial location the original points back to the segments.

The 50th percentile is given at the point which can be transferred to a segment.

You effectively have a data set of histograms (ogives if you will) at each location.

You could use a running mean/median to aggregate values in the spatial domain if you like, but that would depend on what you end goal is

... sort of retired...
by
Occasional Contributor

My goal was to improve the resolution of my data a bit, from 200m to 100m, to maybe add more accuracy to my data. From this new data, meaning new median at every 100m, I wanted to calculate the average, then create a line feature representing the erosion projected for 2100.

The original data is an extract of a global map, so the variation from 1 point to another is very high. Exemple, retreat of -200m, the next point is +150m. This is the result of a global calculation. I want to even things out.

MVP Esteemed Contributor

Here are the steps you could follow.

1. Sort the points based on "Shape" attribute. You may skip this step if your points are already sorted spatially.

2. Convert Points to Line. Don't worry about the attributes. You will get them in the subsequent steps.

3. Next, we will generate points along the line at 100 km distance. You may use Generate Points Along Lines (Data Management) . Fill the parameters, as required. Keep "Include End Points" option unchecked.

4. Now, using the the above points, we will divide the line, using Split Line at Point (Data Management) . You may choose a Search Radius of 500 meters (just to be safe).

5. Now let's join the attributes of the original points layer to the Split Line layer. You will choose Spatial Join (Analysis) for this.

Target Features: Split Line Layer

Join Features: Original Point Layer

Join Type: One_to_One

Field Map: Delete the fields you don't want to join. For each of the percentile fields, click the field-name > Select "Median" for Merge Rule. Do it for all the required fields. Run the tool.

Hope you will receive the desired result.

Think Location
by
Occasional Contributor

Thank you so much to both of you.

Jayanta, your solution works! I end up with a line feature split at every 100m. The percentiles from my original layer are also joined to my original points.

But I still don't have new data for the new points created. That's why I mentioned interpolate. How can I predict new values from my sample data points. How can I predict the erosion in meters for the new points?

Do you guys have an idea how I can generate this information without creating a continuous layer?

Thanks again!

Isabelle

MVP Esteemed Contributor

What does your table look like?

... sort of retired...
by
Occasional Contributor
I have joined a table in my previous message. Thanks
by
Occasional Contributor

Here is what my new table looks like. Any idea?