Calculate volume of space defined by multiple overlapping 3D polygonsPostGIS ST_ConvexHull for cube corners...
How exactly does Hawking radiation decrease the mass of black holes?
Rivers without rain
How do I deal with a coworker that keeps asking to make small superficial changes to a report, and it is seriously triggering my anxiety?
What does the integral of a function times a function of a random variable represent, conceptually?
What happens in the secondary winding if there's no spark plug connected?
What is the smallest unit of eos?
Re-entry to Germany after vacation using blue card
Is the claim "Employers won't employ people with no 'social media presence'" realistic?
"Whatever a Russian does, they end up making the Kalashnikov gun"? Are there any similar proverbs in English?
Is it idiomatic to construct against `this`
How can I display numbers like 2 over 2, but not have them as fractions?
Dynamic SOQL query relationship with field visibility for Users
Why does Mind Blank stop the Feeblemind spell?
Coordinate my way to the name of the (video) game
Why didn't the Space Shuttle bounce back into space as many times as possible so as to lose a lot of kinetic energy up there?
"Hidden" theta-term in Hamiltonian formulation of Yang-Mills theory
Why was the Spitfire's elliptical wing almost uncopied by other aircraft of World War 2?
What makes accurate emulation of old systems a difficult task?
Constructions of PRF (Pseudo Random Function)
Extension of 2-adic valuation to the real numbers
Like totally amazing interchangeable sister outfits II: The Revenge
How to not starve gigantic beasts
How to have a sharp product image?
How to denote matrix elements succinctly?
Calculate volume of space defined by multiple overlapping 3D polygons
PostGIS ST_ConvexHull for cube corners not as expectedGRASS v.hull for many point sets
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I have thousands of 3D polygons scattered in space but they mostly overlap with many of their neighbors in big extent. Is there any way how to compute volume they define effectively? I would love to have precise volume, but some relatively good approximation will do too.
My solutions so far:
v.patch() (GRASS) - so far, I was able to just patch faces and kernels, but it does not form closed 3D polygon after looong computation.
ST_3DUnion() (Postgis) - unfortunately, the function is not an aggregate function (it accepts only two simple arguments). I have wrote function calling ST_3DUnion iteratively, unioning polygons one by one. But obviously, computation is slow and basically stops on polygon 100.
substracting polygons from master volume (Postgis) - creating one big polygon from bbox of all my polygons and then using ST_3DDifference while iteratively substracting every single polygon. What I am left with is big polygon with a hole with volume of my interest. Never tried - probably same issue as 2).
overlap with 3D point grid (Postgis) - I could create 3D points not far away each other in such way they form regular grid which covers bbox of all polygons. Finally, I would create spatial index on this layer and count points falling inside any polygon (operator &&& and ST_3DIntesects() could help a lot). But it is extremely memory demanding and gives "only" estimation of the volume. Kinda rasterization by 3D raster.
Obviously 1), 2) and 3) are suffering from exponential increase of faces/points after processing several polygons. Maybe, there is a way which does not require so expensive operations? Especially when I am interested only in volume.
Just to explain, I am trying to implement relatively simple Local Convex Hull algorithm in 3D. I have solved 3D hulling in GRASS (see my previous question) since ST_ConvexHull() does not work in 3D.
Any brilliant ideas? Thank you
postgis grass 3d spatial-index volume
add a comment |
I have thousands of 3D polygons scattered in space but they mostly overlap with many of their neighbors in big extent. Is there any way how to compute volume they define effectively? I would love to have precise volume, but some relatively good approximation will do too.
My solutions so far:
v.patch() (GRASS) - so far, I was able to just patch faces and kernels, but it does not form closed 3D polygon after looong computation.
ST_3DUnion() (Postgis) - unfortunately, the function is not an aggregate function (it accepts only two simple arguments). I have wrote function calling ST_3DUnion iteratively, unioning polygons one by one. But obviously, computation is slow and basically stops on polygon 100.
substracting polygons from master volume (Postgis) - creating one big polygon from bbox of all my polygons and then using ST_3DDifference while iteratively substracting every single polygon. What I am left with is big polygon with a hole with volume of my interest. Never tried - probably same issue as 2).
overlap with 3D point grid (Postgis) - I could create 3D points not far away each other in such way they form regular grid which covers bbox of all polygons. Finally, I would create spatial index on this layer and count points falling inside any polygon (operator &&& and ST_3DIntesects() could help a lot). But it is extremely memory demanding and gives "only" estimation of the volume. Kinda rasterization by 3D raster.
Obviously 1), 2) and 3) are suffering from exponential increase of faces/points after processing several polygons. Maybe, there is a way which does not require so expensive operations? Especially when I am interested only in volume.
Just to explain, I am trying to implement relatively simple Local Convex Hull algorithm in 3D. I have solved 3D hulling in GRASS (see my previous question) since ST_ConvexHull() does not work in 3D.
Any brilliant ideas? Thank you
postgis grass 3d spatial-index volume
add a comment |
I have thousands of 3D polygons scattered in space but they mostly overlap with many of their neighbors in big extent. Is there any way how to compute volume they define effectively? I would love to have precise volume, but some relatively good approximation will do too.
My solutions so far:
v.patch() (GRASS) - so far, I was able to just patch faces and kernels, but it does not form closed 3D polygon after looong computation.
ST_3DUnion() (Postgis) - unfortunately, the function is not an aggregate function (it accepts only two simple arguments). I have wrote function calling ST_3DUnion iteratively, unioning polygons one by one. But obviously, computation is slow and basically stops on polygon 100.
substracting polygons from master volume (Postgis) - creating one big polygon from bbox of all my polygons and then using ST_3DDifference while iteratively substracting every single polygon. What I am left with is big polygon with a hole with volume of my interest. Never tried - probably same issue as 2).
overlap with 3D point grid (Postgis) - I could create 3D points not far away each other in such way they form regular grid which covers bbox of all polygons. Finally, I would create spatial index on this layer and count points falling inside any polygon (operator &&& and ST_3DIntesects() could help a lot). But it is extremely memory demanding and gives "only" estimation of the volume. Kinda rasterization by 3D raster.
Obviously 1), 2) and 3) are suffering from exponential increase of faces/points after processing several polygons. Maybe, there is a way which does not require so expensive operations? Especially when I am interested only in volume.
Just to explain, I am trying to implement relatively simple Local Convex Hull algorithm in 3D. I have solved 3D hulling in GRASS (see my previous question) since ST_ConvexHull() does not work in 3D.
Any brilliant ideas? Thank you
postgis grass 3d spatial-index volume
I have thousands of 3D polygons scattered in space but they mostly overlap with many of their neighbors in big extent. Is there any way how to compute volume they define effectively? I would love to have precise volume, but some relatively good approximation will do too.
My solutions so far:
v.patch() (GRASS) - so far, I was able to just patch faces and kernels, but it does not form closed 3D polygon after looong computation.
ST_3DUnion() (Postgis) - unfortunately, the function is not an aggregate function (it accepts only two simple arguments). I have wrote function calling ST_3DUnion iteratively, unioning polygons one by one. But obviously, computation is slow and basically stops on polygon 100.
substracting polygons from master volume (Postgis) - creating one big polygon from bbox of all my polygons and then using ST_3DDifference while iteratively substracting every single polygon. What I am left with is big polygon with a hole with volume of my interest. Never tried - probably same issue as 2).
overlap with 3D point grid (Postgis) - I could create 3D points not far away each other in such way they form regular grid which covers bbox of all polygons. Finally, I would create spatial index on this layer and count points falling inside any polygon (operator &&& and ST_3DIntesects() could help a lot). But it is extremely memory demanding and gives "only" estimation of the volume. Kinda rasterization by 3D raster.
Obviously 1), 2) and 3) are suffering from exponential increase of faces/points after processing several polygons. Maybe, there is a way which does not require so expensive operations? Especially when I am interested only in volume.
Just to explain, I am trying to implement relatively simple Local Convex Hull algorithm in 3D. I have solved 3D hulling in GRASS (see my previous question) since ST_ConvexHull() does not work in 3D.
Any brilliant ideas? Thank you
postgis grass 3d spatial-index volume
postgis grass 3d spatial-index volume
asked 1 min ago
Dead VilDead Vil
32
32
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
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%2f321013%2fcalculate-volume-of-space-defined-by-multiple-overlapping-3d-polygons%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2f321013%2fcalculate-volume-of-space-defined-by-multiple-overlapping-3d-polygons%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