[GRASS-dev] [GRASS GIS] #2402: v.distance in Long/Lat Locations on GRASS 7.0

#2402: v.distance in Long/Lat Locations on GRASS 7.0
-------------------------+--------------------------------------------------
Reporter: micha | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Default | Version: unspecified
Keywords: | Platform: All
      Cpu: Unspecified |
-------------------------+--------------------------------------------------
In stable version 6.4, when working in a Long-Lat LOCATION, v.distance
returns geodesic distance on a sphere in meters (in the cases of point to
point, and point to line).

In GRASS 7.0 this feature is lost, and distances are always returned in
the LOCATION units (i.e. degrees in a Long-Lat LOCATION). Geodesic
distance should be the preferred behavior.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2402&gt;
GRASS GIS <http://grass.osgeo.org>

#2402: v.distance in Long/Lat Locations on GRASS 7.0
-------------------------+--------------------------------------------------
Reporter: micha | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Default | Version: unspecified
Keywords: | Platform: All
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by wenzeslaus):

This would be a blocker for 7.0 release unless the current (7.0's)
behavior will be a default and requested requested behavior optional.

See also #2401 for 6.4.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2402#comment:1&gt;
GRASS GIS <http://grass.osgeo.org>

#2402: v.distance in Long/Lat Locations on GRASS 7.0
-------------------------+--------------------------------------------------
Reporter: micha | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Default | Version: unspecified
Keywords: | Platform: All
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by mlennert):

Replying to [comment:1 wenzeslaus]:
> This would be a blocker for 7.0 release unless the current (7.0's)
behavior will be a default and requested requested behavior optional.

I think that geodesic distances in LL-locations should stay the default
behaviour, but even if we decide to make it optional, it still needs to be
implemented [1].

Markus M: as you implemented the new version of v.distance, can you tell
us quickly what needs to be done ?

Moritz

[1]
[https://trac.osgeo.org/grass/browser/grass/trunk/vector/v.distance/distance.c#L6]

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2402#comment:2&gt;
GRASS GIS <http://grass.osgeo.org>

#2402: v.distance in Long/Lat Locations on GRASS 7.0
-------------------------+--------------------------------------------------
Reporter: micha | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Default | Version: unspecified
Keywords: | Platform: All
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by mlennert):

In the attached patch, I had a quick go at it, in line with the patch for
grass6.

Needs testing, though.

Moritz

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2402#comment:3&gt;
GRASS GIS <http://grass.osgeo.org>

#2402: v.distance in Long/Lat Locations on GRASS 7.0
-------------------------+--------------------------------------------------
Reporter: micha | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Default | Version: unspecified
Keywords: | Platform: All
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by mmetz):

Replying to [ticket:2402 micha]:
> In stable version 6.4, when working in a Long-Lat LOCATION, v.distance
returns geodesic distance on a sphere in meters (in the cases of point to
point, and point to line).

> In GRASS 7.0 this feature is lost, and distances are always returned in
the LOCATION units (i.e. degrees in a Long-Lat LOCATION). Geodesic
distance should be the preferred behavior.

Fixed for trunk in r61850.

--
Ticket URL: <http://trac.osgeo.org/grass/ticket/2402#comment:4&gt;
GRASS GIS <http://grass.osgeo.org>

#2402: v.distance in Long/Lat Locations on GRASS 7.0
-------------------------+--------------------------------------------------
Reporter: micha | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Default | Version: unspecified
Keywords: | Platform: All
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by mlennert):

Replying to [comment:4 mmetz]:
> Replying to [ticket:2402 micha]:
> > In stable version 6.4, when working in a Long-Lat LOCATION, v.distance
returns geodesic distance on a sphere in meters (in the cases of point to
point, and point to line).
>
> > In GRASS 7.0 this feature is lost, and distances are always returned
in the LOCATION units (i.e. degrees in a Long-Lat LOCATION). Geodesic
distance should be the preferred behavior.
>
> Fixed for trunk in r61850.

With the NC-data reprojected to EPSG 4326, I get the following now:

{{{
v.distance -p from=comm_colleges to=comm_colleges upload=dist col=dist
dmin=0.0001

Finding nearest features...
  100%
  100%
from_cat|dist
1|null
2|null
3|null
[...]
55|null
56|null
57|null
58|null
  100%
58 categories - no nearest feature found
}}}

Whereas the same command in the NC-location gives me the expected list of
distances.

Moritz

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2402#comment:5&gt;
GRASS GIS <http://grass.osgeo.org>

#2402: v.distance in Long/Lat Locations on GRASS 7.0
-------------------------+--------------------------------------------------
Reporter: micha | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Default | Version: unspecified
Keywords: | Platform: All
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by mmetz):

Replying to [comment:5 mlennert]:
> Replying to [comment:4 mmetz]:
> > Replying to [ticket:2402 micha]:
> > > In stable version 6.4, when working in a Long-Lat LOCATION,
v.distance returns geodesic distance on a sphere in meters (in the cases
of point to point, and point to line).
> >
> > > In GRASS 7.0 this feature is lost, and distances are always returned
in the LOCATION units (i.e. degrees in a Long-Lat LOCATION). Geodesic
distance should be the preferred behavior.
> >
> > Fixed for trunk in r61850.
>
> With the NC-data reprojected to EPSG 4326, I get the following now:
>
>
{{{
v.distance -p from=comm_colleges to=comm_colleges upload=dist col=dist
dmin=0.0001

Finding nearest features...
  100%
  100%
from_cat|dist
1|null
2|null
3|null
[...]
55|null
56|null
57|null
58|null
  100%
58 categories - no nearest feature found
}}}
>

Oops. Fixed in r61861.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2402#comment:6&gt;
GRASS GIS <http://grass.osgeo.org>

#2402: v.distance in Long/Lat Locations on GRASS 7.0
-------------------------+--------------------------------------------------
Reporter: micha | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Default | Version: unspecified
Keywords: | Platform: All
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by mlennert):

Replying to [comment:6 mmetz]:
> Replying to [comment:5 mlennert]:
> > Replying to [comment:4 mmetz]:
> > > Replying to [ticket:2402 micha]:
> > > > In stable version 6.4, when working in a Long-Lat LOCATION,
v.distance returns geodesic distance on a sphere in meters (in the cases
of point to point, and point to line).
> > >
> > > > In GRASS 7.0 this feature is lost, and distances are always
returned in the LOCATION units (i.e. degrees in a Long-Lat LOCATION).
Geodesic distance should be the preferred behavior.
> > >
> > > Fixed for trunk in r61850.
> >
> > With the NC-data reprojected to EPSG 4326, I get the following now:
> >
> >
> {{{
> v.distance -p from=comm_colleges to=comm_colleges upload=dist col=dist
dmin=0.0001
>
> Finding nearest features...
> 100%
> 100%
> from_cat|dist
> 1|null
> 2|null
> 3|null
> [...]
> 55|null
> 56|null
> 57|null
> 58|null
> 100%
> 58 categories - no nearest feature found
> }}}
> >
>
> Oops. Fixed in r61861.

I just found a difference in distances calculated with grass6 and grass7
for points to areas (see explanation in #2401). Needs checking.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2402#comment:7&gt;
GRASS GIS <http://grass.osgeo.org>

#2402: v.distance in Long/Lat Locations on GRASS 7.0
-------------------------+--------------------------------------------------
Reporter: micha | Owner: grass-dev@…
     Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Default | Version: unspecified
Keywords: | Platform: All
      Cpu: Unspecified |
-------------------------+--------------------------------------------------

Comment(by mmetz):

Replying to [comment:7 mlennert]:
>
> I just found a difference in distances calculated with grass6 and grass7
for points to areas (see explanation in #2401). Needs checking.

G6 and G7 produced nearly identical results after the last change to
v.distance in trunk, but now (r61978) there is
Vect_line_geodesic_distance() available in trunk and v.distance makes use
of it (r61979). The results in latlong are now more similar to the results
in the original NC projection. In particular, the larger deviations
present in G6 have now disappeared in trunk.

--
Ticket URL: <https://trac.osgeo.org/grass/ticket/2402#comment:8&gt;
GRASS GIS <http://grass.osgeo.org>