Themes(GRB): fix detection of overlapping buildings

This commit is contained in:
Pieter Vander Vennet 2025-05-04 03:56:38 +02:00
parent 915b732204
commit 6bdda9fb12
9 changed files with 34 additions and 184 deletions

View file

@ -290,8 +290,22 @@ export default class MetaTagging {
indexedFeatures: IndexedFeatureSource
perLayer: ReadonlyMap<string, GeoIndexedStoreForLayer>
}) {
return {
return <ExtraFuncParams>{
getFeatureById: (id) => state.indexedFeatures.featuresById.data.get(id),
getProbablyOverlapsWith: (layerId, bbox) => {
if (layerId === "*" || layerId === null || layerId === undefined) {
const feats: Feature[][] = []
state.perLayer.forEach((layer) => {
feats.push(layer.GetFeaturesWithin(bbox))
})
return feats
}
if (!state.perLayer.get(layerId)) {
// This layer is not loaded
return []
}
return [state.perLayer.get(layerId).GetFeaturesProbablyOverlappingWith(bbox)]
},
getFeaturesWithin: (layerId, bbox) => {
if (layerId === "*" || layerId === null || layerId === undefined) {
const feats: Feature[][] = []