forked from TrueCloudLab/frostfs-node
[#782] locode: Simplify build quadtree
Signed-off-by: nesterfifa <vemeyzer@gmail.com>
This commit is contained in:
parent
91fe0d3531
commit
f31b4c1a7b
1 changed files with 12 additions and 11 deletions
|
@ -92,17 +92,18 @@ func (db *DB) buildQuadtree() error {
|
|||
})
|
||||
|
||||
for _, feature := range db.features {
|
||||
if multiPolygon, ok := feature.Geometry.(orb.MultiPolygon); ok {
|
||||
for _, polygon := range multiPolygon {
|
||||
newFeature := geojson.NewFeature(polygon)
|
||||
newFeature.Properties = feature.Properties.Clone()
|
||||
err := db.tree.Add(newFeature)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
} else if _, ok := feature.Geometry.(orb.Polygon); ok {
|
||||
err := db.tree.Add(feature)
|
||||
multiPolygon := make(orb.MultiPolygon, 0)
|
||||
|
||||
if polygon, ok := feature.Geometry.(orb.Polygon); ok {
|
||||
multiPolygon = append(multiPolygon, polygon)
|
||||
} else {
|
||||
multiPolygon = feature.Geometry.(orb.MultiPolygon)
|
||||
}
|
||||
|
||||
for _, polygon := range multiPolygon {
|
||||
newFeature := geojson.NewFeature(polygon)
|
||||
newFeature.Properties = feature.Properties.Clone()
|
||||
err := db.tree.Add(newFeature)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue