1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- [/============================================================================
- Boost.Geometry Index
- Copyright (c) 2011-2012 Adam Wulkiewicz.
- Use, modification and distribution is subject to the Boost Software License,
- Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt)
- =============================================================================/]
- [section:rtree_quickstart Quick Start]
- This Quick Start section shows simple way to creating a typical R-tree and perform
- spatial query.
- The code below assumes that following files are included and namespaces used.
- [rtree_quickstart_include]
- Typically you'll store e.g. `std::pair<Box, MyGeometryId>` in the __rtree__. `MyGeometryId`
- will be some identifier of a complex `Geometry` stored in other container, e.g. index type
- of a `Polygon` stored in the vector or an iterator of list of `Ring`s. To keep it simple to
- define `Value` we will use predefined __box__ and unsigned int.
- [rtree_quickstart_valuetype]
- R-tree may be created using various algorithm and parameters. You should choose the algorithm you'll
- find the best for your purpose. In this example we will use quadratic algorithm. Parameters are
- passed as template parameters. Maximum number of elements in nodes is set to 16.
- [rtree_quickstart_create]
- Typically `Value`s will be generated in a loop from e.g. `Polygon`s stored in some other container.
- In this case `Box` objects will probably be created with `geometry::envelope()` function.
- But to keep it simple lets just generate some boxes manually and insert them into the R-tree by
- using `insert()` method.
- [rtree_quickstart_insert]
- There are various types of spatial queries that may be performed, they can be even combined together
- in one call. For simplicity, we use the default one. The following query return values intersecting
- a box. The sequence of `Values` in the result is not specified.
- [rtree_quickstart_spatial_query]
- Other type of query is k-nearest neighbor search. It returns some number of values nearest to some point
- in space. The default knn query may be performed as follows. The sequence of `Values` in the result is not specified.
- [rtree_quickstart_nearest_query]
- At the end we'll print results.
- [rtree_quickstart_output]
- [h3 More]
- More information about the R-tree implementation, other algorithms and queries may be found in
- other parts of this documentation.
- [endsect]
|