<div dir="ltr">Hi Peter,<div><br></div><div>The parameter I set are <span style="color:rgb(0,128,0);font-weight:bold;font-family:Menlo;font-size:12pt">minOnewayNetworkSize = 20, </span><span style="color:rgb(0,128,0);font-weight:bold;font-family:Menlo;font-size:12pt">minNetworkSize = 200</span></div><div><br></div><div>on step 3, despite the node <a href="http://www.openstreetmap.org/node/678314919" target="_blank" style="font-size:12.8000001907349px">http://www.openstreetmap.org/node/678314919</a>, the inside island is a SCC, and the size is larger than 20.</div><div>So, this island is kept, instead of removal.</div><div>And the <a href="http://www.openstreetmap.org/node/678314919" target="_blank" style="font-size:12.8000001907349px">http://www.openstreetmap.org/node/678314919</a> itself is a SCC. size is 1. Then it was removed.</div><div><br></div><div>Then on step 4, the island is recognized as a subnetwork, which has size less than 200. </div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><b>Best Regards,</b><div><b>ZhiQiang ZHAO</b></div></div></div>
<br><div class="gmail_quote">On Wed, Jul 29, 2015 at 1:04 AM, Peter <span dir="ltr"><<a href="mailto:graphhopper@gmx.de" target="_blank">graphhopper@gmx.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hi ZhiQiang,<br>
<br>
you mean the oneway procedure (step 3) removes nodes+edges leading
to further normal subnetwork removal in step 4? This should not
happen. The subnetwork should be removed already in step 3.<span class=""><br>
<br>
<div>> On step 2, although there is a gate <a href="http://www.openstreetmap.org/node/703042503" target="_blank">http://www.openstreetmap.org/node/703042503</a>
<br>
> on <a href="http://www.openstreetmap.org/way/6374339" target="_blank">http://www.openstreetmap.org/way/6374339</a></div>
</span><div><span class="">> And gate block that edge.<br>
<br></span>
Because of this gate the island is a oneway subnetwork (!) and
should get entirely removed in step 2 IMO.<span class=""><br>
<br>
> On step 3, a very important point are removed due to oneway<br>
<br>
</span></div>
If just one edge/node is removed there is something wrong. The
whole island should be removed.<br>
<br>
Kind Regards,<br>
Peter<div><div class="h5"><br>
<br>
On 29.07.2015 09:50, John Zhao wrote:<br>
</div></div></div><div><div class="h5">
<blockquote type="cite">
<div dir="ltr">Hi Peter,
<div><br>
</div>
<div>I know the difference between subnetworks and
oneway-subnetworks.</div>
<div>I am talking about the step 2 and step 4, not step 3.</div>
<div><br>
</div>
<div>step 2 and step 4 are both <span style="font-size:12.8000001907349px">findSubnetwork() with
the same parameter.</span><br>
</div>
<div><span style="font-size:12.8000001907349px"> </span><span style="color:rgb(0,128,0);font-weight:bold;font-family:Menlo;font-size:12pt">minOnewayNetworkSize
= 20, </span><span style="color:rgb(0,128,0);font-weight:bold;font-family:Menlo;font-size:12pt">minNetworkSize
= 200</span><br>
</div>
<div><br>
</div>
<div>I think I figure out why this discrepancy occurs.</div>
<div>One case is a island in SF bay area. The island has 2
oneway roads connected to the main network. </div>
<div><a href="http://www.openstreetmap.org/way/53726398" target="_blank">http://www.openstreetmap.org/way/53726398</a><br>
</div>
<div><a href="http://www.openstreetmap.org/way/6374339" target="_blank">http://www.openstreetmap.org/way/6374339</a><br>
</div>
<div><br>
</div>
<div>On step 2, although there is a gate <a href="http://www.openstreetmap.org/node/703042503" target="_blank">http://www.openstreetmap.org/node/703042503</a>
on <a href="http://www.openstreetmap.org/way/6374339" target="_blank">http://www.openstreetmap.org/way/6374339</a></div>
<div>And gate block that edge.</div>
<div>The other oneway is connected <a href="http://www.openstreetmap.org/way/53726398" target="_blank">http://www.openstreetmap.org/way/53726398</a>.</div>
<div>So, this island is connected to the whole network.</div>
<div><br>
</div>
<div>On step 3, a very important point are removed due to
oneway: <a href="http://www.openstreetmap.org/node/678314919" target="_blank">http://www.openstreetmap.org/node/678314919</a></div>
<div><br>
</div>
<div>Then on step 4, the island are not connected to the main
network.</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div><b>Best Regards,</b>
<div><b>ZhiQiang ZHAO</b></div>
</div>
</div>
<br>
<div class="gmail_quote">On Tue, Jul 28, 2015 at 11:12 PM, Peter
<span dir="ltr"><<a href="mailto:graphhopper@gmx.de" target="_blank">graphhopper@gmx.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hi ZhiQiang,<br>
<br>
hmmh, not sure if I understand what is unknown at your
side.<br>
<br>
Subnetworks are different things than
oneway-subnetworks. For example 4-5 is a oneway
subnetwork if connect with a oneway to the main graph
only:<br>
mainGraph->4-5<br>
<br>
And this cannot be detected in step 2.<br>
<br>
Please have a look at the unit tests to see more
examples for the different scenes<br>
<br>
Regards,<br>
Peter
<div>
<div><br>
<br>
On 28.07.2015 20:05, John Zhao wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">Hi Peter,
<div><br>
</div>
<div>the result I posted is not the result of
oneway-subnetwork procedure.</div>
<div><br>
</div>
<div>The total procedures include:</div>
<div>1. remove zero-degree node</div>
<div>2. findSubnetwork</div>
<div>3. oneway-subnetwork procedure</div>
<div>4. findSubnetwork again on
graphhopper.cleanup()</div>
<div><br>
</div>
<div>My question is, why those islands are
recognized on step 4, but not on step 2?</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div><b>Best Regards,</b>
<div><b>ZhiQiang ZHAO</b></div>
</div>
</div>
<br>
<div class="gmail_quote">On Tue, Jul 28, 2015 at
12:02 AM, Peter <span dir="ltr"><<a href="mailto:graphhopper@gmx.de" target="_blank">graphhopper@gmx.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hi ZhiQiang,<br>
<br>
I think it is because both networks are
oneway subnetworks not found by the normal
subnetwork procedure (but by the
oneway-subnetwork procedure) and you
defined the oneway minimum size to 20<br>
<br>
Regards,<br>
Peter
<div>
<div><br>
<br>
On 28.07.2015 03:13, John Zhao wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">Hi Peter,
<div><br>
</div>
<div>What I do is:</div>
<div>1. <span style="color:rgb(0,128,0);font-weight:bold;font-family:Menlo;font-size:12pt">minOnewayNetworkSize
= 20, </span><span style="color:rgb(0,128,0);font-weight:bold;font-family:Menlo;font-size:12pt">minNetworkSize
= 200</span></div>
<div><span style="color:rgb(0,128,0);font-weight:bold;font-family:Menlo;font-size:12pt">2.
build san francisco bay area osm
data</span></div>
<div><span style="color:rgb(0,128,0);font-weight:bold;font-family:Menlo;font-size:12pt">3.
I print out the subnetworks
result of the second call.</span></div>
<div>
<pre style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt"><span style="color:#000080;font-weight:bold">int </span>remainingSubnetworks = preparation.findSubnetworks().size();</pre>
<pre style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt">4. I found the subnetwork has some smaller than 200, like:</pre>
<pre><font color="#000000" face="Menlo"><span style="font-size:16px">subnetwork start from: 37.32611992939085,-121.9961998312816 size: 24</span><span style="font-size:12pt">
</span></font></pre>
<pre><font color="#000000" face="Menlo"><span style="font-size:16px">subnetwork start from: 37.78373608999855,-122.25065187925067 size: 34
</span></font></pre>
<pre><font color="#000000" face="Menlo"><span style="font-size:16px">
</span></font></pre>
<pre><font color="#000000" face="Menlo"><span style="font-size:16px">5. I can't understand why the subnetworks with 24 nodes and 34 nodes are not removed by </span></font><span style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt">preparation.doWork();</span></pre>
<pre><font color="#000000" face="Menlo"><span style="font-size:16px">It call the same method:</span></font></pre>
<pre><pre style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt">Map map = <span style="color:#000080;font-weight:bold">this</span>.findSubnetworks();</pre></pre>
<pre><span style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt">
</span></pre>
</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div><b>Best Regards,</b>
<div><b>ZhiQiang ZHAO</b></div>
</div>
</div>
<br>
<div class="gmail_quote">On Mon, Jul
27, 2015 at 12:54 PM, Peter <span dir="ltr"><<a href="mailto:graphhopper@gmx.de" target="_blank">graphhopper@gmx.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hi John,<br>
<br>
sorry, I do not understand
your problem or question
here. Would you describe it
again step by step for me :)
?<br>
<br>
Kind Regards,<br>
Peter
<div>
<div><br>
<br>
On 27.07.2015 21:45,
John Zhao wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">Hi Peter,
<div><br>
</div>
<div>Thanks.</div>
<div>Actually I only
have 1 flagEncoder
in the <span style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt;background-color:rgb(228,228,255)">EncodingManager.</span></div>
<div>The call is exact
same, <span style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt;white-space:pre-wrap">preparation.findSubnetworks()</span><br>
</div>
<div>
<pre style="white-space:pre-wrap;color:rgb(0,0,0);font-family:Menlo;font-size:12pt">preparation.findSubnetworks() using edgeFilter which is also from singleEncoder.</pre>
</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div><b>Best
Regards,</b>
<div><b>ZhiQiang
ZHAO</b></div>
</div>
</div>
<br>
<div class="gmail_quote">On
Sun, Jul 26, 2015 at
7:56 AM, Peter <span dir="ltr"><<a href="mailto:graphhopper@gmx.de" target="_blank">graphhopper@gmx.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Hi John,<br>
<br>
it should not
be related to
calling these
method twice.
It is just one
time where you
calculate the
subnetworks
independent of
any
FlagEncoder or
direction via
findSubnetworks
and the second
pass is
FlagEncoder-
and
access-dependent
via
removeDeadEndUnvisitedNetworks.<br>
<br>
Regards,<br>
Peter
<div>
<div><br>
<br>
On 24.07.2015
21:16, John
Zhao wrote:<br>
</div>
</div>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">Hi
Peter,
<div><br>
</div>
<div>I am
still
confused.</div>
<div>at first
we call </div>
<div><span style="color:rgb(0,0,0);font-family:Menlo;font-size:16px">map
=
findSubnetworks();</span><br>
</div>
<div><span style="color:rgb(0,0,0);font-family:Menlo;font-size:16px"><br>
</span></div>
<div><span style="color:rgb(0,0,0);font-family:Menlo;font-size:16px">after
the cleanup,
we call the
same method in
Graphhopper.</span></div>
<div>
<pre style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt"><span style="color:#000080;font-weight:bold">int </span>remainingSubnetworks = preparation.findSubnetworks().size();</pre>
<pre style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt">Why the subnetwork was recognized the latter time, but not the first time?</pre>
<pre style="color:rgb(0,0,0);font-family:Menlo;font-size:12pt">we remove some edges make it not connected?</pre>
</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div><b>Best
Regards,</b>
<div><b>ZhiQiang
ZHAO</b></div>
</div>
</div>
<br>
<div class="gmail_quote">On
Thu, Jul 23,
2015 at 2:22
PM, Peter <span dir="ltr"><<a href="mailto:graphhopper@gmx.de" target="_blank">graphhopper@gmx.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<div bgcolor="#FFFFFF" text="#000000">
Hi ZhiQiang,<br>
<br>
yes, according
to the wiki
this is
wrongly
mapped:<br>
<i> Avoid
tagging
highway
intersections
as that does
not make clear
which way has
the
impediment. </i><br>
<br>
<a href="http://wiki.openstreetmap.org/wiki/Tag:barrier%3Dgate" target="_blank">http://wiki.openstreetmap.org/wiki/Tag:barrier%3Dgate</a><span><font color="#888888"><br>
<br>
Peter</font></span>
<div>
<div><br>
<br>
<div>On
23.07.2015
23:16, John
Zhao wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi
Peter,
<div><br>
</div>
<div>Maybe the
following one
related with <a href="https://github.com/graphhopper/graphhopper/issues/388#issuecomment-88066385" target="_blank">https://github.com/graphhopper/graphhopper/issues/388#issuecomment-88066385</a> </div>
<div><br>
</div>
<div>
<div style="font-size:12.8000001907349px">I
have a look
at 37.32611992939085,-121.9961998312816.</div>
<div style="font-size:12.8000001907349px">It
seesm related
with
barrier=gate
at
intersection.</div>
<div style="font-size:12.8000001907349px"><a href="http://www.openstreetmap.org/node/1126492194" target="_blank">http://www.openstreetmap.org/node/1126492194</a></div>
</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div><b>Best
Regards,</b>
<div><b>ZhiQiang
ZHAO</b></div>
</div>
</div>
<br>
<div class="gmail_quote">On
Thu, Jul 23,
2015 at 2:11
PM, Peter <span dir="ltr"><<a href="mailto:graphhopper@gmx.de" target="_blank">graphhopper@gmx.de</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<div bgcolor="#FFFFFF" text="#000000">
There are two
types of
subnetworks
and the
smaller ones
seems to be
'one-way
subnetworks'
which means
they are eg.
only reachable
as destination
or start. But
if you would
start from a
destination-only
subnetwork
you'll get
'not found'
for all points
outside of
this network.<br>
<br>
Regards,<br>
Peter
<div>
<div><br>
<br>
<div>On
23.07.2015
23:03, John
Zhao wrote:<br>
</div>
</div>
</div>
<blockquote type="cite">
<div>
<div>
<div dir="ltr">Interesting,
<div>when I
increase <span style="font-size:12.8000001907349px">minOnewayNetworkSize from 20 to 50,
the following
two
disappeared.</span></div>
<div>
<div style="font-size:12.8000001907349px">subnetwork
start from:
37.32611992939085,-121.9961998312816
size: 24</div>
<div style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">subnetwork start from:
37.78373608999855,-122.</span><span style="font-size:12.8000001907349px">25065187925067 size: 34</span></div>
</div>
</div>
<div class="gmail_extra"><br clear="all">
<div>
<div><b>Best
Regards,</b>
<div><b>ZhiQiang
ZHAO</b></div>
</div>
</div>
<br>
<div class="gmail_quote">On
Thu, Jul 23,
2015 at 1:55
PM, John Zhao
<span dir="ltr"><<a href="mailto:johnthu@gmail.com" target="_blank">johnthu@gmail.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi,
<div><br>
</div>
<div>I tried
car flag
encoder with
following
parameter on
San Francisco
bay area data
from mapzen.</div>
<div><a href="https://s3.amazonaws.com/metro-extracts.mapzen.com/san-francisco-bay_california.osm.pbf" target="_blank">https://s3.amazonaws.com/metro-extracts.mapzen.com/san-francisco-bay_california.osm.pbf</a></div>
<div><br>
</div>
<div>
<div>minNetworkSize=200</div>
<div>minOnewayNetworkSize=20</div>
<div><br>
</div>
<div>I printed
all the
remaining
subnetworks.</div>
<div>
<div>edges:
591932, nodes
437420, there
were 3496
subnetworks.
removed them
=> 13121
less nodes.
Remaining
subnetworks:5</div>
<div>The
remaining
subnetworks
are:</div>
<div>subnetwork
start from:
37.32611992939085,-121.9961998312816
size: 24</div>
<div>subnetwork
start from:
37.56018439442332,-122.30257814308803
size: 436637</div>
<div>subnetwork
start from:
37.78373608999855,-122.25065187925067
size: 34</div>
<div>subnetwork
start from:
38.180185962770565,-121.70631393878864
size: 301</div>
<div>subnetwork
start from:
37.85717050411933,-122.07633641532816
size: 424</div>
</div>
<div><br>
</div>
<div>I don't
understand why
there is still
subnetwork
less than 200
nodes.</div>
<div><br>
</div>
<div>I have a
look
at 37.32611992939085,-121.9961998312816.</div>
<div>It seesm
related with
barrier=gate
at
intersection.</div>
<div><a href="http://www.openstreetmap.org/node/1126492194" target="_blank">http://www.openstreetmap.org/node/1126492194</a><br>
</div>
<div><br>
</div>
<div>
<div>
<div><b>Best
Regards,</b>
<div><b>ZhiQiang
ZHAO</b></div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
</div>
</div>
</div>
<br>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
</div>
</div>
</div>
<br>
_______________________________________________<br>
GraphHopper mailing list<br>
<a href="mailto:GraphHopper@openstreetmap.org" target="_blank">GraphHopper@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/graphhopper" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/graphhopper</a><br>
<br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
</div></div></div>
<br>_______________________________________________<br>
GraphHopper mailing list<br>
<a href="mailto:GraphHopper@openstreetmap.org">GraphHopper@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/graphhopper" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/graphhopper</a><br>
<br></blockquote></div><br></div>