Electronomy

Ma commune peut elle vivre en autonomie électrique ? Le potentiel de production solaire photovoltaique en rapport à la consommation électrique

Méthodologies, hypothèses et sources

A - Consommation électrique des ménages par commune

La consommation de la grande industrie doit etre sortie des consommations. Dans le cadre de l'atelier, le choix a été fait de ne reporter que la consommation des ménages.

1 - Consommation électrique totale des ménages sur l'ensemble du canton : 1 TWh –> 3'200 kWh/habitants (source : Canton du valais). La consommation réelle par commune ne peut etre obtenue qu'auprès des distributeurs, mais ces données ne sont pas ouvertes.

2 - Nombre d'habitants par communes (source : office cantonal de la statistique https://www.vs.ch/Navig/navig.asp?MenuID=16556&Language=fr)

3 - En multipliant (2) par (3), la consommation électrique de la commune est évaluée.

4 (optionnel) - Le marquage de l'électricité par distribeur permet de reporter l'approvisionnement de la commune (hydro, nucléaire, importation, mixte européen, PV,…). Les distributeurs communaux et leurs marquage est disponible sous http://www.stromkennzeichnung.ch/fr/recherche/powera/search/powerc.

B - Productions potentielles de PV par commune

1 - Listes des communes par NPA (source : http://www2.unil.ch/eatlasvs/wp/)

2 - Nombre de batiments par commune (source : http://www2.unil.ch/eatlasvs/wp/)

3 - Surface de toiture potentielles par batiment - Hypothèse : surface de toiture de 50m2 par batiment. Doit etre affiné en important les données réelles, par exemple depuis le RegBL

4 - Production annuelle par m2 de panneau - Hypothèse : production anuelle de 160 kWh/m2. Doit etre affiné en important les production effectives, en tenant compte de l'ensoleilement et de la topologie du lieu, par exeple depuis PV GIS http://re.jrc.ec.europa.eu/pvgis/apps4/pvest.php#

5 - En multipliant (2) par (3) par (4), déduction du potentiel de production communal

Data

  • List and link your actual and ideal data sources.

Capture d'écran

Captures

Code

Index.html :

<html>
<script type="text/javascript">
	var map,popup;
   function init() {
      map = new GeoAdmin.Map("mymap", {doZoomToMaxExtent: true});
      map.switchComplementaryLayer('ch.swisstopo.pixelkarte-farbe',{opacity: 100});
      // Ajout du layer pour voir les communes
      map.addLayerByName("ch.swisstopo.swissboundaries3d-gemeinde-flaeche.fill");
      // Ajout du layer pour voir les limites du canton
      map.addLayerByName("ch.swisstopo.swissboundaries3d-kanton-flaeche.fill");
      map.zoomToExtent(new OpenLayers.Bounds(543550,88800,680850,139600));
 
    // Dessiner un cercle
    var vector = new OpenLayers.Layer.Vector("Locations", {
        styleMap: new OpenLayers.StyleMap({
            "default": new OpenLayers.Style({
                pointRadius: "20",
                fillColor: "#FF0000",
                fillOpacity: 0.8,
                strokeColor: "#FF8000",
                strokeOpacity: 0.8,
                strokeWidth: 2
            }),
            "hover": OpenLayers.Util.applyDefaults({
                pointRadius: "10",
                fillColor: 'red',
                fillOpacity: 1.0,
                strokeColor: 'black',
                strokeOpacity: 1.0
            }, OpenLayers.Feature.Vector.style.temporary)
        })
    });
 
    // Dessiner un cercle sur Martigny
    var feature1 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(572494, 107137), {
        attributes: {text: 'example 1'}
    });
    // Dessiner un cercle sur Sion
    var feature2 = new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(596118, 123452), {
        attributes: {text: 'example 2'}
    });
 
    // Add features
    vector.addFeatures([feature1, feature2]);
 
    map.addLayers([vector]);
 
    // Attach a control on the feature to display the popup on hover
    var hover = new OpenLayers.Control.SelectFeature(vector, {
        renderIntent: 'hover',
        hover: true,
        highlightOnly: true,
        eventListeners: {
            featurehighlighted: function(data) {
                popup = new OpenLayers.Popup.FramedCloud("preview",
                    new OpenLayers.LonLat(data.feature.geometry.x, data.feature.geometry.y),
                    new OpenLayers.Size(40,20),
                    "<p>" + data.feature.attributes.attributes.text + "</p>",
                    null,
                    false
                    );
                map.addPopup(popup);
            },
            featureunhighlighted: function() {
                map.removePopup(popup);
            }
        }
    });
 
    // Add the control to the map
    map.addControls([hover]);
 
    hover.activate();
     }
</script>
<body onload="init();">
   <div id="mymap" style="width:100%;height:100%;border:1px solid grey;padding: 0 0 0 0;margin:10px !important;"></div>
   <script type="text/javascript" src="https://api.geo.admin.ch/loader.js?mode=light"></script>
</body>
</html>

GetCentroid.html

<html>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
 
<script>
$(document).ready(function() {
	var url = 'http://api.geo.admin.ch/main/wsgi/swisssearch/geocoding';
 
  	// A completer par le npa de toutes les communes
  	var test = new Array();
  	test[0] = 3960;
  	test[1] = 1920;
  	test[2] = 1950;
 
  	for (var i=0;i<test.length;i++){
 
	    $.getJSON(url + '?query=' +  test[i] +'&services=postalcodes&no_geom=false', function(data) {
	    	$.each(data.results, function(key, val){
	    		var content = "NPA: " +val.nr+ "<br/>";
	    		content += "Label: " +val.label+ "<br/>";
	    		var coord = new Array();
	    		$.each(val.bbox, function(i,j){
	    				coord[i] = j;
	    		});
 
	    		// Avoir la longitude et latitude de la commune
	    		content += coord[0]+6400+" | ";
	    		content += coord[1]+6400;
	    		content += "<br/>";
	    		$('#data').append(content);
	    	});
	    }); 
	}
});
</script>
<body>
	<div id="data"></div>
</body>
</html>
  • Problèmes à regler centroid
  • Manque plus que le for each sur chaque communes

Team

  • Grégoire Largey
  • Anthony Bernardo
  • Romain Paccolat

Data

  • Relevant documentation …
  • Blog or forum posts …
  • Tools you used …