Skip to content

Commit

Permalink
Merge pull request #3855 from ger-benjamin/lidarprofile_23
Browse files Browse the repository at this point in the history
WIP Lidarprofile 23
  • Loading branch information
ger-benjamin authored May 9, 2018
2 parents e198ac6 + e839eec commit b012c7d
Show file tree
Hide file tree
Showing 19 changed files with 2,649 additions and 2 deletions.
59 changes: 59 additions & 0 deletions contribs/gmf/examples/lidarprofile.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
gmf-map > div {
width: 80rem;
height: 40rem;
}
#gmf-lidarprofile-container {
position: relative;
overflow: hidden;
padding: 2rem;
border-top: solid 1px black;
background-color: white;
height: 35rem;
display: flex;
}

#gmf-lidarprofile-container .lidarprofile {
width: 60rem;
background-color: #f5f5f5;
}

#gmf-lidarprofile-container .lidar-legend {
list-style-type: none;
width: 15rem;
padding: 2rem;
}

#gmf-lidarprofile-container .close {
display: none;
}

#gmf-lidarprofile-container .lidar-error {
visibility: hidden;
position: absolute;
color: #4b717f;
padding-left: 100px;
padding-top: 100px;
z-index: 10;
font-size: 1.5em;
opacity: 1;
background: #e1f1f7;
width: 90%;
height: 100%;
}

#gmf-lidarprofile-container .lod-info {
max-height: 90px;
overflow-y: auto;
}

.gmf-lidarprofile-automatic-width {
color: gray;
}

.gmf-lidarprofile-chart-active main {
height: 60rem;
}

.gmf-tooltip-measure {
font-weight: bold;
}
28 changes: 28 additions & 0 deletions contribs/gmf/examples/lidarprofile.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html ng-app='gmfapp'>
<head>
<title>GMF profile example</title>
<meta charset="utf-8">
<meta name="viewport"
content="initial-scale=1.0, user-scalable=no, width=device-width">
<meta name="mobile-web-app-capable" content="yes">
</head>
<body ng-controller="MainController as ctrl">
<div style="position: relative; float:left; margin-right:10px;">
<gmf-map gmf-map-map="ctrl.map"></gmf-map>
<p id="desc">This example shows how to use the <code>gmf-lidarprofile</code> with the <code>gmf-lidar-panel</code>.</p>
<button ng-click="ctrl.panelActivated = !ctrl.panelActivated">Active panel</button>
<gmf-lidarprofile
gmf-lidarprofile-active="ctrl.panelActivated"
gmf-lidarprofile-line="ctrl.profileLine">
</gmf-lidarprofile>
</div>
<div style="float:left;" ng-show="ctrl.panelActivated">
<gmf-lidarprofile-panel
gmf-lidarprofile-panel-active="ctrl.panelActivated"
gmf-lidarprofile-panel-map="::ctrl.map"
gmf-lidarprofile-panel-line="ctrl.profileLine">
</gmf-lidarprofile-panel>
</div>
</body>
</html>
70 changes: 70 additions & 0 deletions contribs/gmf/examples/lidarprofile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
/**
* @module gmfapp.lidarprofile
*/
const exports = {};

import './lidarprofile.css';
import gmfMapComponent from 'gmf/map/component.js';
import gmfLidarprofileModule from 'gmf/lidarprofile/module.js';
import EPSG2056 from 'ngeo/proj/EPSG2056.js';
import ngeoMapModule from 'ngeo/map/module.js';
import olMap from 'ol/Map.js';
import olView from 'ol/View.js';
import olLayerTile from 'ol/layer/Tile.js';
import olSourceOSM from 'ol/source/OSM.js';


/** @type {!angular.Module} **/
exports.module = angular.module('gmfapp', [
'gettext',
gmfMapComponent.name,
gmfLidarprofileModule.name,
ngeoMapModule.name, // for ngeo.map.FeatureOverlay, perhaps remove me
]);


exports.module.value('pytreeLidarprofileJsonUrl', 'https://sitn.ne.ch/pytree/pytree_dev/');


