Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules/
30 changes: 9 additions & 21 deletions Cartographie des antennes mobiles.html
Original file line number Diff line number Diff line change
Expand Up @@ -282,12 +282,14 @@
</table>

<!-- Section pour afficher le nombre total de pylônes -->
<div id="totalPylonsSection" style="text-align: center; margin-top: 20px">
<h2>Nombre total de pylônes dans la zone</h2>
<p id="totalPylons">Patientez, chargement en cours ...</p>
</div>

<script>
<div id="totalPylonsSection" style="text-align: center; margin-top: 20px">
<h2>Nombre total de pylônes dans la zone</h2>
<p id="totalPylons">Patientez, chargement en cours ...</p>
</div>

<script src="js/utils.js"></script>

<script>
// Fonctions de validation pour la latitude, la longitude et le rayon
function isValidLatitude(lat) {
lat = parseFloat(lat);
Expand Down Expand Up @@ -339,21 +341,7 @@ <h2>Nombre total de pylônes dans la zone</h2>
return `https://data.anfr.fr/visualisation/frame/map/?id=observatoire_2g_3g_4g&refine.adm_lb_nom=${operator}&refine.statut=En%20service&refine.statut=Techniquement%20op%C3%A9rationnel&geofilter.distance=${latitude},${longitude},${radius}&location=${zoomLevel},${latitude},${longitude}&datasetcard=true&scrollWheelZoom=true`;
}

// Fonction pour calculer le niveau de zoom basé sur le rayon
function calculateZoomLevel(radius) {
// Logique de calcul du niveau de zoom basée sur le rayon
radius = parseFloat(radius);
if (radius <= 35) return 20;
else if (radius <= 70) return 19;
else if (radius <= 140) return 18;
else if (radius <= 270) return 17;
else if (radius <= 550) return 16;
else if (radius <= 1100) return 15;
else if (radius <= 2200) return 14;
else if (radius <= 4400) return 13;
else if (radius <= 8800) return 12;
else return 11; // Pour les rayons plus grands
}


// Fonction pour afficher le tableau des résultats et le total des pylônes uniques de la zone qui sont initialement masqués
function showResults() {
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ Lors de l'accès aux données JSON fournies par l'ANFR, des problèmes de CORS (
- JavaScript
- API de l'ANFR pour les données des antennes mobiles

## Tests

Les tests unitaires utilisent [Jest](https://jestjs.io/). Exécutez `npm test` pour lancer la suite de tests.

## Comment utiliser

1. **Ouvrir la page web** : https://deadier.github.io/Cartographie%20des%20antennes%20mobiles.html
Expand Down
17 changes: 17 additions & 0 deletions js/utils.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
function calculateZoomLevel(radius) {
radius = parseFloat(radius);
if (radius <= 35) return 20;
else if (radius <= 70) return 19;
else if (radius <= 140) return 18;
else if (radius <= 270) return 17;
else if (radius <= 550) return 16;
else if (radius <= 1100) return 15;
else if (radius <= 2200) return 14;
else if (radius <= 4400) return 13;
else if (radius <= 8800) return 12;
else return 11;
}

if (typeof module !== 'undefined') {
module.exports = { calculateZoomLevel };
}
Loading