How to remove narrow polygon dangles The Next CEO of Stack OverflowHow to repair and clean contours from high data resolution (lidar)?How to clean layers from non topological databases?Calculating roundness/compactness of polygon?Applying Snap_edit to polygon Geometry ObjectWhich GIS software allows manually creating shapes from overlapping shapes of other layers?Converting polygon to lines without duplicate edges?Detecting branched polygon shape?All nodes are duplicate in polygonize resultHow to polygonise a large and detailed raster into a single valid polygon with QGIS?How to remove narrow 'notches' in polygons?
What would be the main consequences for a country leaving the WTO?
Help/tips for a first time writer?
Does higher Oxidation/ reduction potential translate to higher energy storage in battery?
What are the unusually-enlarged wing sections on this P-38 Lightning?
Inductor and Capacitor in Parallel
How to use ReplaceAll on an expression that contains a rule
"Eavesdropping" vs "Listen in on"
Why am I getting "Static method cannot be referenced from a non static context: String String.valueOf(Object)"?
It is correct to match light sources with the same color temperature?
Is it correct to say moon starry nights?
Could a dragon use its wings to swim?
Computationally populating tables with probability data
Is there a difference between "Fahrstuhl" and "Aufzug"?
How do you define an element with an ID attribute using LWC?
(How) Could a medieval fantasy world survive a magic-induced "nuclear winter"?
In the "Harry Potter and the Order of the Phoenix" video game, what potion is used to sabotage Umbridge's speakers?
Raspberry pi 3 B with Ubuntu 18.04 server arm64: what chip
What is the difference between "hamstring tendon" and "common hamstring tendon"?
My ex-girlfriend uses my Apple ID to login to her iPad, do I have to give her my Apple ID password to reset it?
Cannot shrink btrfs filesystem although there is still data and metadata space left : ERROR: unable to resize '/home': No space left on device
What day is it again?
What difference does it make using sed with/without whitespaces?
Purpose of level-shifter with same in and out voltages
Does Germany produce more waste than the US?
How to remove narrow polygon dangles
The Next CEO of Stack OverflowHow to repair and clean contours from high data resolution (lidar)?How to clean layers from non topological databases?Calculating roundness/compactness of polygon?Applying Snap_edit to polygon Geometry ObjectWhich GIS software allows manually creating shapes from overlapping shapes of other layers?Converting polygon to lines without duplicate edges?Detecting branched polygon shape?All nodes are duplicate in polygonize resultHow to polygonise a large and detailed raster into a single valid polygon with QGIS?How to remove narrow 'notches' in polygons?
Using QGIS v 3.4.4.
I have a polygon layer in which some shapes have a very narrow extension that i would like to remove. Unless zoomed in these extensions appear as dangles but when zoomed right in you can see that they are part of the polygon shape. I have tried the v.clean toolset without success and snap geometries to layer which ends up crashing the project. I can manually edit the shape to correct but I don't know how many or where these occur in the layer.
qgis polygon editing
add a comment |
Using QGIS v 3.4.4.
I have a polygon layer in which some shapes have a very narrow extension that i would like to remove. Unless zoomed in these extensions appear as dangles but when zoomed right in you can see that they are part of the polygon shape. I have tried the v.clean toolset without success and snap geometries to layer which ends up crashing the project. I can manually edit the shape to correct but I don't know how many or where these occur in the layer.
qgis polygon editing
add a comment |
Using QGIS v 3.4.4.
I have a polygon layer in which some shapes have a very narrow extension that i would like to remove. Unless zoomed in these extensions appear as dangles but when zoomed right in you can see that they are part of the polygon shape. I have tried the v.clean toolset without success and snap geometries to layer which ends up crashing the project. I can manually edit the shape to correct but I don't know how many or where these occur in the layer.
qgis polygon editing
Using QGIS v 3.4.4.
I have a polygon layer in which some shapes have a very narrow extension that i would like to remove. Unless zoomed in these extensions appear as dangles but when zoomed right in you can see that they are part of the polygon shape. I have tried the v.clean toolset without success and snap geometries to layer which ends up crashing the project. I can manually edit the shape to correct but I don't know how many or where these occur in the layer.
qgis polygon editing
qgis polygon editing
edited 2 days ago
PolyGeo♦
53.8k1781245
53.8k1781245
asked 2 days ago
YonnovYonnov
362
362
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
Nice geometric exercise:
- Compute vertices of original polygons, keep polygon ID,
- Compute small negative buffers of original polygons,
- Compute distances of vertices to corresponding negative buffer (scripting required) unless polygons are far away from each other,
- Express distances in terms of standard deviation for individual groups,
Results shown in the picture below:
I would visit every point with distance greater than 3 deviations and delete ones that looks like artefact. Remaining point can be converted back to polygons, because they are ordered and store polygon ID. Alternative is manual editing, because automatic technique won't work for donuts.
For 'inside' needle use positive buffer in step 2).
I tested workflow below in ArcGis, see if you can find same tools in QGIS, which is very likely.
add a comment |
In the past I have used the algorithm given by Gaspare Sganga's PostGIS normalization page.
The despiking step is:
The function analyzes all the adjacent points in the input geometry in groups of three.
Now imagine a triangle is drawn connecting those three points. The central point of a group is removed in one of the following cases:
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the central point is smaller than PAR_angle_threshold.
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the first or the last point is smaller than PAR_angle_threshold while the distance between the other two points is smaller than PAR_point_distance_threshold.
The area of the triangle is smaller than PAR_null_area, regardless of the angles.
add a comment |
Your task is successfully solved in QGIS using the buffer tool (playing with negative and positive values),
See the initial screenshot with a spike in Figure 1.
1) Run the tool on the Menu bar Vector> Geoprocessing> Buffer and set the negative buffer, so so that it is guaranteed to eat all your spikes, based on their maximum width, see screenshot 2.
2) Then repeat the steps on the virtual buffer, for which set positive buffer values as shown in screenshot 3,
see the result in screenshot 4,
save it and good luck ... :-),
This will create polygon with a lot of unnecessary verticees. Original vertices on sharp corners will move deep inside original polygon.
– FelixIP
yesterday
FelixIP, Of course, everything depends on the operation of the algorithm itself and its correct settings in QGIS 3.4. I did not develop it, and nevertheless it is able to solve this problem, perhaps with a slight simplification of the true shape ...
– Cyril
yesterday
It is what I'd call cartographic solution, though that spike won't be visible at small scale anyway. It replaces few vertices polygon by completely different shape. If shape in question shares edge with other polygon, the whole topology will be ruined. 2 other solution below designed to minimize that damage.
– FelixIP
yesterday
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%2f317208%2fhow-to-remove-narrow-polygon-dangles%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
Nice geometric exercise:
- Compute vertices of original polygons, keep polygon ID,
- Compute small negative buffers of original polygons,
- Compute distances of vertices to corresponding negative buffer (scripting required) unless polygons are far away from each other,
- Express distances in terms of standard deviation for individual groups,
Results shown in the picture below:
I would visit every point with distance greater than 3 deviations and delete ones that looks like artefact. Remaining point can be converted back to polygons, because they are ordered and store polygon ID. Alternative is manual editing, because automatic technique won't work for donuts.
For 'inside' needle use positive buffer in step 2).
I tested workflow below in ArcGis, see if you can find same tools in QGIS, which is very likely.
add a comment |
Nice geometric exercise:
- Compute vertices of original polygons, keep polygon ID,
- Compute small negative buffers of original polygons,
- Compute distances of vertices to corresponding negative buffer (scripting required) unless polygons are far away from each other,
- Express distances in terms of standard deviation for individual groups,
Results shown in the picture below:
I would visit every point with distance greater than 3 deviations and delete ones that looks like artefact. Remaining point can be converted back to polygons, because they are ordered and store polygon ID. Alternative is manual editing, because automatic technique won't work for donuts.
For 'inside' needle use positive buffer in step 2).
I tested workflow below in ArcGis, see if you can find same tools in QGIS, which is very likely.
add a comment |
Nice geometric exercise:
- Compute vertices of original polygons, keep polygon ID,
- Compute small negative buffers of original polygons,
- Compute distances of vertices to corresponding negative buffer (scripting required) unless polygons are far away from each other,
- Express distances in terms of standard deviation for individual groups,
Results shown in the picture below:
I would visit every point with distance greater than 3 deviations and delete ones that looks like artefact. Remaining point can be converted back to polygons, because they are ordered and store polygon ID. Alternative is manual editing, because automatic technique won't work for donuts.
For 'inside' needle use positive buffer in step 2).
I tested workflow below in ArcGis, see if you can find same tools in QGIS, which is very likely.
Nice geometric exercise:
- Compute vertices of original polygons, keep polygon ID,
- Compute small negative buffers of original polygons,
- Compute distances of vertices to corresponding negative buffer (scripting required) unless polygons are far away from each other,
- Express distances in terms of standard deviation for individual groups,
Results shown in the picture below:
I would visit every point with distance greater than 3 deviations and delete ones that looks like artefact. Remaining point can be converted back to polygons, because they are ordered and store polygon ID. Alternative is manual editing, because automatic technique won't work for donuts.
For 'inside' needle use positive buffer in step 2).
I tested workflow below in ArcGis, see if you can find same tools in QGIS, which is very likely.
answered 2 days ago
FelixIPFelixIP
16.6k11642
16.6k11642
add a comment |
add a comment |
In the past I have used the algorithm given by Gaspare Sganga's PostGIS normalization page.
The despiking step is:
The function analyzes all the adjacent points in the input geometry in groups of three.
Now imagine a triangle is drawn connecting those three points. The central point of a group is removed in one of the following cases:
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the central point is smaller than PAR_angle_threshold.
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the first or the last point is smaller than PAR_angle_threshold while the distance between the other two points is smaller than PAR_point_distance_threshold.
The area of the triangle is smaller than PAR_null_area, regardless of the angles.
add a comment |
In the past I have used the algorithm given by Gaspare Sganga's PostGIS normalization page.
The despiking step is:
The function analyzes all the adjacent points in the input geometry in groups of three.
Now imagine a triangle is drawn connecting those three points. The central point of a group is removed in one of the following cases:
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the central point is smaller than PAR_angle_threshold.
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the first or the last point is smaller than PAR_angle_threshold while the distance between the other two points is smaller than PAR_point_distance_threshold.
The area of the triangle is smaller than PAR_null_area, regardless of the angles.
add a comment |
In the past I have used the algorithm given by Gaspare Sganga's PostGIS normalization page.
The despiking step is:
The function analyzes all the adjacent points in the input geometry in groups of three.
Now imagine a triangle is drawn connecting those three points. The central point of a group is removed in one of the following cases:
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the central point is smaller than PAR_angle_threshold.
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the first or the last point is smaller than PAR_angle_threshold while the distance between the other two points is smaller than PAR_point_distance_threshold.
The area of the triangle is smaller than PAR_null_area, regardless of the angles.
In the past I have used the algorithm given by Gaspare Sganga's PostGIS normalization page.
The despiking step is:
The function analyzes all the adjacent points in the input geometry in groups of three.
Now imagine a triangle is drawn connecting those three points. The central point of a group is removed in one of the following cases:
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the central point is smaller than PAR_angle_threshold.
The area of the triangle is smaller than PAR_area_threshold and the angle corresponding to the first or the last point is smaller than PAR_angle_threshold while the distance between the other two points is smaller than PAR_point_distance_threshold.
The area of the triangle is smaller than PAR_null_area, regardless of the angles.
answered yesterday
Ian Turton♦Ian Turton
50k548116
50k548116
add a comment |
add a comment |
Your task is successfully solved in QGIS using the buffer tool (playing with negative and positive values),
See the initial screenshot with a spike in Figure 1.
1) Run the tool on the Menu bar Vector> Geoprocessing> Buffer and set the negative buffer, so so that it is guaranteed to eat all your spikes, based on their maximum width, see screenshot 2.
2) Then repeat the steps on the virtual buffer, for which set positive buffer values as shown in screenshot 3,
see the result in screenshot 4,
save it and good luck ... :-),
This will create polygon with a lot of unnecessary verticees. Original vertices on sharp corners will move deep inside original polygon.
– FelixIP
yesterday
FelixIP, Of course, everything depends on the operation of the algorithm itself and its correct settings in QGIS 3.4. I did not develop it, and nevertheless it is able to solve this problem, perhaps with a slight simplification of the true shape ...
– Cyril
yesterday
It is what I'd call cartographic solution, though that spike won't be visible at small scale anyway. It replaces few vertices polygon by completely different shape. If shape in question shares edge with other polygon, the whole topology will be ruined. 2 other solution below designed to minimize that damage.
– FelixIP
yesterday
add a comment |
Your task is successfully solved in QGIS using the buffer tool (playing with negative and positive values),
See the initial screenshot with a spike in Figure 1.
1) Run the tool on the Menu bar Vector> Geoprocessing> Buffer and set the negative buffer, so so that it is guaranteed to eat all your spikes, based on their maximum width, see screenshot 2.
2) Then repeat the steps on the virtual buffer, for which set positive buffer values as shown in screenshot 3,
see the result in screenshot 4,
save it and good luck ... :-),
This will create polygon with a lot of unnecessary verticees. Original vertices on sharp corners will move deep inside original polygon.
– FelixIP
yesterday
FelixIP, Of course, everything depends on the operation of the algorithm itself and its correct settings in QGIS 3.4. I did not develop it, and nevertheless it is able to solve this problem, perhaps with a slight simplification of the true shape ...
– Cyril
yesterday
It is what I'd call cartographic solution, though that spike won't be visible at small scale anyway. It replaces few vertices polygon by completely different shape. If shape in question shares edge with other polygon, the whole topology will be ruined. 2 other solution below designed to minimize that damage.
– FelixIP
yesterday
add a comment |
Your task is successfully solved in QGIS using the buffer tool (playing with negative and positive values),
See the initial screenshot with a spike in Figure 1.
1) Run the tool on the Menu bar Vector> Geoprocessing> Buffer and set the negative buffer, so so that it is guaranteed to eat all your spikes, based on their maximum width, see screenshot 2.
2) Then repeat the steps on the virtual buffer, for which set positive buffer values as shown in screenshot 3,
see the result in screenshot 4,
save it and good luck ... :-),
Your task is successfully solved in QGIS using the buffer tool (playing with negative and positive values),
See the initial screenshot with a spike in Figure 1.
1) Run the tool on the Menu bar Vector> Geoprocessing> Buffer and set the negative buffer, so so that it is guaranteed to eat all your spikes, based on their maximum width, see screenshot 2.
2) Then repeat the steps on the virtual buffer, for which set positive buffer values as shown in screenshot 3,
see the result in screenshot 4,
save it and good luck ... :-),
edited yesterday
answered yesterday
CyrilCyril
1,1051214
1,1051214
This will create polygon with a lot of unnecessary verticees. Original vertices on sharp corners will move deep inside original polygon.
– FelixIP
yesterday
FelixIP, Of course, everything depends on the operation of the algorithm itself and its correct settings in QGIS 3.4. I did not develop it, and nevertheless it is able to solve this problem, perhaps with a slight simplification of the true shape ...
– Cyril
yesterday
It is what I'd call cartographic solution, though that spike won't be visible at small scale anyway. It replaces few vertices polygon by completely different shape. If shape in question shares edge with other polygon, the whole topology will be ruined. 2 other solution below designed to minimize that damage.
– FelixIP
yesterday
add a comment |
This will create polygon with a lot of unnecessary verticees. Original vertices on sharp corners will move deep inside original polygon.
– FelixIP
yesterday
FelixIP, Of course, everything depends on the operation of the algorithm itself and its correct settings in QGIS 3.4. I did not develop it, and nevertheless it is able to solve this problem, perhaps with a slight simplification of the true shape ...
– Cyril
yesterday
It is what I'd call cartographic solution, though that spike won't be visible at small scale anyway. It replaces few vertices polygon by completely different shape. If shape in question shares edge with other polygon, the whole topology will be ruined. 2 other solution below designed to minimize that damage.
– FelixIP
yesterday
This will create polygon with a lot of unnecessary verticees. Original vertices on sharp corners will move deep inside original polygon.
– FelixIP
yesterday
This will create polygon with a lot of unnecessary verticees. Original vertices on sharp corners will move deep inside original polygon.
– FelixIP
yesterday
FelixIP, Of course, everything depends on the operation of the algorithm itself and its correct settings in QGIS 3.4. I did not develop it, and nevertheless it is able to solve this problem, perhaps with a slight simplification of the true shape ...
– Cyril
yesterday
FelixIP, Of course, everything depends on the operation of the algorithm itself and its correct settings in QGIS 3.4. I did not develop it, and nevertheless it is able to solve this problem, perhaps with a slight simplification of the true shape ...
– Cyril
yesterday
It is what I'd call cartographic solution, though that spike won't be visible at small scale anyway. It replaces few vertices polygon by completely different shape. If shape in question shares edge with other polygon, the whole topology will be ruined. 2 other solution below designed to minimize that damage.
– FelixIP
yesterday
It is what I'd call cartographic solution, though that spike won't be visible at small scale anyway. It replaces few vertices polygon by completely different shape. If shape in question shares edge with other polygon, the whole topology will be ruined. 2 other solution below designed to minimize that damage.
– FelixIP
yesterday
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%2f317208%2fhow-to-remove-narrow-polygon-dangles%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