Extract highest point in raster and convert to point vector The Next CEO of Stack OverflowHow to plot a point on the highest elevation of a raster on a polygon. QGISArcGIS10 Highest point via polygon featuresCreate a point at the highest value in a raster ArcGIS 10.1Highest DEM pixel in polygonExtract raster value to polygonQGIS- extract raster information into a point return nullsExtract raster values from point using GDALGenerating a buffer of a vector line based on raster values where the vector intersects a rasterExtract raster data along shapefile in QGISDiscrete value extract from rasterIdentify raster cells with point shapefile in QGIS
Is dried pee considered dirt?
Help! I cannot understand this game’s notations!
What difference does it make using sed with/without whitespaces?
Is there such a thing as a proper verb, like a proper noun?
How to explain the utility of binomial logistic regression when the predictors are purely categorical
How to find image of a complex function with given constraints?
Is it correct to say moon starry nights?
Is French Guiana a (hard) EU border?
Can I use the word “Senior” as part of a job title directly in German?
Is there an equivalent of cd - for cp or mv
What happened in Rome, when the western empire "fell"?
0-rank tensor vs vector in 1D
How to get the last not-null value in an ordered column of a huge table?
What flight has the highest ratio of timezone difference to flight time?
Do scriptures give a method to recognize a truly self-realized person/jivanmukta?
What CSS properties can the br tag have?
what's the use of '% to gdp' type of variables?
Easy to read palindrome checker
What is the difference between "hamstring tendon" and "common hamstring tendon"?
What connection does MS Office have to Netscape Navigator?
Physiological effects of huge anime eyes
Computationally populating tables with probability data
Reference request: Grassmannian and Plucker coordinates in type B, C, D
In the "Harry Potter and the Order of the Phoenix" videogame, what potion is used to sabotage Umbridge's speakers?
Extract highest point in raster and convert to point vector
The Next CEO of Stack OverflowHow to plot a point on the highest elevation of a raster on a polygon. QGISArcGIS10 Highest point via polygon featuresCreate a point at the highest value in a raster ArcGIS 10.1Highest DEM pixel in polygonExtract raster value to polygonQGIS- extract raster information into a point return nullsExtract raster values from point using GDALGenerating a buffer of a vector line based on raster values where the vector intersects a rasterExtract raster data along shapefile in QGISDiscrete value extract from rasterIdentify raster cells with point shapefile in QGIS
I have a raster DEM and I want to extract from it the highest point found in every polygon of a polygon shapefile.
The result that I would like to obtain would be a point shapefile with 2 collumns: polygon ID and height.
I'm working in QGIS.
I tried SAGA raster statistics to polygon, but the result is just a polygon with the height value. I am trying to extract the point to a point vector layer.
qgis raster point
add a comment |
I have a raster DEM and I want to extract from it the highest point found in every polygon of a polygon shapefile.
The result that I would like to obtain would be a point shapefile with 2 collumns: polygon ID and height.
I'm working in QGIS.
I tried SAGA raster statistics to polygon, but the result is just a polygon with the height value. I am trying to extract the point to a point vector layer.
qgis raster point
Welcome to GIS SE. As a new user, please take the Tour. We are not a tutorial site. All questions are expected to contain not only what you need to do, but what you have attempted, and what has gone wrong.
– Vince
Sep 19 '17 at 10:31
add a comment |
I have a raster DEM and I want to extract from it the highest point found in every polygon of a polygon shapefile.
The result that I would like to obtain would be a point shapefile with 2 collumns: polygon ID and height.
I'm working in QGIS.
I tried SAGA raster statistics to polygon, but the result is just a polygon with the height value. I am trying to extract the point to a point vector layer.
qgis raster point
I have a raster DEM and I want to extract from it the highest point found in every polygon of a polygon shapefile.
The result that I would like to obtain would be a point shapefile with 2 collumns: polygon ID and height.
I'm working in QGIS.
I tried SAGA raster statistics to polygon, but the result is just a polygon with the height value. I am trying to extract the point to a point vector layer.
qgis raster point
qgis raster point
edited Sep 19 '17 at 17:18
underdark♦
69.1k13178346
69.1k13178346
asked Sep 19 '17 at 10:26
Hugo SilvaHugo Silva
364
364
Welcome to GIS SE. As a new user, please take the Tour. We are not a tutorial site. All questions are expected to contain not only what you need to do, but what you have attempted, and what has gone wrong.
– Vince
Sep 19 '17 at 10:31
add a comment |
Welcome to GIS SE. As a new user, please take the Tour. We are not a tutorial site. All questions are expected to contain not only what you need to do, but what you have attempted, and what has gone wrong.
– Vince
Sep 19 '17 at 10:31
Welcome to GIS SE. As a new user, please take the Tour. We are not a tutorial site. All questions are expected to contain not only what you need to do, but what you have attempted, and what has gone wrong.
– Vince
Sep 19 '17 at 10:31
Welcome to GIS SE. As a new user, please take the Tour. We are not a tutorial site. All questions are expected to contain not only what you need to do, but what you have attempted, and what has gone wrong.
– Vince
Sep 19 '17 at 10:31
add a comment |
3 Answers
3
active
oldest
votes
This is basically the same as the one provided by @firefly-orange already.
- Start SAGA
Raster values to points
tool. Select your raster layer asGrids
. - Select your polygon layer in the
Polygon[optional]
field and make sure to click onIterate over this layer
button. ThenRun
.
- You will obtain as many layers as your polygons. It will appear in reverse order on the layers panel, all named "Shapes". So you would probably want to rename these point layers to represent each of your polygon.
- Open any attribute table of newly created
Shapes
layer, and click twice on the header of your value column (the field name is automatically taken from your raster layer). The row with highest value comes on top. By hitting [CTRL+J] keys orZoom map to the selected rows
button, it will take you to the highest point.
add a comment |
You can use saga - raster values to points. Then use "join attributes by location" to join the points to the polygon layer. You can then select the max value from the attribute table of the joined points/polygon layer using "statistics by categories"
Thanks for the help. But the problem i'm finding with this solution, is that the point shapefile doesn't make a distinction between polygons. When i ask for the max value of the layer, it returns me the maximum value of all polygons. What I am expecting is the maximum value for each polygon. Can anyone help me'
– Hugo Silva
Sep 19 '17 at 12:02
@HugoSilva Sorry I missed a step. I've edited my answer. Should work now
– firefly-orange
Sep 19 '17 at 12:14
2
+1 and just to add;Raster values to points
has an optionPolygons
to which you can assign your polygon layer. Then by activatingIterate over this layer
(green rounded arrow), you can produce 1 point layer per each polygon.
– Kazuhito
Sep 19 '17 at 12:44
Sorry, i'm a bit new in working with rasters. statistics by categories outputs a csv file. Is there anyother workaround? I was expecting some command to extract the location and height of the highest point in a polygon. Any clues?
– Hugo Silva
Sep 19 '17 at 13:40
Try 'zonal statistics' from the processing toolbox
– firefly-orange
Sep 19 '17 at 13:48
|
show 1 more comment
Original question was certainly using QGIS 2.x so many algorithms have been added since. I don't know if this method could be used pre QGIS 3.x but it's certainly relevant now anyway.
I needed to do something similar where I wanted to locate more precise high points with the help of lidar data. My original high points were contained in a point layer that was based off much less precise raster data so what I turned out doing achieves what you were trying to do yourself.
There was no practical way to do it generating one point for each pixel as the spatial resolution of 1m would have been way too heavy to deal with. An alternate method to the other two answers is to isolate the pixel with highest value, turn everything else into NODATA
, and only then generate points from the raster. The null ones are ignored.
I built a model (in QGIS 3.4) where I could iterate over my point layer but it could be done with a polygon layer too. Here's the sequence (if you take a look at the model below, you'd start from the Bounding boxes
tool which you can replace with your polygon layer):
Clip raster by mask layer
Input
: your raster layerMask
: your polygon layer
Zonal statistics
Raster layer
: the result from step 1Vector layer zones
: your polygon layerStatistics to calculate
: Max
Reclassify by layer
Raster layer
: result from step 1Layer containing class breaks
: result from step 2all value fields
: _max (if you left the default field prefix in step 2)Use no data when no range matches value
: Yes
Raster pixels to points
Raster layer
: result from step 3
From this moment the output should be vector points at maximum pixel value from the original raster contained in your polygons. There are a few unneeded steps for you as I created a buffer around my original points to get polygons in which to find maximum values, and at the end I joined attributes from my bounding boxes so my output points would have the same attributes as my input points.
Of course, for this to work you have to click the button to iterate over your polygon layer, just like I had to iterate over my points. You'll have as many points layers as you had input polygons, but they can easily be merged into one layer afterwards.
add a comment |
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "79"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f255882%2fextract-highest-point-in-raster-and-convert-to-point-vector%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
This is basically the same as the one provided by @firefly-orange already.
- Start SAGA
Raster values to points
tool. Select your raster layer asGrids
. - Select your polygon layer in the
Polygon[optional]
field and make sure to click onIterate over this layer
button. ThenRun
.
- You will obtain as many layers as your polygons. It will appear in reverse order on the layers panel, all named "Shapes". So you would probably want to rename these point layers to represent each of your polygon.
- Open any attribute table of newly created
Shapes
layer, and click twice on the header of your value column (the field name is automatically taken from your raster layer). The row with highest value comes on top. By hitting [CTRL+J] keys orZoom map to the selected rows
button, it will take you to the highest point.
add a comment |
This is basically the same as the one provided by @firefly-orange already.
- Start SAGA
Raster values to points
tool. Select your raster layer asGrids
. - Select your polygon layer in the
Polygon[optional]
field and make sure to click onIterate over this layer
button. ThenRun
.
- You will obtain as many layers as your polygons. It will appear in reverse order on the layers panel, all named "Shapes". So you would probably want to rename these point layers to represent each of your polygon.
- Open any attribute table of newly created
Shapes
layer, and click twice on the header of your value column (the field name is automatically taken from your raster layer). The row with highest value comes on top. By hitting [CTRL+J] keys orZoom map to the selected rows
button, it will take you to the highest point.
add a comment |
This is basically the same as the one provided by @firefly-orange already.
- Start SAGA
Raster values to points
tool. Select your raster layer asGrids
. - Select your polygon layer in the
Polygon[optional]
field and make sure to click onIterate over this layer
button. ThenRun
.
- You will obtain as many layers as your polygons. It will appear in reverse order on the layers panel, all named "Shapes". So you would probably want to rename these point layers to represent each of your polygon.
- Open any attribute table of newly created
Shapes
layer, and click twice on the header of your value column (the field name is automatically taken from your raster layer). The row with highest value comes on top. By hitting [CTRL+J] keys orZoom map to the selected rows
button, it will take you to the highest point.
This is basically the same as the one provided by @firefly-orange already.
- Start SAGA
Raster values to points
tool. Select your raster layer asGrids
. - Select your polygon layer in the
Polygon[optional]
field and make sure to click onIterate over this layer
button. ThenRun
.
- You will obtain as many layers as your polygons. It will appear in reverse order on the layers panel, all named "Shapes". So you would probably want to rename these point layers to represent each of your polygon.
- Open any attribute table of newly created
Shapes
layer, and click twice on the header of your value column (the field name is automatically taken from your raster layer). The row with highest value comes on top. By hitting [CTRL+J] keys orZoom map to the selected rows
button, it will take you to the highest point.
answered Sep 23 '17 at 2:46
KazuhitoKazuhito
16.3k41884
16.3k41884
add a comment |
add a comment |
You can use saga - raster values to points. Then use "join attributes by location" to join the points to the polygon layer. You can then select the max value from the attribute table of the joined points/polygon layer using "statistics by categories"
Thanks for the help. But the problem i'm finding with this solution, is that the point shapefile doesn't make a distinction between polygons. When i ask for the max value of the layer, it returns me the maximum value of all polygons. What I am expecting is the maximum value for each polygon. Can anyone help me'
– Hugo Silva
Sep 19 '17 at 12:02
@HugoSilva Sorry I missed a step. I've edited my answer. Should work now
– firefly-orange
Sep 19 '17 at 12:14
2
+1 and just to add;Raster values to points
has an optionPolygons
to which you can assign your polygon layer. Then by activatingIterate over this layer
(green rounded arrow), you can produce 1 point layer per each polygon.
– Kazuhito
Sep 19 '17 at 12:44
Sorry, i'm a bit new in working with rasters. statistics by categories outputs a csv file. Is there anyother workaround? I was expecting some command to extract the location and height of the highest point in a polygon. Any clues?
– Hugo Silva
Sep 19 '17 at 13:40
Try 'zonal statistics' from the processing toolbox
– firefly-orange
Sep 19 '17 at 13:48
|
show 1 more comment
You can use saga - raster values to points. Then use "join attributes by location" to join the points to the polygon layer. You can then select the max value from the attribute table of the joined points/polygon layer using "statistics by categories"
Thanks for the help. But the problem i'm finding with this solution, is that the point shapefile doesn't make a distinction between polygons. When i ask for the max value of the layer, it returns me the maximum value of all polygons. What I am expecting is the maximum value for each polygon. Can anyone help me'
– Hugo Silva
Sep 19 '17 at 12:02
@HugoSilva Sorry I missed a step. I've edited my answer. Should work now
– firefly-orange
Sep 19 '17 at 12:14
2
+1 and just to add;Raster values to points
has an optionPolygons
to which you can assign your polygon layer. Then by activatingIterate over this layer
(green rounded arrow), you can produce 1 point layer per each polygon.
– Kazuhito
Sep 19 '17 at 12:44
Sorry, i'm a bit new in working with rasters. statistics by categories outputs a csv file. Is there anyother workaround? I was expecting some command to extract the location and height of the highest point in a polygon. Any clues?
– Hugo Silva
Sep 19 '17 at 13:40
Try 'zonal statistics' from the processing toolbox
– firefly-orange
Sep 19 '17 at 13:48
|
show 1 more comment
You can use saga - raster values to points. Then use "join attributes by location" to join the points to the polygon layer. You can then select the max value from the attribute table of the joined points/polygon layer using "statistics by categories"
You can use saga - raster values to points. Then use "join attributes by location" to join the points to the polygon layer. You can then select the max value from the attribute table of the joined points/polygon layer using "statistics by categories"
edited Sep 19 '17 at 12:13
answered Sep 19 '17 at 11:00
firefly-orangefirefly-orange
1,786119
1,786119
Thanks for the help. But the problem i'm finding with this solution, is that the point shapefile doesn't make a distinction between polygons. When i ask for the max value of the layer, it returns me the maximum value of all polygons. What I am expecting is the maximum value for each polygon. Can anyone help me'
– Hugo Silva
Sep 19 '17 at 12:02
@HugoSilva Sorry I missed a step. I've edited my answer. Should work now
– firefly-orange
Sep 19 '17 at 12:14
2
+1 and just to add;Raster values to points
has an optionPolygons
to which you can assign your polygon layer. Then by activatingIterate over this layer
(green rounded arrow), you can produce 1 point layer per each polygon.
– Kazuhito
Sep 19 '17 at 12:44
Sorry, i'm a bit new in working with rasters. statistics by categories outputs a csv file. Is there anyother workaround? I was expecting some command to extract the location and height of the highest point in a polygon. Any clues?
– Hugo Silva
Sep 19 '17 at 13:40
Try 'zonal statistics' from the processing toolbox
– firefly-orange
Sep 19 '17 at 13:48
|
show 1 more comment
Thanks for the help. But the problem i'm finding with this solution, is that the point shapefile doesn't make a distinction between polygons. When i ask for the max value of the layer, it returns me the maximum value of all polygons. What I am expecting is the maximum value for each polygon. Can anyone help me'
– Hugo Silva
Sep 19 '17 at 12:02
@HugoSilva Sorry I missed a step. I've edited my answer. Should work now
– firefly-orange
Sep 19 '17 at 12:14
2
+1 and just to add;Raster values to points
has an optionPolygons
to which you can assign your polygon layer. Then by activatingIterate over this layer
(green rounded arrow), you can produce 1 point layer per each polygon.
– Kazuhito
Sep 19 '17 at 12:44
Sorry, i'm a bit new in working with rasters. statistics by categories outputs a csv file. Is there anyother workaround? I was expecting some command to extract the location and height of the highest point in a polygon. Any clues?
– Hugo Silva
Sep 19 '17 at 13:40
Try 'zonal statistics' from the processing toolbox
– firefly-orange
Sep 19 '17 at 13:48
Thanks for the help. But the problem i'm finding with this solution, is that the point shapefile doesn't make a distinction between polygons. When i ask for the max value of the layer, it returns me the maximum value of all polygons. What I am expecting is the maximum value for each polygon. Can anyone help me'
– Hugo Silva
Sep 19 '17 at 12:02
Thanks for the help. But the problem i'm finding with this solution, is that the point shapefile doesn't make a distinction between polygons. When i ask for the max value of the layer, it returns me the maximum value of all polygons. What I am expecting is the maximum value for each polygon. Can anyone help me'
– Hugo Silva
Sep 19 '17 at 12:02
@HugoSilva Sorry I missed a step. I've edited my answer. Should work now
– firefly-orange
Sep 19 '17 at 12:14
@HugoSilva Sorry I missed a step. I've edited my answer. Should work now
– firefly-orange
Sep 19 '17 at 12:14
2
2
+1 and just to add;
Raster values to points
has an option Polygons
to which you can assign your polygon layer. Then by activating Iterate over this layer
(green rounded arrow), you can produce 1 point layer per each polygon.– Kazuhito
Sep 19 '17 at 12:44
+1 and just to add;
Raster values to points
has an option Polygons
to which you can assign your polygon layer. Then by activating Iterate over this layer
(green rounded arrow), you can produce 1 point layer per each polygon.– Kazuhito
Sep 19 '17 at 12:44
Sorry, i'm a bit new in working with rasters. statistics by categories outputs a csv file. Is there anyother workaround? I was expecting some command to extract the location and height of the highest point in a polygon. Any clues?
– Hugo Silva
Sep 19 '17 at 13:40
Sorry, i'm a bit new in working with rasters. statistics by categories outputs a csv file. Is there anyother workaround? I was expecting some command to extract the location and height of the highest point in a polygon. Any clues?
– Hugo Silva
Sep 19 '17 at 13:40
Try 'zonal statistics' from the processing toolbox
– firefly-orange
Sep 19 '17 at 13:48
Try 'zonal statistics' from the processing toolbox
– firefly-orange
Sep 19 '17 at 13:48
|
show 1 more comment
Original question was certainly using QGIS 2.x so many algorithms have been added since. I don't know if this method could be used pre QGIS 3.x but it's certainly relevant now anyway.
I needed to do something similar where I wanted to locate more precise high points with the help of lidar data. My original high points were contained in a point layer that was based off much less precise raster data so what I turned out doing achieves what you were trying to do yourself.
There was no practical way to do it generating one point for each pixel as the spatial resolution of 1m would have been way too heavy to deal with. An alternate method to the other two answers is to isolate the pixel with highest value, turn everything else into NODATA
, and only then generate points from the raster. The null ones are ignored.
I built a model (in QGIS 3.4) where I could iterate over my point layer but it could be done with a polygon layer too. Here's the sequence (if you take a look at the model below, you'd start from the Bounding boxes
tool which you can replace with your polygon layer):
Clip raster by mask layer
Input
: your raster layerMask
: your polygon layer
Zonal statistics
Raster layer
: the result from step 1Vector layer zones
: your polygon layerStatistics to calculate
: Max
Reclassify by layer
Raster layer
: result from step 1Layer containing class breaks
: result from step 2all value fields
: _max (if you left the default field prefix in step 2)Use no data when no range matches value
: Yes
Raster pixels to points
Raster layer
: result from step 3
From this moment the output should be vector points at maximum pixel value from the original raster contained in your polygons. There are a few unneeded steps for you as I created a buffer around my original points to get polygons in which to find maximum values, and at the end I joined attributes from my bounding boxes so my output points would have the same attributes as my input points.
Of course, for this to work you have to click the button to iterate over your polygon layer, just like I had to iterate over my points. You'll have as many points layers as you had input polygons, but they can easily be merged into one layer afterwards.
add a comment |
Original question was certainly using QGIS 2.x so many algorithms have been added since. I don't know if this method could be used pre QGIS 3.x but it's certainly relevant now anyway.
I needed to do something similar where I wanted to locate more precise high points with the help of lidar data. My original high points were contained in a point layer that was based off much less precise raster data so what I turned out doing achieves what you were trying to do yourself.
There was no practical way to do it generating one point for each pixel as the spatial resolution of 1m would have been way too heavy to deal with. An alternate method to the other two answers is to isolate the pixel with highest value, turn everything else into NODATA
, and only then generate points from the raster. The null ones are ignored.
I built a model (in QGIS 3.4) where I could iterate over my point layer but it could be done with a polygon layer too. Here's the sequence (if you take a look at the model below, you'd start from the Bounding boxes
tool which you can replace with your polygon layer):
Clip raster by mask layer
Input
: your raster layerMask
: your polygon layer
Zonal statistics
Raster layer
: the result from step 1Vector layer zones
: your polygon layerStatistics to calculate
: Max
Reclassify by layer
Raster layer
: result from step 1Layer containing class breaks
: result from step 2all value fields
: _max (if you left the default field prefix in step 2)Use no data when no range matches value
: Yes
Raster pixels to points
Raster layer
: result from step 3
From this moment the output should be vector points at maximum pixel value from the original raster contained in your polygons. There are a few unneeded steps for you as I created a buffer around my original points to get polygons in which to find maximum values, and at the end I joined attributes from my bounding boxes so my output points would have the same attributes as my input points.
Of course, for this to work you have to click the button to iterate over your polygon layer, just like I had to iterate over my points. You'll have as many points layers as you had input polygons, but they can easily be merged into one layer afterwards.
add a comment |
Original question was certainly using QGIS 2.x so many algorithms have been added since. I don't know if this method could be used pre QGIS 3.x but it's certainly relevant now anyway.
I needed to do something similar where I wanted to locate more precise high points with the help of lidar data. My original high points were contained in a point layer that was based off much less precise raster data so what I turned out doing achieves what you were trying to do yourself.
There was no practical way to do it generating one point for each pixel as the spatial resolution of 1m would have been way too heavy to deal with. An alternate method to the other two answers is to isolate the pixel with highest value, turn everything else into NODATA
, and only then generate points from the raster. The null ones are ignored.
I built a model (in QGIS 3.4) where I could iterate over my point layer but it could be done with a polygon layer too. Here's the sequence (if you take a look at the model below, you'd start from the Bounding boxes
tool which you can replace with your polygon layer):
Clip raster by mask layer
Input
: your raster layerMask
: your polygon layer
Zonal statistics
Raster layer
: the result from step 1Vector layer zones
: your polygon layerStatistics to calculate
: Max
Reclassify by layer
Raster layer
: result from step 1Layer containing class breaks
: result from step 2all value fields
: _max (if you left the default field prefix in step 2)Use no data when no range matches value
: Yes
Raster pixels to points
Raster layer
: result from step 3
From this moment the output should be vector points at maximum pixel value from the original raster contained in your polygons. There are a few unneeded steps for you as I created a buffer around my original points to get polygons in which to find maximum values, and at the end I joined attributes from my bounding boxes so my output points would have the same attributes as my input points.
Of course, for this to work you have to click the button to iterate over your polygon layer, just like I had to iterate over my points. You'll have as many points layers as you had input polygons, but they can easily be merged into one layer afterwards.
Original question was certainly using QGIS 2.x so many algorithms have been added since. I don't know if this method could be used pre QGIS 3.x but it's certainly relevant now anyway.
I needed to do something similar where I wanted to locate more precise high points with the help of lidar data. My original high points were contained in a point layer that was based off much less precise raster data so what I turned out doing achieves what you were trying to do yourself.
There was no practical way to do it generating one point for each pixel as the spatial resolution of 1m would have been way too heavy to deal with. An alternate method to the other two answers is to isolate the pixel with highest value, turn everything else into NODATA
, and only then generate points from the raster. The null ones are ignored.
I built a model (in QGIS 3.4) where I could iterate over my point layer but it could be done with a polygon layer too. Here's the sequence (if you take a look at the model below, you'd start from the Bounding boxes
tool which you can replace with your polygon layer):
Clip raster by mask layer
Input
: your raster layerMask
: your polygon layer
Zonal statistics
Raster layer
: the result from step 1Vector layer zones
: your polygon layerStatistics to calculate
: Max
Reclassify by layer
Raster layer
: result from step 1Layer containing class breaks
: result from step 2all value fields
: _max (if you left the default field prefix in step 2)Use no data when no range matches value
: Yes
Raster pixels to points
Raster layer
: result from step 3
From this moment the output should be vector points at maximum pixel value from the original raster contained in your polygons. There are a few unneeded steps for you as I created a buffer around my original points to get polygons in which to find maximum values, and at the end I joined attributes from my bounding boxes so my output points would have the same attributes as my input points.
Of course, for this to work you have to click the button to iterate over your polygon layer, just like I had to iterate over my points. You'll have as many points layers as you had input polygons, but they can easily be merged into one layer afterwards.
answered 2 days ago
Gabriel C.Gabriel C.
1,342320
1,342320
add a comment |
add a comment |
Thanks for contributing an answer to Geographic Information Systems Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f255882%2fextract-highest-point-in-raster-and-convert-to-point-vector%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Welcome to GIS SE. As a new user, please take the Tour. We are not a tutorial site. All questions are expected to contain not only what you need to do, but what you have attempted, and what has gone wrong.
– Vince
Sep 19 '17 at 10:31