CEEU-lab / city_modeller

Urban dynamics performance assessment with data-driven modelling templates
GNU General Public License v3.0
0 stars 0 forks source link

GVI Index + accionable #16

Open PyMap opened 1 year ago

PyMap commented 1 year ago

Con la app ya se puede estimar el nivel de greenery de las calles. Además se pueden comparar zonas base y alternativas

image

Pero algo que estaría faltando es la función de accionable. Para eso, estaría bueno agregar la funcionalidad de poder mover la posición de la zona base en la distribución de de toda la ciudad (arriba a la derecha) [esto, bajo el supuesto de estar modificando la zona base].

Para eso, habría que aumentar el porcentaje de greenery de los puntos con algún criterio. Por ejemplo, llevar las vistas panorámicas que están por debajo del 5% al 15% de greenery. Lo que se me ocurre para llevarlo a cabo es:

  1. Agregar un botón de edición de la zona base. Este se podría ubicar acá. Podría ser un nuevo toggle que active la edición de la zona base.
  2. Ese botón podría habilitar un checkbox que te permita ir filtrando el dataset de puntos con GVI en la zona base (con esta función - probablemente sea necesario hacer que esta devuelva el dataset que se está renderizando en cualquiera de las dos opciones (input geometry o uploaded file) ). Ese check box debería ofrecer al menos tres opciones (Under 5% Between- 5 and 15% Greater than 15% - los límites se pueden redefinir). Con estas opciones se podría armar una query para filtrar el dataset de GVI de la base zone. Por ejemplo:
    if option 1:
    # solo subseteo a los menos de 5%
    editable_subset = BaseZoneGVI.loc[BaseZoneGVI['greenView'] <= 5%].copy()
    elif option 2 and not option 1:
    editable_subset = BaseZoneGVI.loc[(BaseZoneGVI['greenView'] > 5%) and (BaseZoneGVI['greenView'] <= 15%)].copy()
    elif option 2 and option 1:
    editable_subset = BaseZoneGVI.loc[BaseZoneGVI['greenView'] <= 15%].copy()
    (...)
  3. A esta altura tendríamos dos geodatasets para la base zone. Los puntos que se van a editar y los que no. Para definir en cuánto van a aumentar, podríamos usar este slider y definir cuánto deberían aumentar de cero a 100%.
  4. Como último punto, estaría bueno traducir qué implicaría ese aumento porcentual. Para eso, lo que se podría hacer es usar este dataset y ver cuántos árboles hay un buffer de x metros de cada PanoId. En base a eso, podríamos saber cuántos árboles en promedio hay en zonas de, por ejemplo, GVI <= 5%. Esa info la podríamos renderizar con estas tarjetas. Si en vistas panorámicas de menos de 5% de GVI hay en promedio dos arboles, llevarlas al 10% implicaría plantar al menos dos arboles más. En ese sentido, las tarjetas podrían mostrar cantidad de árboles en lugar de Gain y dejar parametrizado para que el usario lo defina un campo de costo por arbol estimado. Una segunda tarjeta podría mostrar eso.