CINXE.COM
<!doctype html><html lang="{{mainCtrl.lang}}" ng-controller="ProController as mainCtrl"><head><title ng-bind-template="{{'Desktop Application'|translate}}">G茅oportail</title><meta charset="utf-8"><meta name="viewport" content="initial-scale=1,user-scalable=no,width=device-width"><meta name="dynamicUrl" content="/dynamic.json"><meta name="interface" content="pro"><link rel="shortcut icon" href="https://www.epfl.ch/wp-content/themes/wp-theme-2018/assets/favicons/favicon-32.png"/><link href="/static-ngeo/pro.0addac.css" rel="stylesheet"></head><body ng-class="{'gmf-profile-chart-active': !!profileChartActive, 'gmf-query-grid-active': !!mainCtrl.queryGridActive}" ng-keydown="mainCtrl.onKeydown()"></body><div ng-show="mainCtrl.loading" class="loading-mask"><i class="fa custom-spinner-loading fa-spin spinner-loading-mask"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="1em" height="1em"><circle style="opacity:1;fill-opacity:1;stroke:#000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="256" cy="48" r="48"></circle><circle style="opacity:1;fill-opacity:1;stroke:#000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="109.17" cy="108.313" r="43"></circle><circle style="opacity:1;fill-opacity:1;stroke:#000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="46.537" cy="257.328" r="38"></circle><circle style="opacity:1;fill-opacity:1;stroke:#000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="108.028" cy="403.972" r="33"></circle><circle style="opacity:1;fill-opacity:1;stroke:#000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="255.794" cy="463.935" r="28"></circle><circle style="opacity:1;fill-opacity:1;stroke:#000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="402.894" cy="402.936" r="23"></circle><circle style="opacity:1;fill-opacity:1;stroke:#000;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" cx="463.623" cy="256.106" r="18"></circle></svg></i></div><img class="epfl-logo" src="https://static.epfl.ch/latest/images/logo.svg"><span class="epfl-logo-text">G茅oportail</span><main><div class="gmf-app-data-panel" ngeo-resizemap="mainCtrl.map" ngeo-resizemap-state="mainCtrl.dataPanelActive" ng-class="{'gmf-app-inactive': !mainCtrl.dataPanelActive}"><div class="gmf-app-header"><div class="dropdown"><a href class="btn btn-default btn-block btn-primary" data-toggle="dropdown"><span class="fa fa-grid"></span> <span translate>Theme</span> <span class="caret"></span></a><gmf-themeselector class="dropdown-menu" gmf-themeselector-currenttheme="mainCtrl.theme" gmf-themeselector-filter="::mainCtrl.filter"></gmf-themeselector></div></div><div class="gmf-app-content"><gmf-layertree gmf-layertree-dimensions="mainCtrl.dimensions" gmf-layertree-map="::mainCtrl.map" gmf-layertree-openlinksinnewwindow="::true"></gmf-layertree></div></div><div class="gmf-app-tools" ngeo-resizemap="mainCtrl.map" ngeo-resizemap-state="mainCtrl.toolsActive" ng-class="{'gmf-app-inactive' : !mainCtrl.toolsActive}"><div class="gmf-app-bar"><div ngeo-btn-group class="btn-group-vertical" ngeo-btn-group-active="mainCtrl.toolsActive"><button ngeo-btn class="btn btn-default" ng-model="mainCtrl.loginActive" data-toggle="tooltip" data-placement="left" data-original-title="{{'Login'|translate}}"><span class="fa fa-user" ng-class="mainCtrl.gmfUser.username ? 'fa-user-times' : 'fa-user'"></span></button> <button ngeo-btn class="btn btn-default" ng-model="mainCtrl.printPanelActive" data-toggle="tooltip" data-placement="left" data-original-title="{{'Print'|translate}}"><span class="fa fa-print"></span></button> <button ngeo-btn class="btn btn-default" ng-model="mainCtrl.drawFeatureActive" data-toggle="tooltip" data-placement="left" data-original-title="{{'Draw & Measure'|translate}}"><span class="fa fa-paint-brush"></span></button> <button ngeo-btn class="btn btn-default" ng-model="mainCtrl.filterSelectorActive" data-toggle="tooltip" data-placement="left" data-original-title="{{'Filter'|translate}}"><span class="fa" ng-class="mainCtrl.gmfDataSourceBeingFiltered.dataSource && mainCtrl.gmfDataSourceBeingFiltered.dataSource.filterRules ? 'fa-funnel-dollar' : 'fa-filter'"></span></button> <button ngeo-btn class="btn btn-default" ng-model="mainCtrl.editFeatureActive" data-toggle="tooltip" data-placement="left" data-original-title="{{'Editing'|translate}}" ng-show="mainCtrl.hasEditableLayers" ng-cloak><span class="fa fa-pen"></span></button> <button ngeo-btn class="btn btn-default" ng-model="mainCtrl.shortcutsPanelActive" data-toggle="tooltip" data-placement="left" data-original-title="{{'Shortcuts'|translate}}"><span class="fa fa-university"></span></button> <button ngeo-btn class="btn btn-default" ng-model="mainCtrl.queryPanelActive" data-toggle="tooltip" data-placement="left" data-original-title="{{'Selection'|translate}}"><span><i class="fa fa-mouse-pointer"></i> <i class="fa fa-info fa-xs offset-info-icon"></i></span></button> <button ngeo-btn class="btn btn-default" ng-model="mainCtrl.routingToolsPanelActive" data-toggle="tooltip" data-placement="left" data-original-title="{{'Routing Tools'|translate}}" ng-show="mainCtrl.gmfUser.roles[0].name==='S18022' || mainCtrl.gmfUser.roles[0].name==='S21236'"><span class="fa routing-tools"></span></button></div><br/><br/><span data-toggle="tooltip" data-placement="left" data-original-title="{{'Share this map'|translate}}"><button ngeo-btn class="btn btn-default" ng-model="mainCtrl.modalShareShown"><span class="fa fa-share-alt"></span></button> </span><span data-toggle="tooltip" data-placement="left" data-original-title="{{'Mentions l茅gales'|translate}}"><a href="https://mediacom.epfl.ch/mentions-legales" class="btn btn-default epfl-btn-disclaimer"><span class="fa fa-balance-scale"></span></a></span></div><div class="gmf-app-tools-content container-fluid" ng-class="{'gmf-app-active': mainCtrl.toolsActive, 'gmf-app-inactive': !mainCtrl.toolsActive }"><div ng-show="mainCtrl.loginActive" class="row"><div class="col-sm-12"><div class="gmf-app-tools-content-heading">{{'Login' | translate}} <a class="btn close" ng-click="mainCtrl.loginActive = false">×</a></div><epfl-authentication username="mainCtrl.gmfUser.username"></epfl-authentication><div ng-show="mainCtrl.availableRoles.length > 1"><select class="form-control epfl-roles-list" ng-model="mainCtrl.selectedRole" ng-change="mainCtrl.changeRole()" ng-options="role as role.name for role in mainCtrl.availableRoles"><option value="">{{'-- Select role --' | translate}}</option></select></div></div></div><div ng-show="mainCtrl.printPanelActive" class="row"><div class="col-sm-12"><div class="gmf-app-tools-content-heading">{{'Print' | translate}} <a class="btn close" ng-click="mainCtrl.printPanelActive = false">×</a></div><gmf-print gmf-print-map="::mainCtrl.map" gmf-print-active="mainCtrl.printActive" gmf-print-attributes-out="::attributes"><span ng-if="mainCtrl.gmfUser.username"><div ng-repeat="attribute in ::attributes"><label ng-if="attribute.name == 'debug'"><input ng-model="attribute.value" type="checkbox"> <span translate>debug</span></label></div></span></gmf-print><epfl-print-faculty ng-if="mainCtrl.showPrintFaculty" epfl-faculty-active="mainCtrl.printActive"></epfl-print-faculty></div></div><div ng-show="mainCtrl.drawFeatureActive" class="row"><div class="col-sm-12"><div class="gmf-app-tools-content-heading">{{'Draw & Measure'|translate}} <a class="btn close" ng-click="mainCtrl.drawFeatureActive = false">×</a></div><gmf-drawfeature gmf-drawfeature-active="mainCtrl.drawFeatureActive" gmf-drawfeature-layer="::mainCtrl.drawFeatureLayer" gmf-drawfeature-map="::mainCtrl.map"></gmf-drawfeature></div></div><div ng-show="mainCtrl.filterSelectorActive" class="row"><div class="col-sm-12"><div class="gmf-app-tools-content-heading">{{'Filter'|translate}} <a class="btn close" ng-click="mainCtrl.filterSelectorActive = false">×</a></div><gmf-filterselector active="mainCtrl.filterSelectorActive" map="mainCtrl.map" tool-group="mainCtrl.mapToolsGroup"></gmf-filterselector></div></div><div ng-show="mainCtrl.editFeatureActive" class="row"><div class="col-sm-12"><div class="gmf-app-tools-content-heading">{{'Editing'|translate}} <a class="btn close" ng-click="mainCtrl.editFeatureActive = false">×</a></div><div ng-switch="mainCtrl.gmfUser.username"><div ng-switch-when="null">{{'In order to use the editing tool, you must log in first.' | translate}}</div><gmf-editfeatureselector ng-switch-default gmf-editfeatureselector-active="mainCtrl.editFeatureActive" gmf-editfeatureselector-tree="mainCtrl.selectedEditableTreeCtrl" gmf-editfeatureselector-map="::mainCtrl.map" gmf-editfeatureselector-vector="::mainCtrl.editFeatureVectorLayer" gmf-editfeatureselector-closeaftersave="::true"></gmf-editfeatureselector></div></div></div><div ng-show="mainCtrl.queryPanelActive" class="row"><div class="col-sm-12"><div class="gmf-app-tools-content-heading">{{'Selection'|translate}} <a class="btn close" ng-click="mainCtrl.queryPanelActive = false">×</a></div><ngeo-query-panel></ngeo-query-panel></div></div><div ng-show="mainCtrl.shortcutsPanelActive" class="row"><div class="col-sm-12"><div class="gmf-app-tools-content-heading"><span translate>Shortcuts</span> <a class="btn close" ng-click="mainCtrl.shortcutsPanelActive = false">×</a></div><epfl-shortcuts map="::mainCtrl.map" floor="mainCtrl.dimensions.floor"></epfl-shortcuts></div></div><div ng-show="mainCtrl.routingToolsPanelActive" class="row"><div class="col-sm-12"><div class="gmf-app-tools-content-heading"><span translate>Routing Tools</span> <a class="btn close" ng-click="mainCtrl.routingToolsPanelActive = false">×</a></div><epfl-routing-tools map="::mainCtrl.map"></epfl-routing-tools></div></div></div></div><div class="gmf-app-map-container" ng-class="{'gmf-app-infobar-active': mainCtrl.showInfobar}"><epfl-search map="::mainCtrl.map" query="mainCtrl.common.searchQuery" selected="mainCtrl.common.searchSelected" floor="mainCtrl.dimensions.floor"></epfl-search><ngeo-mapswipe ng-if="mainCtrl.gmfLayerBeingSwipe.layer != null" map="::mainCtrl.map" layer="mainCtrl.gmfLayerBeingSwipe.layer" swipe-value="mainCtrl.gmfLayerBeingSwipe.swipeValue"></ngeo-mapswipe><div id="ol-zoom-control"></div><ngeo-displaywindow content="mainCtrl.displaywindowContent" desktop="true" height="mainCtrl.displaywindowHeight" open="mainCtrl.displaywindowOpen" title="mainCtrl.displaywindowTitle" url="mainCtrl.displaywindowUrl" width="mainCtrl.displaywindowWidth"></ngeo-displaywindow><button ngeo-geolocation="" ngeo-geolocation-map="::mainCtrl.map" ngeo-geolocation-loading="mainCtrl.loading" ng-if="::mainCtrl.options.geolocalisation"><span class="far fa-dot-circle"></span></button><div class="gmf-app-map-bottom-controls"><div class="gmf-backgroundlayerbutton btn-group dropup"><button class="btn btn-default dropdown-toggle" data-toggle="dropdown"><img src="/static-ngeo/background-layer-button.a0bf1e.png" alt="" crossorigin="anonymous"/></button><gmf-backgroundlayerselector gmf-backgroundlayerselector-map="::mainCtrl.map" class="dropdown-menu"></gmf-backgroundlayerselector></div><gmf-disclaimer gmf-disclaimer-map="::mainCtrl.map" gmf-disclaimer-external-msg="disclaimerMsg" gmf-disclaimer-external-visibility="disclaimerVisibility"></gmf-disclaimer><gmf-displayquerywindow ng-if="!mainCtrl.queryGrid" gmf-displayquerywindow-draggable-containment="::mainCtrl.displaywindowDraggableContainment" gmf-displayquerywindow-desktop="::true"></gmf-displayquerywindow></div><epfl-floor map="::mainCtrl.map" floor="mainCtrl.dimensions.floor"></epfl-floor><gmf-map class="gmf-map" gmf-map-map="mainCtrl.map" gmf-map-manage-resize="mainCtrl.manageResize" gmf-map-resize-transition="mainCtrl.resizeTransition" gmf-contextualdata="" gmf-contextualdata-displayed="mainCtrl.contextdataActive" gmf-contextualdata-map="::mainCtrl.map"></gmf-map><ngeo-query active="mainCtrl.queryActive" autoclear="mainCtrl.queryAutoClear" map="::mainCtrl.map"></ngeo-query><div class="gmf-app-footer" ng-class="{'gmf-app-active': mainCtrl.showInfobar}"><button class="btn fa gmf-app-map-info ng-cloak" ng-click="mainCtrl.showInfobar = !mainCtrl.showInfobar" ng-class="{'fa-angle-double-up': !mainCtrl.showInfobar, 'fa-angle-double-down': mainCtrl.showInfobar}"></button><div ngeo-scaleselector ngeo-scaleselector-map="mainCtrl.map"></div><div id="scaleline"></div><div class="pull-right"><gmf-mouseposition gmf-mouseposition-map="mainCtrl.map" class="text-center"></gmf-mouseposition></div></div></div><ngeo-modal ng-model="mainCtrl.modalShareShown" ngeo-modal-destroy-content-on-hide="true"><gmf-share ng-if="mainCtrl.modalShareShown" gmf-share-email="false "></gmf-share></ngeo-modal><ngeo-modal ng-model="disclaimerVisibility"><div class="modal-header ui-draggable-handle"><button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button></div><div class="modal-body"><div ng-bind-html="disclaimerMsg"></div></div></ngeo-modal></main><footer><gmf-profile gmf-profile-active="profileChartActive" gmf-profile-line="mainCtrl.profileLine" gmf-profile-map="::mainCtrl.map" ngeo-resizemap="mainCtrl.map" ngeo-resizemap-state="profileChartActive"></gmf-profile><gmf-displayquerygrid ng-if="mainCtrl.queryGrid" gmf-displayquerygrid-active="mainCtrl.queryGridActive" gmf-displayquerygrid-map="::mainCtrl.map" ngeo-resizemap="mainCtrl.map" ngeo-resizemap-state="mainCtrl.queryGridActive"></gmf-displayquerygrid></footer><script src="/static-ngeo/vendor.js?16500" crossorigin="anonymous"></script><script src="/static-ngeo/pro.084e86.js" crossorigin="anonymous"></script></html>