script_analyse_without_geopandas.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python2 | |
# -*- coding: utf-8 -*- | |
"""Exemple de script pour l'analyse des résultats de NEDUM""" | |
import matplotlib.pyplot as plt | |
import numpy as np | |
import pandas as pd | |
################################## | |
#%% Importation des données | |
################################## | |
outNedum = pd.read_csv('output_NEDUM.csv', sep = ',') | |
################################## | |
#%% Exemples de courbes et de cartes | |
################################## | |
#%% 1. Courbe des loyers en fonction de la distance | |
#pour fermer les autres figures | |
plt.close('all') | |
#coordonnées du centre de Paris | |
X_centre_Paris=653750 | |
Y_centre_Paris=6862350 | |
outNedum['distance_centre'] = np.sqrt((outNedum['X']-X_centre_Paris) ** 2 + (outNedum['Y']-Y_centre_Paris) ** 2)/1000 | |
plt.scatter(outNedum['distance_centre'],outNedum['simul_2030_sc1_BAU_loyer']) | |
#%% 2. Carte de la construction | |
#pour fermer les autres figures | |
plt.close('all') | |
#'-logement' est en nombre de m2 construits par nombre de km2 au sol | |
# Attention, pour avoir le Coefficient d'Occupation des Sols, il faut diviser par 10^6 | |
plt.figure() | |
plt.scatter(outNedum['X'], outNedum['Y'],20, outNedum['simul_2030_sc3_ZI_logement'] * outNedum['coeff_land']) #construction | |
plt.colorbar() | |
#%% 3. Si jamais on veut enregistrer la dernière figure affichée | |
plt.savefig("nom_de_la_figure.png", dpi=200) | |
################################## | |
#%% Calcul de la densité de population | |
################################## | |
# Attention, il faut multiplier par 'coeff_land' qui représente la part du pixel qui est urbanisable | |
sc1_densite_pop = outNedum['simul_2030_sc1_BAU_logement'] * outNedum['coeff_land'] / outNedum['simul_2030_sc1_BAU_taille'] #en ménages / km2 | |
################################## | |
#%% Calcul des émissions totales de la ville | |
################################## | |
#Les variables 'emissions' donnent la quantité d'émissions pour un ménage vivant dans le carreau (en gCO2 / an) | |
sc1_emission_tot = np.sum( sc1_densite_pop * outNedum['simul_2030_sc1_BAU_emissions']) / np.sum(sc1_densite_pop) /1000 #en moyenne par ménage en kgCO2 | |
################################## | |
#%% Calcul de la surface urbanisée | |
################################## | |
borne_urba = 100000 #en dessous de cette densité de construction on considère qu'on n'est plus en ville | |
sc1_surface_urba = np.sum(outNedum['coeff_land']*(outNedum['simul_2030_sc1_BAU_logement']>borne_urba)) #en km2 | |
################################## | |
#%% Scénario 3: zone inondable | |
################################## | |
#'part_inond' représente la part de la surface constructible qui est située en zone inondable | |
plt.figure() | |
plt.scatter(outNedum['X'], outNedum['Y'],20, outNedum['part_inond']) | |
plt.colorbar() | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment