In geodms, how can I remove an unconnected piece of arc?
In geodms by object vision, I have simulated heat networks by connecting a road map to house centres using the function connect. Then I filtered the roads to keep only the connected ones. However, I'm still left with pieces of road which are only connected to other pieces of road and I want to exclude those.
How can I achieve this in geodms?
geospatial geocoding
add a comment |
In geodms by object vision, I have simulated heat networks by connecting a road map to house centres using the function connect. Then I filtered the roads to keep only the connected ones. However, I'm still left with pieces of road which are only connected to other pieces of road and I want to exclude those.
How can I achieve this in geodms?
geospatial geocoding
add a comment |
In geodms by object vision, I have simulated heat networks by connecting a road map to house centres using the function connect. Then I filtered the roads to keep only the connected ones. However, I'm still left with pieces of road which are only connected to other pieces of road and I want to exclude those.
How can I achieve this in geodms?
geospatial geocoding
In geodms by object vision, I have simulated heat networks by connecting a road map to house centres using the function connect. Then I filtered the roads to keep only the connected ones. However, I'm still left with pieces of road which are only connected to other pieces of road and I want to exclude those.
How can I achieve this in geodms?
geospatial geocoding
geospatial geocoding
asked Nov 21 '18 at 15:00
OttoOtto
113
113
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
You can use http://wiki.objectvision.nl/index.php/Dijkstra_functions to assign a flow from each house centre to a heat source. Then you can select those network segments that have a positive flow.
one can generate route counts per link with the dijkstra options interaction(v_i,w_j,dist_decay,OrgZone_alpha):D_i,C_j,Link_flow by setting vi=wj=αi=1.0 and γ=0.0. The resulting Di and Cj are total route counts per origin an destination.
Thanks for your reply! (I could not upvote due to too little credits.) I was wondering if Dijkstra would make sense, since it seems impedance-based. Let's say there are 10 houses in a street and the street has two exits to the larger network. If 9 houses have been connected through one exit, we would like the 10th to connect to that same exit, since costs for increasing pipe diameter are much smaller than costs for implementing a new pipe on the other exit of the street. I would say an impedance-based algorithm, however, would choose the new exit.
– Otto
Nov 24 '18 at 8:55
Perhaps we could solve this by setting all impedances to 0 and therefore allowing any flow through all network segments. But in this case, will the algorithm still come up with the shortest path?
– Otto
Nov 24 '18 at 9:01
Additionally, even if the algorithm would choose the shortest path to a source for each heat user, the result may not be optimal since a shortest path for a single newly connected house could include a giant amount of new heat network, instead of the slightly longer route through existing heat network. I think what would be needed is an algorithm which rewards using already filled network segments, even if this makes the route longer. Maybe by calculating added costs to all used network segments and then minimizing those?
– Otto
Nov 24 '18 at 9:10
@Otto: you are right about the shortest paths solution not being optimal. When you want to find a network with minimal total pipe-length, ignoring the extra costs for larger capacity pipes, you can see this as a Minimum Spanning Tree (MST). MST currently is not an existing function in GeoDMS, but could be implemented by adding shortest edges in iterations.
– Maarten Hilferink
Nov 26 '18 at 9:27
When such iterative algorithm is to start with the sources, you could also weight the total length to the source for new heat-users at each iteration. Although the relative weight of already allocated segments depends on how much more capacity is needed later on, I think the resulting network is (near) optimal and a good indication of total network length.
– Maarten Hilferink
Nov 26 '18 at 9:27
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
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: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
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%2fstackoverflow.com%2fquestions%2f53414843%2fin-geodms-how-can-i-remove-an-unconnected-piece-of-arc%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can use http://wiki.objectvision.nl/index.php/Dijkstra_functions to assign a flow from each house centre to a heat source. Then you can select those network segments that have a positive flow.
one can generate route counts per link with the dijkstra options interaction(v_i,w_j,dist_decay,OrgZone_alpha):D_i,C_j,Link_flow by setting vi=wj=αi=1.0 and γ=0.0. The resulting Di and Cj are total route counts per origin an destination.
Thanks for your reply! (I could not upvote due to too little credits.) I was wondering if Dijkstra would make sense, since it seems impedance-based. Let's say there are 10 houses in a street and the street has two exits to the larger network. If 9 houses have been connected through one exit, we would like the 10th to connect to that same exit, since costs for increasing pipe diameter are much smaller than costs for implementing a new pipe on the other exit of the street. I would say an impedance-based algorithm, however, would choose the new exit.
– Otto
Nov 24 '18 at 8:55
Perhaps we could solve this by setting all impedances to 0 and therefore allowing any flow through all network segments. But in this case, will the algorithm still come up with the shortest path?
– Otto
Nov 24 '18 at 9:01
Additionally, even if the algorithm would choose the shortest path to a source for each heat user, the result may not be optimal since a shortest path for a single newly connected house could include a giant amount of new heat network, instead of the slightly longer route through existing heat network. I think what would be needed is an algorithm which rewards using already filled network segments, even if this makes the route longer. Maybe by calculating added costs to all used network segments and then minimizing those?
– Otto
Nov 24 '18 at 9:10
@Otto: you are right about the shortest paths solution not being optimal. When you want to find a network with minimal total pipe-length, ignoring the extra costs for larger capacity pipes, you can see this as a Minimum Spanning Tree (MST). MST currently is not an existing function in GeoDMS, but could be implemented by adding shortest edges in iterations.
– Maarten Hilferink
Nov 26 '18 at 9:27
When such iterative algorithm is to start with the sources, you could also weight the total length to the source for new heat-users at each iteration. Although the relative weight of already allocated segments depends on how much more capacity is needed later on, I think the resulting network is (near) optimal and a good indication of total network length.
– Maarten Hilferink
Nov 26 '18 at 9:27
add a comment |
You can use http://wiki.objectvision.nl/index.php/Dijkstra_functions to assign a flow from each house centre to a heat source. Then you can select those network segments that have a positive flow.
one can generate route counts per link with the dijkstra options interaction(v_i,w_j,dist_decay,OrgZone_alpha):D_i,C_j,Link_flow by setting vi=wj=αi=1.0 and γ=0.0. The resulting Di and Cj are total route counts per origin an destination.
Thanks for your reply! (I could not upvote due to too little credits.) I was wondering if Dijkstra would make sense, since it seems impedance-based. Let's say there are 10 houses in a street and the street has two exits to the larger network. If 9 houses have been connected through one exit, we would like the 10th to connect to that same exit, since costs for increasing pipe diameter are much smaller than costs for implementing a new pipe on the other exit of the street. I would say an impedance-based algorithm, however, would choose the new exit.
– Otto
Nov 24 '18 at 8:55
Perhaps we could solve this by setting all impedances to 0 and therefore allowing any flow through all network segments. But in this case, will the algorithm still come up with the shortest path?
– Otto
Nov 24 '18 at 9:01
Additionally, even if the algorithm would choose the shortest path to a source for each heat user, the result may not be optimal since a shortest path for a single newly connected house could include a giant amount of new heat network, instead of the slightly longer route through existing heat network. I think what would be needed is an algorithm which rewards using already filled network segments, even if this makes the route longer. Maybe by calculating added costs to all used network segments and then minimizing those?
– Otto
Nov 24 '18 at 9:10
@Otto: you are right about the shortest paths solution not being optimal. When you want to find a network with minimal total pipe-length, ignoring the extra costs for larger capacity pipes, you can see this as a Minimum Spanning Tree (MST). MST currently is not an existing function in GeoDMS, but could be implemented by adding shortest edges in iterations.
– Maarten Hilferink
Nov 26 '18 at 9:27
When such iterative algorithm is to start with the sources, you could also weight the total length to the source for new heat-users at each iteration. Although the relative weight of already allocated segments depends on how much more capacity is needed later on, I think the resulting network is (near) optimal and a good indication of total network length.
– Maarten Hilferink
Nov 26 '18 at 9:27
add a comment |
You can use http://wiki.objectvision.nl/index.php/Dijkstra_functions to assign a flow from each house centre to a heat source. Then you can select those network segments that have a positive flow.
one can generate route counts per link with the dijkstra options interaction(v_i,w_j,dist_decay,OrgZone_alpha):D_i,C_j,Link_flow by setting vi=wj=αi=1.0 and γ=0.0. The resulting Di and Cj are total route counts per origin an destination.
You can use http://wiki.objectvision.nl/index.php/Dijkstra_functions to assign a flow from each house centre to a heat source. Then you can select those network segments that have a positive flow.
one can generate route counts per link with the dijkstra options interaction(v_i,w_j,dist_decay,OrgZone_alpha):D_i,C_j,Link_flow by setting vi=wj=αi=1.0 and γ=0.0. The resulting Di and Cj are total route counts per origin an destination.
answered Nov 22 '18 at 23:38
Maarten HilferinkMaarten Hilferink
538310
538310
Thanks for your reply! (I could not upvote due to too little credits.) I was wondering if Dijkstra would make sense, since it seems impedance-based. Let's say there are 10 houses in a street and the street has two exits to the larger network. If 9 houses have been connected through one exit, we would like the 10th to connect to that same exit, since costs for increasing pipe diameter are much smaller than costs for implementing a new pipe on the other exit of the street. I would say an impedance-based algorithm, however, would choose the new exit.
– Otto
Nov 24 '18 at 8:55
Perhaps we could solve this by setting all impedances to 0 and therefore allowing any flow through all network segments. But in this case, will the algorithm still come up with the shortest path?
– Otto
Nov 24 '18 at 9:01
Additionally, even if the algorithm would choose the shortest path to a source for each heat user, the result may not be optimal since a shortest path for a single newly connected house could include a giant amount of new heat network, instead of the slightly longer route through existing heat network. I think what would be needed is an algorithm which rewards using already filled network segments, even if this makes the route longer. Maybe by calculating added costs to all used network segments and then minimizing those?
– Otto
Nov 24 '18 at 9:10
@Otto: you are right about the shortest paths solution not being optimal. When you want to find a network with minimal total pipe-length, ignoring the extra costs for larger capacity pipes, you can see this as a Minimum Spanning Tree (MST). MST currently is not an existing function in GeoDMS, but could be implemented by adding shortest edges in iterations.
– Maarten Hilferink
Nov 26 '18 at 9:27
When such iterative algorithm is to start with the sources, you could also weight the total length to the source for new heat-users at each iteration. Although the relative weight of already allocated segments depends on how much more capacity is needed later on, I think the resulting network is (near) optimal and a good indication of total network length.
– Maarten Hilferink
Nov 26 '18 at 9:27
add a comment |
Thanks for your reply! (I could not upvote due to too little credits.) I was wondering if Dijkstra would make sense, since it seems impedance-based. Let's say there are 10 houses in a street and the street has two exits to the larger network. If 9 houses have been connected through one exit, we would like the 10th to connect to that same exit, since costs for increasing pipe diameter are much smaller than costs for implementing a new pipe on the other exit of the street. I would say an impedance-based algorithm, however, would choose the new exit.
– Otto
Nov 24 '18 at 8:55
Perhaps we could solve this by setting all impedances to 0 and therefore allowing any flow through all network segments. But in this case, will the algorithm still come up with the shortest path?
– Otto
Nov 24 '18 at 9:01
Additionally, even if the algorithm would choose the shortest path to a source for each heat user, the result may not be optimal since a shortest path for a single newly connected house could include a giant amount of new heat network, instead of the slightly longer route through existing heat network. I think what would be needed is an algorithm which rewards using already filled network segments, even if this makes the route longer. Maybe by calculating added costs to all used network segments and then minimizing those?
– Otto
Nov 24 '18 at 9:10
@Otto: you are right about the shortest paths solution not being optimal. When you want to find a network with minimal total pipe-length, ignoring the extra costs for larger capacity pipes, you can see this as a Minimum Spanning Tree (MST). MST currently is not an existing function in GeoDMS, but could be implemented by adding shortest edges in iterations.
– Maarten Hilferink
Nov 26 '18 at 9:27
When such iterative algorithm is to start with the sources, you could also weight the total length to the source for new heat-users at each iteration. Although the relative weight of already allocated segments depends on how much more capacity is needed later on, I think the resulting network is (near) optimal and a good indication of total network length.
– Maarten Hilferink
Nov 26 '18 at 9:27
Thanks for your reply! (I could not upvote due to too little credits.) I was wondering if Dijkstra would make sense, since it seems impedance-based. Let's say there are 10 houses in a street and the street has two exits to the larger network. If 9 houses have been connected through one exit, we would like the 10th to connect to that same exit, since costs for increasing pipe diameter are much smaller than costs for implementing a new pipe on the other exit of the street. I would say an impedance-based algorithm, however, would choose the new exit.
– Otto
Nov 24 '18 at 8:55
Thanks for your reply! (I could not upvote due to too little credits.) I was wondering if Dijkstra would make sense, since it seems impedance-based. Let's say there are 10 houses in a street and the street has two exits to the larger network. If 9 houses have been connected through one exit, we would like the 10th to connect to that same exit, since costs for increasing pipe diameter are much smaller than costs for implementing a new pipe on the other exit of the street. I would say an impedance-based algorithm, however, would choose the new exit.
– Otto
Nov 24 '18 at 8:55
Perhaps we could solve this by setting all impedances to 0 and therefore allowing any flow through all network segments. But in this case, will the algorithm still come up with the shortest path?
– Otto
Nov 24 '18 at 9:01
Perhaps we could solve this by setting all impedances to 0 and therefore allowing any flow through all network segments. But in this case, will the algorithm still come up with the shortest path?
– Otto
Nov 24 '18 at 9:01
Additionally, even if the algorithm would choose the shortest path to a source for each heat user, the result may not be optimal since a shortest path for a single newly connected house could include a giant amount of new heat network, instead of the slightly longer route through existing heat network. I think what would be needed is an algorithm which rewards using already filled network segments, even if this makes the route longer. Maybe by calculating added costs to all used network segments and then minimizing those?
– Otto
Nov 24 '18 at 9:10
Additionally, even if the algorithm would choose the shortest path to a source for each heat user, the result may not be optimal since a shortest path for a single newly connected house could include a giant amount of new heat network, instead of the slightly longer route through existing heat network. I think what would be needed is an algorithm which rewards using already filled network segments, even if this makes the route longer. Maybe by calculating added costs to all used network segments and then minimizing those?
– Otto
Nov 24 '18 at 9:10
@Otto: you are right about the shortest paths solution not being optimal. When you want to find a network with minimal total pipe-length, ignoring the extra costs for larger capacity pipes, you can see this as a Minimum Spanning Tree (MST). MST currently is not an existing function in GeoDMS, but could be implemented by adding shortest edges in iterations.
– Maarten Hilferink
Nov 26 '18 at 9:27
@Otto: you are right about the shortest paths solution not being optimal. When you want to find a network with minimal total pipe-length, ignoring the extra costs for larger capacity pipes, you can see this as a Minimum Spanning Tree (MST). MST currently is not an existing function in GeoDMS, but could be implemented by adding shortest edges in iterations.
– Maarten Hilferink
Nov 26 '18 at 9:27
When such iterative algorithm is to start with the sources, you could also weight the total length to the source for new heat-users at each iteration. Although the relative weight of already allocated segments depends on how much more capacity is needed later on, I think the resulting network is (near) optimal and a good indication of total network length.
– Maarten Hilferink
Nov 26 '18 at 9:27
When such iterative algorithm is to start with the sources, you could also weight the total length to the source for new heat-users at each iteration. Although the relative weight of already allocated segments depends on how much more capacity is needed later on, I think the resulting network is (near) optimal and a good indication of total network length.
– Maarten Hilferink
Nov 26 '18 at 9:27
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2fstackoverflow.com%2fquestions%2f53414843%2fin-geodms-how-can-i-remove-an-unconnected-piece-of-arc%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