Skip to content

generalise more complex configuration of features #5

Open
@fredshone

Description

@fredshone

We currently support some simple "object" features, which generally look for some tag or feature of the object (such as levels or the polygon area):

  • units
  • levels
  • area
  • floor area

and more complex features, which require some calculation between objects (ie distance):

  • transit_distance

In all cases these are currently configures by the features_config:
"features_config": ["units", "levels", "area", "floor_area", "transit_distance"]

We would like to generalise the transit_distance feature to (for example) calculate:

  • nearest shop
  • nearest hospital
  • etc

In which case we would need to give it it's own config group, eg:
"nearest_config": ["transit_stop", "leisure", "health", "education"]

This pattern would then be used for more complex features, such as:

  • nearest_3_config
  • nearest_neighbour_config
  • 1km_count
  • etc

Calculating more complex features is likely to benefit a lot from a good spatial library.

Also note that the assumption is that all objects used for complex features will be included in the activity_config, eg:

"railway": {
  "station": ["transit_stop"],
  "stop": ["transit_stop"],
  "tram_stop": ["transit_stop"]
},
  "highway": {
  "bus_stop": ["transit_stop"]
},
  "public_transport": {
  "station": ["transit_stop"]
}

Transit stops are currently held in memory by a list: build.ObjectHandler.transit_stops and also in memory in a spatial index using build.ObjectHandler.points becasue they are included in the activity_config.

  1. this duplication should be removed
  2. ideally the complex features will get a more generalised config gtroup pattern and feature extraction pattern

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions