boost::geometry::index::rtree with different CoordinateSystem
Hi,
I am trying to build a rtree index with a collection if waypoint (about 30.000) each represented by longitude and latitude. When I use Cartesian coordinates rtree.query works as expected. However the results are slightly wrong because of my use of longitude,latitude in the cartesian domain.
I then tried to refine the datatypes to use spherical_equatorial and geographic CoordinateSystem. Now I encounter two problems:
a) With geographic, it does not compile.
b) With spherical_equatorial query(nearest) gives clearly wrong results.
Do you have any clues on what I am doing wrong?
Attached is two images illustrating the query results. Search target is dot with label on it.
I am using boost 1.55.0 on Linux with g++ 4.4.3 (same result with 4.6.3).
typedef bg::model::point
Hi, Ola Martin Lykkja wrote:
Hi,
I am trying to build a rtree index with a collection if waypoint (about 30.000) each represented by longitude and latitude. When I use Cartesian coordinates rtree.query works as expected. However the results are slightly wrong because of my use of longitude,latitude in the cartesian domain.
I then tried to refine the datatypes to use spherical_equatorial and geographic CoordinateSystem. Now I encounter two problems:
a)With geographic, it does not compile.
b)With spherical_equatorial query(nearest) gives clearly wrong results.
Do you have any clues on what I am doing wrong?
Everything you're doing is ok. The support for coordinate systems other than cartesian is limited for now. As you noticed the nearest query gives wrong results. Also the internal structure of the rtree may be not-optimal. At least the nearest query for spherical CS should be fixed in upcoming Boost 1.56. Do you need some quick workaround? As for geographic CS, it fails to compile because the default distance strategy isn't defined for this CS. It probable that distance() is just not implemented yet for geographic CS but I must confirm it. Could you please create tickets for those issues? Regards, Adam
participants (2)
-
Adam Wulkiewicz
-
Ola Martin Lykkja