[#782] locode: Simplify build quadtree

Signed-off-by: nesterfifa <vemeyzer@gmail.com>
This commit is contained in:
Viktor Nesterenko 2023-12-12 11:20:56 +01:00
parent 91fe0d3531
commit f31b4c1a7b

View file

@ -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
}