Opened 10 years ago
Last modified 6 years ago
#2402 new enhancement
v.distance in Long/Lat Locations on GRASS 7.0
Reported by: | micha | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | 7.6.2 |
Component: | Default | Version: | unspecified |
Keywords: | Cc: | ||
CPU: | Unspecified | Platform: | All |
Description
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.
Attachments (1)
Change History (18)
follow-up: 2 comment:1 by , 10 years ago
comment:2 by , 10 years ago
Replying to 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
comment:3 by , 10 years ago
In the attached patch, I had a quick go at it, in line with the patch for grass6.
Needs testing, though.
Moritz
by , 10 years ago
Attachment: | vdistance_ll.diff added |
---|
patch for enabling geodesic distances in LL-locations
follow-up: 5 comment:4 by , 10 years ago
Replying to 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.
follow-up: 6 comment:5 by , 10 years ago
Replying to mmetz:
Replying to 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
follow-up: 7 comment:6 by , 10 years ago
Replying to mlennert:
Replying to mmetz:
Replying to 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.
follow-up: 8 comment:7 by , 10 years ago
Replying to mmetz:
Replying to mlennert:
Replying to mmetz:
Replying to 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 foundOops. 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.
comment:8 by , 10 years ago
Replying to 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.
comment:9 by , 9 years ago
Milestone: | 7.0.0 → 7.0.5 |
---|
comment:10 by , 8 years ago
Milestone: | 7.0.5 → 7.3.0 |
---|
comment:14 by , 6 years ago
Milestone: | 7.4.1 → 7.4.2 |
---|
comment:15 by , 6 years ago
Milestone: | 7.4.2 → 7.6.0 |
---|
All enhancement tickets should be assigned to 7.6 milestone.
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.