/**
* @param {angular.Scope} $scope Angular scope.
* @constructor
* @ngInject
*/
exports.MainController = function($scope) {
/**
* @type {ol.geom.LineString}
* @export
*/
this.profileLine = null;

/**
* @type {boolean}
* @export
*/
this.panelActivated = false;

/**
* @type {ol.Map}
* @export
*/
this.map = new olMap({
layers: [
new olLayerTile({
source: new olSourceOSM()
})
],
view: new olView({
projection: EPSG2056,
resolutions: [200, 100, 50, 20, 10, 5, 2.5, 2, 1, 0.5],
center: [2551894, 1202362],
zoom: 3
})
});
};


exports.module.controller('MainController', exports.MainController);


export default exports;
189 changes: 189 additions & 0 deletions contribs/gmf/externs/lidarprofile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
/**
* Externs for a LIDARD profile web service.
*
* @externs
*/


/**
* @type {Object}
*/
let lidarprofileServer;


/**
* @typedef {Object.<number, !lidarprofileServer.ConfigClassification>}
*/
lidarprofileServer.ConfigClassifications;

/**
* @constructor
* @struct
*/
lidarprofileServer.ConfigClassification = function() {};

/**
* @type string
*/
lidarprofileServer.ConfigClassification.prototype.color;

/**
* @type string
*/
lidarprofileServer.ConfigClassification.prototype.name;

/**
* @type string
*/
lidarprofileServer.ConfigClassification.prototype.value;

/**
* @type boolean
*/
lidarprofileServer.ConfigClassification.prototype.visible;


/**
* @typedef {!Object<number, !lidarprofileServer.ConfigLevel>}
*/
lidarprofileServer.ConfigLevels;

/**
* @constructor
* @struct
*/
lidarprofileServer.ConfigLevel = function() {};

/**
* @type number
*/
lidarprofileServer.ConfigLevel.prototype.max;

/**
* @type number
*/
lidarprofileServer.ConfigLevel.prototype.width;


/**
* @typedef {Object.<string, !lidarprofileServer.ConfigPointAttribute>}
*/
lidarprofileServer.ConfigPointAttributes;

/**
* @constructor
* @struct
*/
lidarprofileServer.ConfigPointAttribute = function() {};

/**
* @type number
*/
lidarprofileServer.ConfigPointAttribute.prototype.bytes;

/**
* @type number
*/
lidarprofileServer.ConfigPointAttribute.prototype.elements;

/**
* @type string
*/
lidarprofileServer.ConfigPointAttribute.prototype.name;

/**
* @type string
*/
lidarprofileServer.ConfigPointAttribute.prototype.value;

/**
* @type number
*/
lidarprofileServer.ConfigPointAttribute.prototype.visible;


/**
* @constructor
* @struct
*/
lidarprofileServer.Config = function() {};

/**
* @type Object.<number, string>
*/
lidarprofileServer.Config.prototype.classes_names_normalized;

/**
* @type Object.<number, string>
*/
lidarprofileServer.Config.prototype.classes_names_standard;

/**
* @type lidarprofileServer.ConfigClassifications
*/
lidarprofileServer.Config.prototype.classification_colors;

/**
* @type boolean
*/
lidarprofileServer.Config.prototype.debug;

/**
* @type string
*/
lidarprofileServer.Config.prototype.default_attribute;

/**
* @type string
*/
lidarprofileServer.Config.prototype.default_color;

/**
* @type string
*/
lidarprofileServer.Config.prototype.default_point_attribute;

/**
* @type string
*/
lidarprofileServer.Config.prototype.default_point_cloud;

/**
* @type number
*/
lidarprofileServer.Config.prototype.initialLOD;

/**
* @type lidarprofileServer.ConfigLevels
*/
lidarprofileServer.Config.prototype.max_levels;

/**
* @type number
*/
lidarprofileServer.Config.prototype.max_point_number;

/**
* @type number
*/
lidarprofileServer.Config.prototype.minLOD;

/**
* @type lidarprofileServer.ConfigPointAttributes
*/
lidarprofileServer.Config.prototype.point_attributes;

/**
* @type number
*/
lidarprofileServer.Config.prototype.point_size;

/**
* @type number
*/
lidarprofileServer.Config.prototype.vertical_pan_tolerance;

/**
* @type number
*/
lidarprofileServer.Config.prototype.width;
Loading

0 comments on commit b012c7d

Please sign in to comment.