forked from MapComplete/MapComplete
Add createNewWay-action, more work on GRB import theme, add import button
This commit is contained in:
parent
e4cd93ffb0
commit
da65bbbc86
9 changed files with 341 additions and 100 deletions
|
@ -57,13 +57,14 @@ export class ExtraFunction {
|
|||
doc: "Gives a list of features from the specified layer which this feature (partly) overlaps with. " +
|
||||
"If the current feature is a point, all features that embed the point are given. " +
|
||||
"The returned value is `{ feat: GeoJSONFeature, overlap: number}[]` where `overlap` is the overlapping surface are (in m²) for areas, the overlapping length (in meter) if the current feature is a line or `undefined` if the current feature is a point.\n" +
|
||||
"The resulting list is sorted in descending order by overlap. The feature with the most overlap will thus be the first in the list" +
|
||||
"\n" +
|
||||
"For example to get all objects which overlap or embed from a layer, use `_contained_climbing_routes_properties=feat.overlapWith('climbing_route')`",
|
||||
args: ["...layerIds - one or more layer ids of the layer from which every feature is checked for overlap)"]
|
||||
},
|
||||
(params, feat) => {
|
||||
return (...layerIds: string[]) => {
|
||||
const result = []
|
||||
const result : {feat:any, overlap: number}[]= []
|
||||
|
||||
const bbox = BBox.get(feat)
|
||||
|
||||
|
@ -79,6 +80,9 @@ export class ExtraFunction {
|
|||
result.push(...GeoOperations.calculateOverlap(feat, otherLayer));
|
||||
}
|
||||
}
|
||||
|
||||
result.sort((a, b) => b.overlap - a.overlap)
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue