summaryrefslogtreecommitdiff
path: root/ero1/src/generation/habitation_generation.py
blob: 35cddaa43fb45a717ec28198dc126220df53ebb7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# FICHIER DEPRECATED : Ce fichier n'est plus utilisé.

import random
import parameters as params

def place_habitation(G):
    """
    Place des zones d'habitation sur les arêtes du graphe.
    Parameters:
        G (voir quel type on veut utiliser): le graphe des routes
    Returns:
        None: le graphe est modifié en place
    """
    edges = list(G.edges(keys=True, data=True))
    n = len(edges)
    amount_to_place = int(params.HABITATION_PERCENTAGE * n)

    # Trie les arrêtes par leur longueur. (x[3] = data)
    edges_sorted = sorted(edges, key=lambda x: x[3].get('length', 0), reverse=True)

    # Place les habitations sur les plus longues arêtes ? (tentative - juste pour tester les drones)
    # WARNING : peut être remplacer la fonction plus tard.
    for (u, v, k, data) in edges_sorted[:amount_to_place]:
        data['habitation'] = True