Comments (2)
H @DerKleinePunk. I was in holiday, so sorry for the late answer.
The warning comes from DataFIle.h.
bool DataFile<N>::GetByOffset(IteratorIn begin, IteratorIn end,
size_t size,
const GeoBox& boundingBox,
std::vector<ValueType>& data) const
it is called by
bool Database::GetNodesByOffset(const std::vector<FileOffset>& offsets,
const GeoBox& boundingBox,
std::vector<NodeRef>& nodes) const
which again it is called by
bool MapService::GetNodes(const AreaSearchParameter& parameter,
const TypeInfoSet& nodeTypes,
const GeoBox& boundingBox,
bool prefill,
const TileRef& tile) const
The method gets a number of file offset from the index together with a bounding box (which is likely the visible map area). The warning means that most of the offsets returned by the index are actually not in the given area. This means that the index is too unspecific. It finds objects that are later on filtered out. This may be a performance penalty if IO is slow and CPU is fast. It is a hint that for this special area, the index should have possibly been generated with other parameters. If the warning comes only sporadically I would ignore it, if it often happens you can play with the parameters, but you have to measure if the new parameters are actually better (e.g. index with different parameters might require more memory or more IO during index lookup).
The AreaNodeIndex Generator has the following parameters:
MagnificationLevel areaNodeGridMag; //<! Magnification level for the index grid
uint16_t areaNodeSimpleListLimit; //<! If a type has less entries, we just store them plain
uint16_t areaNodeTileListLimit; //<! If a type has less entries in a tile, we store it as list
uint16_t areaNodeTileListCoordLimit;//<! If a type has less entries we store the coord in tile lists
MagnificationLevel areaNodeBitmapMaxMag; //<! Maximum Magnification level for bitmap index
uint16_t areaNodeBitmapLimit; //<! All cells must have less entries for a given zoom level
with the following default values:
areaNodeGridMag(14),
areaNodeSimpleListLimit(500),
areaNodeTileListLimit(100),
areaNodeTileListCoordLimit(1000),
areaNodeBitmapMaxMag(20),
areaNodeBitmapLimit(20),
I would either start with increasing the GridMag to 15 or decrease the list limits by factor 2? I assume that the index file size will increase.
The Import application should have command line options for these. If one is missing that add it yourself or tell us (or change default value in your code). You have to regenerate the index after changing values.
from libosmscout.
I hope you Holiday are good.
Thanks I will Test it and Report.
from libosmscout.
Related Issues (20)
- Coastline drawing is broken when angle != 0 HOT 2
- Why so many build techs? HOT 2
- BoundingBox of imported database too big HOT 6
- What about make Qt 6 the default in CMakelists.txt? HOT 6
- Importing data into an existing database / merging databases HOT 8
- PlaneMapRenderer redraws map only on center change, not on zoom change HOT 1
- Rendering Maldives lags libosmscout and gives a lot font errors HOT 8
- Rendering way of type "_route" is masked by bridges HOT 6
- Implementing a tile server via libosmcout HOT 7
- Layer rendering issues with tile rendering HOT 1
- Lots of "Warning: Unknown type" HOT 18
- Question regarding RoutingDatabase::GetRouteNodes() HOT 2
- Way missing in MapService query HOT 5
- `MapService::LoadMissingTileData()` produces more data than expected HOT 7
- Missing forest near Swedish national park Muddus HOT 1
- Compilation issues for iOS and XCode 15 HOT 5
- Add libosmscout to Taginfo Projects HOT 2
- Searching for "Zbraslavice 255" in Czechia give no results, but "Zbraslavice Zbraslavice 255" yes
- Compilation error for libosmscout-client on MacOS HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libosmscout.