Atlals digital versão 1.0

Esse commit está contido em:
ricardodesouza1
2021-04-14 10:21:43 -03:00
commit 8adf5c9ba9
141 arquivos alterados com 15404 adições e 57939 exclusões
-13
Ver Arquivo
@@ -1,13 +0,0 @@
<?php
$c = mysqli_connect("localhost", "ricardo", "123", "atlas");
$nome = $_POST['nome'];
$telefone = $_POST['telefone'];
$email = $_POST['email'];
$senha = $_POST['senha'];
mysqli_query($c, "insert into usuarios (nome, telefone, email, senha) Values ('$nome','$telefone','$email','$senha')");
-115
Ver Arquivo
@@ -1,115 +0,0 @@
<?php
Class Usuario
{
private $pdo;
private $msgErro = "";
public function conectar($nome, $host, $usuario, $senha){
global $pdo;
global $msgErro;
try {
$pdo = new PDO("mysql:dbname=".$nome.";host=".$host,$usuario,$senha);
} catch (PDOException $e) {
$msgErro = $e->getMessage();
}
}
public function cadastrar($nome, $telefone, $email, $senha){
global $pdo;
// verificar se email já existe
$sql = $pdo->prepare("SELECT id_usuario FROM usuarios WHERE email = :e");
$sql->bindValue(":e", $email);
$sql->execute();
if($sql->rowCount() > 0)
{
return false; // já cadastrado
}else{
//caso não exista, cadastro
$sql = $pdo->prepare("INSERT INTO usuarios (nome, telefone, email, senha) VALUES (:n, :t, :e, :s)");
$sql->bindValue(":n", $nome);
$sql->bindValue(":t", $telefone);
$sql->bindValue(":e", $email);
$sql->bindValue(":s", md5($senha));
$sql->execute();
return true;
}
}
/*public function imagem($codigo){
global $pdo;
$sql = $pdo->prepare("SELECT * FROM mapas");
$sql->bindValue
}*/
//upload de arquivo
public function upload($arquivo, $nome){
global $pdo;
$sql = $pdo->prepare("INSERT INTO mapas (arquivo, data, nome) VALUES (:a, NOW(), :n)");
$sql->bindValue(":a", $arquivo);
$sql->bindValue(":n", $nome);
$sql->execute();
return true;
}
// Excluir dados do banco
public function excluirBanco($codigo){
global $pdo;
$sql = $pdo->prepare("DELETE FROM mapas WHERE codigo = :codigo");
$sql->bindValue(":codigo",$codigo);
$sql->execute();
}
//buscar dados do banco
public function buscarDadosMapa($codigo){
global $pdo;
$sql = $pdo->prepare("SELECT * FROM mapas WHERE codigo = :codigo");
$sql->bindValue(":codigo",$codigo);
$sql->execute();
$resultado = $sql->fetch();
return $resultado;
}
// ATUALIZAR DADOS BANCO
public function atualizarMapas(){
}
public function logar($email, $senha){
global $pdo;
//verificação de email e senha se estão cadastrados
$sql = $pdo->prepare("SELECT id_usuario FROM usuarios WHERE email = :e AND senha = :s");
$sql->bindValue(":e", $email);
$sql->bindValue(":s", md5($senha));
$sql->execute();
if($sql->rowCount() > 0){
// usuário pode acessar o sistema
$dado = $sql->fetch();
session_start();
$_SESSION['id_usuario'] = $dado['id_usuario'];
return true; // logado com sucesso
}else{
return false; // não foi possível logar
}
}
}
?>
Arquivo binário não exibido.
Arquivo binário não exibido.
Arquivo binário não exibido.
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
-260
Ver Arquivo
@@ -1,260 +0,0 @@
/*! nouislider - 10.0.0 - 2017-05-28 14:52:48 */
/* Functional styling;
* These styles are required for noUiSlider to function.
* You don't need to change these rules to apply your design.
*/
.noUi-target,
.noUi-target * {
-webkit-touch-callout: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-user-select: none;
-ms-touch-action: none;
touch-action: none;
-ms-user-select: none;
-moz-user-select: none;
user-select: none;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.noUi-target {
position: relative;
direction: ltr;
}
.noUi-base {
width: 100%;
height: 100%;
position: relative;
z-index: 1;
/* Fix 401 */
}
.noUi-connect {
position: absolute;
right: 0;
top: 0;
left: 0;
bottom: 0;
}
.noUi-origin {
position: absolute;
height: 0;
width: 0;
}
.noUi-handle {
position: relative;
z-index: 1;
}
.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
-webkit-transition: top 0.3s, right 0.3s, bottom 0.3s, left 0.3s;
transition: top 0.3s, right 0.3s, bottom 0.3s, left 0.3s;
}
.noUi-state-drag * {
cursor: inherit !important;
}
/* Painting and performance;
* Browsers can paint handles in their own layer.
*/
.noUi-base,
.noUi-handle {
-webkit-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
/* Slider size and handle placement;
*/
.noUi-horizontal {
height: 18px;
}
.noUi-horizontal .noUi-handle {
width: 34px;
height: 28px;
left: -17px;
top: -6px;
}
.noUi-vertical {
width: 18px;
}
.noUi-vertical .noUi-handle {
width: 28px;
height: 34px;
left: -6px;
top: -17px;
}
/* Styling;
*/
.noUi-target {
background: #FAFAFA;
border-radius: 4px;
border: 1px solid #D3D3D3;
box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}
.noUi-connect {
background: #3FB8AF;
border-radius: 4px;
box-shadow: inset 0 0 3px rgba(51, 51, 51, 0.45);
-webkit-transition: background 450ms;
transition: background 450ms;
}
/* Handles and cursors;
*/
.noUi-draggable {
cursor: ew-resize;
}
.noUi-vertical .noUi-draggable {
cursor: ns-resize;
}
.noUi-handle {
border: 1px solid #D9D9D9;
border-radius: 3px;
background: #FFF;
cursor: default;
box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
}
.noUi-active {
box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
}
/* Handle stripes;
*/
.noUi-handle:before,
.noUi-handle:after {
content: "";
display: block;
position: absolute;
height: 14px;
width: 1px;
background: #E8E7E6;
left: 14px;
top: 6px;
}
.noUi-handle:after {
left: 17px;
}
.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
width: 14px;
height: 1px;
left: 6px;
top: 14px;
}
.noUi-vertical .noUi-handle:after {
top: 17px;
}
/* Disabled state;
*/
[disabled] .noUi-connect {
background: #B8B8B8;
}
[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
cursor: not-allowed;
}
/* Base;
*
*/
.noUi-pips,
.noUi-pips * {
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.noUi-pips {
position: absolute;
color: #999;
}
/* Values;
*
*/
.noUi-value {
position: absolute;
white-space: nowrap;
text-align: center;
}
.noUi-value-sub {
color: #ccc;
font-size: 10px;
}
/* Markings;
*
*/
.noUi-marker {
position: absolute;
background: #CCC;
}
.noUi-marker-sub {
background: #AAA;
}
.noUi-marker-large {
background: #AAA;
}
/* Horizontal layout;
*
*/
.noUi-pips-horizontal {
padding: 10px 0;
height: 80px;
top: 100%;
left: 0;
width: 100%;
}
.noUi-value-horizontal {
-webkit-transform: translate3d(-50%, 50%, 0);
transform: translate3d(-50%, 50%, 0);
}
.noUi-marker-horizontal.noUi-marker {
margin-left: -1px;
width: 2px;
height: 5px;
}
.noUi-marker-horizontal.noUi-marker-sub {
height: 10px;
}
.noUi-marker-horizontal.noUi-marker-large {
height: 15px;
}
/* Vertical layout;
*
*/
.noUi-pips-vertical {
padding: 0 10px;
height: 100%;
top: 0;
left: 100%;
}
.noUi-value-vertical {
-webkit-transform: translate3d(0, 50%, 0);
transform: translate3d(0, 50%, 0);
padding-left: 25px;
}
.noUi-marker-vertical.noUi-marker {
width: 5px;
height: 2px;
margin-top: -1px;
}
.noUi-marker-vertical.noUi-marker-sub {
width: 10px;
}
.noUi-marker-vertical.noUi-marker-large {
width: 15px;
}
.noUi-tooltip {
display: block;
position: absolute;
border: 1px solid #D9D9D9;
border-radius: 3px;
background: #fff;
color: #000;
padding: 5px;
text-align: center;
white-space: nowrap;
}
.noUi-horizontal .noUi-tooltip {
-webkit-transform: translate(-50%, 0);
transform: translate(-50%, 0);
left: 50%;
bottom: 120%;
}
.noUi-vertical .noUi-tooltip {
-webkit-transform: translate(0, -50%);
transform: translate(0, -50%);
top: 50%;
right: 120%;
}
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
-261
Ver Arquivo
@@ -1,261 +0,0 @@
.ol-box {
box-sizing: border-box;
border-radius: 2px;
border: 2px solid blue;
}
.ol-mouse-position {
top: 8px;
right: 8px;
position: absolute;
}
.ol-scale-line {
background: rgba(0,60,136,0.3);
border-radius: 4px;
bottom: 8px;
left: 8px;
padding: 2px;
position: absolute;
}
.ol-scale-line-inner {
border: 1px solid #eee;
border-top: none;
color: #eee;
font-size: 10px;
text-align: center;
margin: 1px;
will-change: contents, width;
}
.ol-overlay-container {
will-change: left,right,top,bottom;
}
.ol-unsupported {
display: none;
}
.ol-viewport, .ol-unselectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
.ol-selectable {
-webkit-touch-callout: default;
-webkit-user-select: auto;
-moz-user-select: auto;
-ms-user-select: auto;
user-select: auto;
}
.ol-grabbing {
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
cursor: grabbing;
}
.ol-grab {
cursor: move;
cursor: -webkit-grab;
cursor: -moz-grab;
cursor: grab;
}
.ol-control {
position: absolute;
background-color: rgba(255,255,255,0.4);
border-radius: 4px;
padding: 2px;
}
.ol-control:hover {
background-color: rgba(255,255,255,0.6);
}
.ol-zoom {
top: .5em;
left: .5em;
}
.ol-rotate {
top: .5em;
right: .5em;
transition: opacity .25s linear, visibility 0s linear;
}
.ol-rotate.ol-hidden {
opacity: 0;
visibility: hidden;
transition: opacity .25s linear, visibility 0s linear .25s;
}
.ol-zoom-extent {
top: 4.643em;
left: .5em;
}
.ol-full-screen {
right: .5em;
top: .5em;
}
@media print {
.ol-control {
display: none;
}
}
.ol-control button {
display: block;
margin: 1px;
padding: 0;
color: white;
font-size: 1.14em;
font-weight: bold;
text-decoration: none;
text-align: center;
height: 1.375em;
width: 1.375em;
line-height: .4em;
background-color: rgba(0,60,136,0.5);
border: none;
border-radius: 2px;
}
.ol-control button::-moz-focus-inner {
border: none;
padding: 0;
}
.ol-zoom-extent button {
line-height: 1.4em;
}
.ol-compass {
display: block;
font-weight: normal;
font-size: 1.2em;
will-change: transform;
}
.ol-touch .ol-control button {
font-size: 1.5em;
}
.ol-touch .ol-zoom-extent {
top: 5.5em;
}
.ol-control button:hover,
.ol-control button:focus {
text-decoration: none;
background-color: rgba(0,60,136,0.7);
}
.ol-zoom .ol-zoom-in {
border-radius: 2px 2px 0 0;
}
.ol-zoom .ol-zoom-out {
border-radius: 0 0 2px 2px;
}
.ol-attribution {
text-align: right;
bottom: .5em;
right: .5em;
max-width: calc(100% - 1.3em);
}
.ol-attribution ul {
margin: 0;
padding: 0 .5em;
font-size: .7rem;
line-height: 1.375em;
color: #000;
text-shadow: 0 0 2px #fff;
}
.ol-attribution li {
display: inline;
list-style: none;
line-height: inherit;
}
.ol-attribution li:not(:last-child):after {
content: " ";
}
.ol-attribution img {
max-height: 2em;
max-width: inherit;
vertical-align: middle;
}
.ol-attribution ul, .ol-attribution button {
display: inline-block;
}
.ol-attribution.ol-collapsed ul {
display: none;
}
.ol-attribution.ol-logo-only ul {
display: block;
}
.ol-attribution:not(.ol-collapsed) {
background: rgba(255,255,255,0.8);
}
.ol-attribution.ol-uncollapsible {
bottom: 0;
right: 0;
border-radius: 4px 0 0;
height: 1.1em;
line-height: 1em;
}
.ol-attribution.ol-logo-only {
background: transparent;
bottom: .4em;
height: 1.1em;
line-height: 1em;
}
.ol-attribution.ol-uncollapsible img {
margin-top: -.2em;
max-height: 1.6em;
}
.ol-attribution.ol-logo-only button,
.ol-attribution.ol-uncollapsible button {
display: none;
}
.ol-zoomslider {
top: 4.5em;
left: .5em;
height: 200px;
}
.ol-zoomslider button {
position: relative;
height: 10px;
}
.ol-touch .ol-zoomslider {
top: 5.5em;
}
.ol-overviewmap {
left: 0.5em;
bottom: 0.5em;
}
.ol-overviewmap.ol-uncollapsible {
bottom: 0;
left: 0;
border-radius: 0 4px 0 0;
}
.ol-overviewmap .ol-overviewmap-map,
.ol-overviewmap button {
display: inline-block;
}
.ol-overviewmap .ol-overviewmap-map {
border: 1px solid #7b98bc;
height: 150px;
margin: 2px;
width: 150px;
}
.ol-overviewmap:not(.ol-collapsed) button{
bottom: 1px;
left: 2px;
position: absolute;
}
.ol-overviewmap.ol-collapsed .ol-overviewmap-map,
.ol-overviewmap.ol-uncollapsible button {
display: none;
}
.ol-overviewmap:not(.ol-collapsed) {
background: rgba(255,255,255,0.8);
}
.ol-overviewmap-box {
border: 2px dotted rgba(0,60,136,0.7);
}
.ol-overviewmap .ol-overviewmap-box:hover {
cursor: move;
}
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Arquivo binário não exibido.
-212
Ver Arquivo
@@ -1,212 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>plottygeotiff</title>
<script src="dist/plotty.min.js"></script>
<script src="dist/nouislider.js"></script>
<script src="dist/geotiffjs/geotiff.browserify.js"></script>
<script src="dist/ol-debug.js"></script>
<script src="olGeoTiff_07.js"></script>
<!-- jquery is NOT required and only used for handling the user input... just lazyness :) -->
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<link rel="stylesheet" href="dist/nouislider.css" type="text/css">
<link rel="stylesheet" href="dist/ol-debug.css" type="text/css">
<style>
.slider { width: 100%; margin-top: 50px; }
.map { width: 100%; height: 600px; margin-top: 20px; }
select { margin-top: 15px; }
.mapcontainer { padding: 0 100px; text-align: center; }
.slidercontainer { padding: 0 100px; }
</style>
</head>
<body>
<div class="mapcontainer">
<div id="s2map" class="map"></div>
<div class="slidercontainer">
<div class="slider domainslider"></div>
<div class="slider opacityslider"></div>
</div>
<select class="palette">
<option>viridis</option>
<option>inferno</option>
<option>rainbow</option>
<option>jet</option>
<option>hsv</option>
<option>hot</option>
<option>cool</option>
<option>spring</option>
<option>summer</option>
<option>autumn</option>
<option>winter</option>
<option>bone</option>
<option>copper</option>
<option>greys</option>
<option>yignbu</option>
<option>greens</option>
<option>yiorrd</option>
<option>bluered</option>
<option>rdbu</option>
<option>picnic</option>
<option>portland</option>
<option selected>blackbody</option>
<option>earth</option>
<option>electric</option>
<option>magma</option>
<option>plasma</option>
</select>
<select class="datafunction">
<option selected>NDVI</option>
<option>NDI45</option>
</select>
</div>
<script>
// set variables
const projection = ol.proj.get('https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/build/ol.js');
const projectionExtent = projection.getExtent();
const size = ol.extent.getWidth(projectionExtent) / 256;
const resolutions = new Array(18);
const matrixIds = new Array(18);
// create matrix
for (let z = 0; z < 18; ++z) {
// generate resolutions and matrixIds arrays for this WMTS
// eslint-disable-next-line no-restricted-properties
resolutions[z] = size / Math.pow(2, (z + 1));
matrixIds[z] = z;
}
// define the wms layer
var wmslayer_s2 = new ol.layer.Tile({
source: new ol.source.WMTS({
src: '1992dsm_Malakoff_Diggins_SHP_California.tif',
projection,
tileGrid: new ol.tilegrid.WMTS({
origin: ol.extent.getTopLeft(projectionExtent),
resolutions,
matrixIds,
}),
requestEncoding: 'REST',
transition: 0,
})
});
// eox baselayer
var tile_grid = new ol.tilegrid.WMTS({origin:ol.extent.getTopLeft(projectionExtent),resolutions:resolutions,matrixIds:matrixIds});
var s2maps = new ol.layer.Tile({
source: new ol.source.WMTS({
layer:'s2cloudless',
attributions:[new ol.Attribution({html:'<a xmlns:dct="http://purl.org/dc/terms/" href="https://s2maps.eu" property="dct:title">Sentinel-2 cloudless - https://s2maps.eu</a> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://eox.at" property="cc:attributionName" rel="cc:attributionURL">EOX IT Services GmbH</a> (Contains modified Copernicus Sentinel data 2016 &amp; 2017)'})],
matrixSet:'WGS84',
format:'image/jpeg',
projection:projection,
tileGrid:tile_grid,
style:'default',
wrapX:!0,
urls:[
"//a.s2maps-tiles.eu/wmts/",
"//b.s2maps-tiles.eu/wmts/",
"//c.s2maps-tiles.eu/wmts/",
"//d.s2maps-tiles.eu/wmts/",
"//e.s2maps-tiles.eu/wmts/"
]
})
});
// define the map
var map_result_s2 = new ol.Map({
target: 's2map',
layers: [
s2maps,
wmslayer_s2,
],
view: new ol.View({
projection,
center: [16.411407470703125, 48.27875518798828],
zoom: 12,
maxZoom: 14,
minZoom: 3
}),
controls: ol.control.defaults({
attributionOptions: {
collapsible: false
}
}),
});
// setup datafunctions
var datafunctions = {};
datafunctions['NDVI'] = function(b) {
if(b[1]+b[2]+b[3]+b[4]==0) return 10; // return 10 as nodata value
return ( b[4] - b[3] ) / ( b[4] + b[3] ); // otherwise return NDVI
};
datafunctions['NDI45'] = function(b) {
if(b[1]+b[2]+b[3]+b[4]==0) return 10; // return 10 as nodata value
return ( b[4] - b[1] ) / ( b[4] + b[1] ); // otherwise return NDVI
};
// olGeoTiff setup
var olgt_s2map = new olGeoTiff(wmslayer_s2);
olgt_s2map.plotOptions.domain = [-0.2, 0.2];
olgt_s2map.plotOptions.noDataValue = 10;
olgt_s2map.plotOptions.palette = 'blackbody';
olgt_s2map.plotOptions.dataFunction = datafunctions['NDVI'];
// handle user input
$(document).ready(function() {
var $container = $('#s2map').parent();
// slider1 (domain)
var slider = $container.find('.domainslider')[0];
noUiSlider.create(slider, {
start: olgt_s2map.plotOptions.domain,
connect: true,
range: { 'min': -1, 'max': 1 },
tooltips: true,
});
slider.noUiSlider.on('change', function(values) {
olgt_s2map.plotOptions.domain = [values[0], values[1]];
olgt_s2map.redraw();
});
// slider2 (opacity)
var slider2 = $container.find('.opacityslider')[0];
var opacity = 1;
noUiSlider.create(slider2, {
start: opacity,
connect: true,
range: { 'min': 0, 'max': 1 },
tooltips: true,
});
wmslayer_s2.setOpacity(opacity);
slider2.noUiSlider.on('slide', function(values) {
wmslayer_s2.setOpacity(values[0]*1);
});
// palette
$container.find('.palette').on("change", function() {
var palette = this.options[this.selectedIndex].text;
olgt_s2map.plotOptions.palette = palette;
olgt_s2map.redraw();
});
// datafunctions
$container.find('.datafunction').on("change", function() {
var func = this.options[this.selectedIndex].text;
olgt_s2map.plotOptions.dataFunction = datafunctions[func];
olgt_s2map.redraw();
});
});
</script>
</body>
</html>
-73
Ver Arquivo
@@ -1,73 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/css/ol.css" type="text/css">
<style>
.map {
height: 400px;
width: 100%;
}
</style>
<script src="http://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.6/proj4.js" type="text/javascript"></script>
<script src="http://epsg.io/21781-1753.js" type="text/javascript"></script>
<script src="https://cdn.rawgit.com/openlayers/openlayers.github.io/master/en/v5.3.0/build/ol.js"></script>
<title>OpenLayers example</title>
</head>
<body>
<h2>My Map</h2>
<div id="map" class="map"></div>
<script type="text/javascript">
var style = (function() {
var stroke = new ol.style.Stroke({
//color: '#666'
});
var textStroke = new ol.style.Stroke({
//color: '#fff',
width: 3
});
var textFill = new ol.style.Fill({
// color: '#000'
});
return function(feature, resolution) {
return [new ol.style.Style({
stroke: stroke,
text: new ol.style.Text({
font: '12px Calibri,sans-serif',
text: feature.get('key'),
fill: textFill,
stroke: textStroke
})
})];
};
})();
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
//map = new map.addLayer(Openlayers.Layer.OSM('beltrao.tif'));
// map.addLayer(Openlayers.Layer.OSM('beltrao.tif'));
}),
new ol.layer.Vector({
title: 'Buildings',
source: new ol.source.Vector({
url: 'mapas/ttt.kml',
format: new ol.format.KML({
extractStyles: false
})
}),
style: style
}),
],
view: new ol.View({
center: ol.proj.fromLonLat([-53.0524, -26.0759]),
zoom: 10.7
})
});
</script>
</body>
</html>
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
-109
Ver Arquivo
@@ -1,109 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
<name>srtmtif</name>
<Style>
<ListStyle>
<listItemType>checkHideChildren</listItemType>
<bgColor>00ffffff</bgColor>
<maxSnippetLines>2</maxSnippetLines>
</ListStyle>
</Style>
<Folder>
<name>kml_image_srtmtif_L1_0_0</name>
<Region>
<LatLonAltBox>
<north>-26.40525989458669</north>
<south>-26.64920074627508</south>
<east>-51.40858648132068</east>
<west>-51.77340247946083</west>
<minAltitude>0</minAltitude>
<maxAltitude>0</maxAltitude>
</LatLonAltBox>
<Lod>
<minLodPixels>35</minLodPixels>
<maxLodPixels>2049</maxLodPixels>
<minFadeExtent>0</minFadeExtent>
<maxFadeExtent>0</maxFadeExtent>
</Lod>
</Region>
<GroundOverlay>
<drawOrder>1</drawOrder>
<Icon>
<href>/Users/fernandomanosso/Library/Application Support/Google Earth/kml_image_srtmtif_L1_0_0_0.tif</href>
</Icon>
<gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
<LatLonBox>
<north>-26.40525989458669</north>
<south>-26.64920074627508</south>
<east>-51.40858648132068</east>
<west>-51.77340247946083</west>
</LatLonBox>
</GroundOverlay>
<Folder>
<name>kml_image_srtmtif_L2_0_0</name>
<Region>
<LatLonAltBox>
<north>-26.40525989458669</north>
<south>-26.64920074627508</south>
<east>-51.48888489979936</east>
<west>-51.77340247946083</west>
<minAltitude>0</minAltitude>
<maxAltitude>0</maxAltitude>
</LatLonAltBox>
<Lod>
<minLodPixels>500</minLodPixels>
<maxLodPixels>-1</maxLodPixels>
<minFadeExtent>0</minFadeExtent>
<maxFadeExtent>0</maxFadeExtent>
</Lod>
</Region>
<GroundOverlay>
<drawOrder>2</drawOrder>
<Icon>
<href>/Users/fernandomanosso/Library/Application Support/Google Earth/kml_image_srtmtif_L2_0_0_0.tif</href>
</Icon>
<gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
<LatLonBox>
<north>-26.40525989458669</north>
<south>-26.64920074627508</south>
<east>-51.48888489979936</east>
<west>-51.77340247946083</west>
</LatLonBox>
</GroundOverlay>
</Folder>
<Folder>
<name>kml_image_srtmtif_L2_0_1</name>
<Region>
<LatLonAltBox>
<north>-26.40525989458669</north>
<south>-26.64920074627508</south>
<east>-51.40858648132068</east>
<west>-51.48888489979936</west>
<minAltitude>0</minAltitude>
<maxAltitude>0</maxAltitude>
</LatLonAltBox>
<Lod>
<minLodPixels>266</minLodPixels>
<maxLodPixels>-1</maxLodPixels>
<minFadeExtent>0</minFadeExtent>
<maxFadeExtent>0</maxFadeExtent>
</Lod>
</Region>
<GroundOverlay>
<drawOrder>2</drawOrder>
<Icon>
<href>/Users/fernandomanosso/Library/Application Support/Google Earth/kml_image_srtmtif_L2_0_1_0.tif</href>
</Icon>
<gx:altitudeMode>clampToSeaFloor</gx:altitudeMode>
<LatLonBox>
<north>-26.40525989458669</north>
<south>-26.64920074627508</south>
<east>-51.40858648132068</east>
<west>-51.48888489979936</west>
</LatLonBox>
</GroundOverlay>
</Folder>
</Folder>
</Document>
</kml>
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
-189
Ver Arquivo
@@ -1,189 +0,0 @@
// olGeoTiff class
/**
* base class for openlayers geotiff support
* @param {*} layer
*/
function olGeoTiff(layer) {
// layer of the OL map that holds the tiff tiles
this.layer = layer;
// options object for plotty plot
this.plotOptions = {
domain: [-1, 1],
width: 256,
height: 256,
noDataValue: false,
palette: null,
/**
* data array
* @param rasters parsed geotiff multiband data
* @returns array of float values calculated by dataFunction()
*/
data: function(rasters) {
var data = [];
// loop every single datapoint
for(var i = 0; i<rasters[0].length; i++) {
// first value is always null so you can index all bands
// by positive numbers (band1 = b[1])
var bands = [null];
// add all other available bands to this array
for(var b = 0; b<rasters.length; b++) bands.push(rasters[b][i]);
// calculate single float value for this multiband array
// push float value to the data array and continue with next datapoint
data.push( this.dataFunction(bands) );
}
// return the data array
return data;
},
/**
* data function
* @param b array single arrayitem of parsed geotiff multiband data
* @return float calculated value (by default returns the first band)
*/
dataFunction: function(b) {
return b[1];
},
};
// object that holds all rastered tiffs identified by their url
this.urlToTiff = {};
// plotty instance for this layer
this.plot = new plotty.plot({});
// this sets the custom tile load function on init of this class
this.layer.getSource().setTileLoadFunction(this.tileLoadFunction.bind(this));
}
/**
* fetch tiff and set callbacks
* @param {*} url url of the geotiff file
* @param {*} listener callback on ajax success
* @param {*} errorListener callback on ajax error
*/
olGeoTiff.prototype.fetchTiff = function(url, listener, errorListener) {
var urlToTiff = this.urlToTiff;
if (urlToTiff[url]) {
// in this case the tiff is already received and parsed
if (urlToTiff[url].rasters) {
listener(urlToTiff[url]);
}
else if (urlToTiff[url].error) {
errorListener(urlToTiff[url].error);
}
// in this case the tiff was already requested
else {
urlToTiff[url].listeners.push(listener);
urlToTiff[url].errorListeners.push(errorListener);
}
}
// in this case the tiff was not yet requested
else {
urlToTiff[url] = {
rasters: null,
error: null,
listeners: [listener],
errorListeners: [errorListener]
};
// send new request
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
var that = this;
// setup the async function that is executed AFTER the tile was loaded
xhr.onloadend = function(e) {
if (xhr.status == 200) {
// save rasters of parsed tiff
var parsed = GeoTIFF.parse(this.response);
urlToTiff[url].rasters = parsed.getImage().readRasters();
var listeners = urlToTiff[url].listeners;
for (var i = 0; i < listeners.length; ++i) listeners[i](urlToTiff[url]);
urlToTiff[url].listeners = [];
}
else {
urlToTiff[url].error = e;
var errorListeners = urlToTiff[url].errorListeners;
for (var i = 0; i < errorListeners.length; ++i) errorListeners[i](e);
urlToTiff[url].errorListeners = [];
}
}
// send ajax request
xhr.send();
}
}
/**
* custom tile load function
* @param {*} imageTile
* @param {*} src
*/
olGeoTiff.prototype.tileLoadFunction = function(imageTile, src) {
// replace the imageTile with a canvas
var imageCanvas = document.createElement('canvas');
imageCanvas.naturalWidth = this.plotOptions.width;
imageCanvas.naturalHeight = this.plotOptions.height;
imageCanvas.width = this.plotOptions.width;
imageCanvas.height = this.plotOptions.height;
imageTile.unlistenImage_();
imageTile.image_ = imageCanvas;
imageTile.imageListenerKeys_ = [
ol.events.listenOnce(imageTile.image_, ol.events.EventType.ERROR,
imageTile.handleImageError_, imageTile),
ol.events.listenOnce(imageTile.image_, ol.events.EventType.LOAD,
imageTile.handleImageLoad_, imageTile)
];
// fetch data of this tile
this.fetchTiff(
// url of tile
src,
// callback function that executes when the tiff is parsed and ready
function(urlToTiff) {
// get plotty instance
var plot = this.plot;
// set plotty settings
plot.setDomain(this.plotOptions.domain);
plot.setData(
this.plotOptions.data(urlToTiff.rasters),
this.plotOptions.width,
this.plotOptions.height
);
if(this.plotOptions.palette)
plot.setColorScale(this.plotOptions.palette);
if(this.plotOptions.noDataValue !== false)
plot.setNoDataValue(this.plotOptions.noDataValue);
// render plot and trigger load event
plot.render();
imageCanvas.getContext('2d').drawImage(plot.getCanvas(), 0, 0);
imageCanvas.dispatchEvent(new Event('load'));
}.bind(this),
// callback function in case of AJAX error
function(error) {
// trigger error event
imageCanvas.dispatchEvent(new Event('error'));
}
);
};
/**
* redraw the given layer
*/
olGeoTiff.prototype.redraw = function() {
this.layer.getSource().refresh();
}
-58
Ver Arquivo
@@ -1,58 +0,0 @@
<?php
require_once ("CLASSES/usuario.php");
include_once 'CLASSES/usuario.php';
require_once 'CLASSES/usuario.php';
$u = new Usuario;
$u->conectar("atlas","localhost","ricardo","123");
$sql = "SELECT * from mapas";
$consulta = $pdo->query($sql);
While($linha = $consulta->fetch(PDO::FETCH_ASSOC)){
$album[] = $linha;
# code...
}
?>
<!DOCTYPE>
<html>
<header>
<title>Atlas</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
</header>
<body id="atlas">
<div id="mapas">
<?php
foreach ($album as $foto) {
# code...
?>
<!-- <table> -->
<center>
<!-- <tr> -->
<!-- <center> -->
<!-- <td> -->
<img src="<?php echo "./upload/".$foto["arquivo"]?> " width="260" height="200"/>
<!-- </td> -->
<!-- </center> -->
<!-- </tr> -->
</center>
<!-- </table> -->
<?php
}
?><br>
</div>
</body>
</html>
-213
Ver Arquivo
@@ -1,213 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>plottygeotiff</title>
<script src="dist/plotty.min.js"></script>
<script src="dist/nouislider.js"></script>
<script src="dist/geotiffjs/geotiff.browserify.js"></script>
<script src="dist/ol-debug.js"></script>
<script src="olGeoTiff_07.js"></script>
<!-- jquery is NOT required and only used for handling the user input... just lazyness :) -->
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<link rel="stylesheet" href="dist/nouislider.css" type="text/css">
<link rel="stylesheet" href="dist/ol-debug.css" type="text/css">
<style>
.slider { width: 100%; margin-top: 50px; }
.map { width: 100%; height: 600px; margin-top: 20px; }
select { margin-top: 15px; }
.mapcontainer { padding: 0 100px; text-align: center; }
.slidercontainer { padding: 0 100px; }
</style>
</head>
<body>
<div class="mapcontainer">
<div id="s2map" class="map"></div>
<div class="slidercontainer">
<div class="slider domainslider"></div>
<div class="slider opacityslider"></div>
</div>
<select class="palette">
<option>viridis</option>
<option>inferno</option>
<option>rainbow</option>
<option>jet</option>
<option>hsv</option>
<option>hot</option>
<option>cool</option>
<option>spring</option>
<option>summer</option>
<option>autumn</option>
<option>winter</option>
<option>bone</option>
<option>copper</option>
<option>greys</option>
<option>yignbu</option>
<option>greens</option>
<option>yiorrd</option>
<option>bluered</option>
<option>rdbu</option>
<option>picnic</option>
<option>portland</option>
<option selected>blackbody</option>
<option>earth</option>
<option>electric</option>
<option>magma</option>
<option>plasma</option>
</select>
<select class="datafunction">
<option selected>NDVI</option>
<option>NDI45</option>
</select>
</div>
<script>
// set variables
const projection = ol.proj.get('EPSG:4326');
const projectionExtent = projection.getExtent();
const size = ol.extent.getWidth(projectionExtent) / 256;
const resolutions = new Array(18);
const matrixIds = new Array(18);
// create matrix
for (let z = 0; z < 18; ++z) {
// generate resolutions and matrixIds arrays for this WMTS
// eslint-disable-next-line no-restricted-properties
resolutions[z] = size / Math.pow(2, (z + 1));
matrixIds[z] = z;
}
// define the wms layer
var wmslayer_s2 = new ol.layer.Tile({
source: new ol.source.WMTS({
url: 'https://data.eox.at/geotiff.js-blog/wmts_simple/s2/{TileMatrix}/{TileRow}/{TileCol}.tif',
projection,
tileGrid: new ol.tilegrid.WMTS({
origin: ol.extent.getTopLeft(projectionExtent),
resolutions,
matrixIds,
}),
requestEncoding: 'REST',
transition: 0,
})
});
// eox baselayer
var tile_grid = new ol.tilegrid.WMTS({origin:ol.extent.getTopLeft(projectionExtent),resolutions:resolutions,matrixIds:matrixIds});
var s2maps = new ol.layer.Tile({
source: new ol.source.WMTS({
layer:'s2cloudless',
attributions:[new ol.Attribution({html:'<a xmlns:dct="http://purl.org/dc/terms/" href="https://s2maps.eu" property="dct:title">Sentinel-2 cloudless - https://s2maps.eu</a> by <a xmlns:cc="http://creativecommons.org/ns#" href="https://eox.at" property="cc:attributionName" rel="cc:attributionURL">EOX IT Services GmbH</a> (Contains modified Copernicus Sentinel data 2016 &amp; 2017)'})],
matrixSet:'WGS84',
format:'image/jpeg',
projection:projection,
tileGrid:tile_grid,
style:'default',
wrapX:!0,
urls:[
"//a.s2maps-tiles.eu/wmts/",
"//b.s2maps-tiles.eu/wmts/",
"//c.s2maps-tiles.eu/wmts/",
"//d.s2maps-tiles.eu/wmts/",
"//e.s2maps-tiles.eu/wmts/"
]
})
});
// define the map
var map_result_s2 = new ol.Map({
target: 's2map',
layers: [
s2maps,
wmslayer_s2,
],
view: new ol.View({
projection,
center: [16.411407470703125, 48.27875518798828],
zoom: 12,
maxZoom: 14,
minZoom: 3
}),
controls: ol.control.defaults({
attributionOptions: {
collapsible: false
}
}),
});
// setup datafunctions
var datafunctions = {};
datafunctions['NDVI'] = function(b) {
if(b[1]+b[2]+b[3]+b[4]==0) return 10; // return 10 as nodata value
return ( b[4] - b[3] ) / ( b[4] + b[3] ); // otherwise return NDVI
};
datafunctions['NDI45'] = function(b) {
if(b[1]+b[2]+b[3]+b[4]==0) return 10; // return 10 as nodata value
return ( b[4] - b[1] ) / ( b[4] + b[1] ); // otherwise return NDVI
};
// olGeoTiff setup
var olgt_s2map = new olGeoTiff(wmslayer_s2);
olgt_s2map.plotOptions.domain = [-0.2, 0.2];
olgt_s2map.plotOptions.noDataValue = 10;
olgt_s2map.plotOptions.palette = 'blackbody';
olgt_s2map.plotOptions.dataFunction = datafunctions['NDVI'];
// handle user input
$(document).ready(function() {
var $container = $('target').parent();
// slider1 (domain)
var slider = $container.find('.domainslider')[0];
noUiSlider.create(slider, {
start: olgt_s2map.plotOptions.domain,
connect: true,
range: { 'min': -1, 'max': 1 },
tooltips: true,
});
slider.noUiSlider.on('change', function(values) {
olgt_s2map.plotOptions.domain = [values[0], values[1]];
olgt_s2map.redraw();
});
// slider2 (opacity)
var slider2 = $container.find('.opacityslider')[0];
var opacity = 1;
noUiSlider.create(slider2, {
start: opacity,
connect: true,
range: { 'min': 0, 'max': 1 },
tooltips: true,
});
wmslayer_s2.setOpacity(opacity);
slider2.noUiSlider.on('slide', function(values) {
wmslayer_s2.setOpacity(values[0]*1);
});
// palette
$container.find('.palette').on("change", function() {
var palette = this.options[this.selectedIndex].text;
olgt_s2map.plotOptions.palette = palette;
olgt_s2map.redraw();
});
// datafunctions
$container.find('.datafunction').on("change", function() {
var func = this.options[this.selectedIndex].text;
olgt_s2map.plotOptions.dataFunction = datafunctions[func];
olgt_s2map.redraw();
});
});
</script>
</body>
</html>
Arquivo executável
+33
Ver Arquivo
@@ -0,0 +1,33 @@
CREATE TABLE cidades (
id SERIAL PRIMARY KEY,
nome varchar(100) NOT NULL,
cidade varchar(100) NOT NULL
);
CREATE TABLE instituicao (
id SERIAL PRIMARY KEY,
nome varchar(100) NOT NULL,
cidade_id int NOT NULL,
FOREIGN KEY (cidade_id) REFERENCES cidades (id)
);
CREATE TABLE usuario (
id serial PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL,
senha VARCHAR(50) NOT NULL,
tipo int NOT NULL,
instituicao_id int NOT NULL,
FOREIGN KEY (instituicao_id) REFERENCES cidades (instituicao)
);
CREATE TABLE mapas (
id serial PRIMARY KEY,
end_arquivo VARCHAR(100) NOT NULL,
nome varchar(100) NOT NULL,
descricao varchar(100) NOT NULL,
status int NOT NULL,
codigo VARCHAR(40),
usuario_id int NOT NULL,
FOREIGN KEY (usuario_id) REFERENCES cidades (usuario)
);
-108
Ver Arquivo
@@ -1,108 +0,0 @@
<?php
require_once ("CLASSES/usuario.php");
include_once 'CLASSES/usuario.php';
require_once 'CLASSES/usuario.php';
$u = new Usuario;
?>
<!DOCTYPE>
<html>
<header>
<title>Cadastro</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
</header>
<body id="login">
<div id="corpo-cadastro">
<center>
<h1>Cadastrar</h1>
<form method="post">
<input type="text" name="nome" placeholder="Nome Completo" maxlength="80">
<input type="text" name="telefone" placeholder="Telefone" maxlength="30">
<input type="email" name="email" placeholder="Email" maxlength="40">
<input type="password" name="senha" placeholder="Senha" maxlength="15">
<input type="password" name="confSenha" placeholder="Confirmar Senha" maxlength="15">
<input type="submit" value="CADASTRAR">
</form>
</center>
</div>
<?php
// verificar a uma cadstro
if(isset($_POST['nome']))
{
$nome = $_POST['nome'];
$telefone = $_POST['telefone'];
$email = $_POST['email'];
$senha = $_POST['senha'];
$confirmarSenha = $_POST['confSenha'];
//verificar se todos os campos foram preenchidos
if(!empty($nome) && !empty($telefone) && !empty($email) && !empty($senha) && !empty($confirmarSenha)){
$u->conectar("atlas","localhost","ricardo","123");
if($u->mgsErro == ""){
if ($senha == $confirmarSenha) {
if($u->cadastrar($nome, $telefone, $email, $senha)){
?>
<center>
<div id="msg_certo">
Cadastrado com sucesso!
<a href="login.php"><strong>Logar</strong></a>
</div>
</center>
<?php
}else{
?>
<center>
<div class="msg_erro">
Email já cadastrado!
</div>
</center>
<?php
}
}else{
?>
<center>
<div class="msg_erro">
Senha e confirmar senha não são a mesma!
</div>
</center>
<?php
}
}else{
?>
<center>
<div class="msg_erro">
<?php echo "Erro: ".$u->msgErro; ?>
</div>
</center>
<?php
}
}else{
?>
<center>
<div class="msg_erro">
Preencha todos os campos!
</div>
</center>
<?php
// parte 4 15:13 minutos continuar
}
}
?>
</body>
</html>
-127
Ver Arquivo
@@ -1,127 +0,0 @@
*{
/margin: 0;
padding: 0;
}
/* Configuração página de index.html*/
body{
margin: 0;
}
#menuu ul{
margin: 0;
list-style: none;
margin-left: 47%;
margin-top: -6%;
}
#menuu ul li{
display: inline;
}
#menuu ul li a{
padding: 10px 20px;
display: inline-block;
font-size: 16pt;
color: black;
text-decoration: none;
}
#menuu ul li a:hover{
color: blue;
}
#logo{
height: 85px;
width: 125px;
display: inline;
}
#conta{
background-color: #99ff99;
}
#entrar{
background-color: #99ff99;
}
#centro{
margin-top: 7%;
}
/* Configuração página de Login*/
input{
display: block;
height: 10%;
width: 30%;
margin: 1%;
border-radius: 30px;
border: solid 2px black;
font-size: 16pt;
padding: 8px 16px;
outline: none;
background-color: rgb(255,255,255,0.4);
}
div#corpo-form{
margin-top: 9%;
}
body#login{
background-color: #609e86;
font-family: arial;
}
div#corpo-form h1{
padding: 2%;
}
div#corpo-form a{
color: rgb(19, 61, 69);
text-decoration: none;
}
div#corpo-form a:hover{
text-decoration: underline;
}
input[type=submit]{
background-color: #044447;
border: none;
cursor: pointer;
}
/*Página de Cadastro*/
div#corpo-cadastro{
margin-top: 4%;
}
div#msg_certo{
width: 400px;
margin: 10px auto;
padding: 10px;
background-color: #AAFF82/*rgba(50,205,50,.3)*/;
border: 1px solid rgb(34,139,34);
}
div.msg_erro{
width: 400px;
margin: 10px auto;
padding: 10px;
background-color: #FF622D/*rgba(250,128,114,.3)*/;
border: 1px solid rgb(165,42,42);
}
/*cofigurações de uma tabela*/
td{
padding: .7em;
margin: 0;
/*border: 1px solid #ccc;*/
text-align: center;
}
/* estilização cavas arquivo mapa.php*/
/*canvas{
border: solid 1px;
}*/
BIN
Ver Arquivo
Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 916 KiB

-33
Ver Arquivo
@@ -1,33 +0,0 @@
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>Atlas FB</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
</head>
<body>
<img id="logo" src="imagens/logo.jpg"/>
<div id="menuu">
<ul>
<li><a id="recurso" href="Teste_Mapa_Funcional/mapa.html" onclick="curSec(this.id)">Mapas</a></li>
<li><a id="ajuda" href="#ajuda" onclick="curSec(this.id)">Ajuda</a></li>
<li><a id="colab" href="#colab" onclick="curSec(this.id)">Colaboradores</a></li>
<li><a id="conta" href="login.php" onclick="">Fazer login</a></li>
<li><a id="entrar" href="cadastrar.php" onclick="">Cadastre-se</a></li>
</ul>
<center>
<img id="centro" src="imagens/logo.jpg"/>
</center>
</div>
</body>
</html>
-85
Ver Arquivo
@@ -1,85 +0,0 @@
<?php
require_once ("CLASSES/usuario.php");
include_once 'CLASSES/usuario.php';
require_once 'CLASSES/usuario.php';
$u = new Usuario;
?>
<!DOCTYPE>
<html>
<header>
<title>Login</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
</header>
<body id="login">
<div id="corpo-form">
<center>
<h1>Entrar</h1>
<form method="POST">
<input type="email" name="email" placeholder="Email de Usuário">
<input type="password" name="senha" placeholder="Senha">
<input type="submit" value="ACESSAR" id="botaol">
<a href="cadastrar.php">Ainda ná é inscrito?<strong>Cadastre-se!</strong>
</a>
</form>
</center>
</div>
<?php
if(isset($_POST['email']))
{
$email = $_POST['email'];
$senha = $_POST['senha'];
//verificar se todos os campos foram preenchidos
if(!empty($email) && !empty($senha)){
$u->conectar("atlas","localhost","ricardo","123");
if($u->mgsErro == ""){
if($u->logar($email,$senha)){
header("location: upload.php");
}else{
?>
<center>
<div class="msg_erro">
Email ou senha incorretos!
</div>
</center>
<?php
}
}else{
?>
<center>
<div class="msg_erro">
<?php "Erro: ".$u->mgsErro; ?>
</div>
</center>
<?php
}
}else{
?>
<center>
<div class="msg_erro">
Prencha todos os campos!
</div>
</center>
<?php
}
}
?>
</body>
</html>
-121
Ver Arquivo
@@ -1,121 +0,0 @@
<?php
?>
<!DOCTYPE html>
<html>
<head>
<title>Mapa</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
<script language="javascript" src="javascript/funcoes.js"></script>
</head>
<body>
<center> <canvas width="1100" height="650"></canvas> </center>
</body>
<script type="text/javascript">
var LEFT = 37, UP = 38, RIGHT = 39, DOWN = 40, PGUP = 33, PGDOWN = 34;
var mvLeft = false, mvRight = false, mvUp = false, mvDown = false, zoomIn = false, zoomOut = false;
var cnv = document.querySelector("canvas");
var ctx = cnv.getContext("2d");
var X = 0;
var Y = 0;
var size = 400;
var speed = 2;
var map = new Image();
map.src = "upload/mapatemp.png";
map.onload = looping();
window.addEventListener("keydown",keydownHandler,false);
window.addEventListener("keyup",keyupHandler,false);
function keydownHandler(e){//função disparada quando uma tecla é pressionada
var key = e.keyCode;
switch(key){
case LEFT:
mvLeft = true;
break;
case RIGHT:
mvRight = true;
break;
case UP:
mvUp = true;
break;
case DOWN:
mvDown = true;
break;
case PGDOWN:
zoomOut = true;
break;
case PGUP:
zoomIn = true;
break;
}
}
function keyupHandler(e){//função disparada quando uma tecla é liberada
var key = e.keyCode;
switch(key){
case LEFT:
mvLeft = false;
break;
case RIGHT:
mvRight = false;
break;
case UP:
mvUp = false;
break;
case DOWN:
mvDown = false;
break;
case PGDOWN:
zoomOut = false;
break;
case PGUP:
zoomIn = false;
break;
}
}
function render(){
ctx.clearRect(0,0,cnv.width,cnv.height);
ctx.drawImage(map,X,Y,size,size,0,0,cnv.width,cnv.height);
}
function update(){
if(mvLeft){
if(X > speed){
X -= speed;
}
}
if(mvRight){
if(X + size < map.width - speed){
X += speed;
}
}
if(mvUp){
if(Y > speed){
Y -= speed;
}
}
if(mvDown){
if(Y + size < map.height - speed){
Y += speed;
}
}
if(zoomIn){
size -= speed;
}
if(zoomOut){
size += speed;
}
}
function looping(){//função que se repete 60x por segundo
requestAnimationFrame(looping,cnv);
update();//processa a interação
render();//desenha o mapa atualizado na tela
}
</script>
</html>
Ver Arquivo
Ver Arquivo
-16
Ver Arquivo
@@ -1,16 +0,0 @@
<!DOCTYPE>
<html>
<head>
<title>Imagens SVG</title>
<style>
.colorir{
fill : #CCCCCC;
}
</style>
</head>
<body>
<img src="imagens/logo.jpg" style="width: 132px;" class="colorir"/>
</body>
</html>
-112
Ver Arquivo
@@ -1,112 +0,0 @@
<?php
require_once ("CLASSES/usuario.php");
include_once 'CLASSES/usuario.php';
require_once 'CLASSES/usuario.php';
$u = new Usuario;
$msg = false;
if (isset($_FILES['arquivo'])) {
$u->conectar("atlas","localhost","ricardo","123");
$extensao = strtolower(substr($_FILES['arquivo']['name'], -5));
$novo_name = md5(time()) . $extensao;
$diretorio = "upload/";
$nome = $_POST['nome'];
//$t = imagejpeg($novo_name, null, 70);
move_uploaded_file($_FILES['arquivo']['tmp_name'], $diretorio.$novo_name);
$u->upload($novo_name, $nome);
}
$u->conectar("atlas","localhost","ricardo","123");
$sql = "SELECT * from mapas";
$consulta = $pdo->query($sql);
While($linha = $consulta->fetch(PDO::FETCH_ASSOC)){
$album[] = $linha;
# code...
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Upload Arquivo</title>
<meta charset="utf-8">
</head>
<body>
<h1>Upload de Arquivos</h1>
<?php
if (isset($_GET['id_atualizar'])) {
$codigo = $_GET['id_atualizar'];
$resposta = $u->buscarDadosMapa($codigo);
}
?>
<form action="upload.php" method="POST" enctype="multipart/form-data">
Nome do Mapa: <input type="text" name="nome" size="50" maxlength="50" id="s_nome" value="<?php if(isset($resposta)){echo $resposta['nome'];} ?>">
<br><br><br>
Arquivo: <input type="file" required name="arquivo" id="s_arquivo">
<input type="submit" value="<?php if(isset($resposta)){echo "Atualizar";}else{
echo "Cadastrar";} ?>">
<br><br><br>
<div>
<table border="1">
<tr>
<td>Nº Banco</td>
<td>Nome</td>
<td>Arquivo</td>
<td>Data/horário</td>
<td>Editar</td>
<td>Excluir</td>
</tr>
<?php
foreach ($album as $dado) {
$a = $a+1;
?>
<tr>
<td><?php echo $a; ?></td>
<td><?php echo $dado['nome']; ?></td>
<td><?php echo $dado['arquivo']; ?></td>
<td><?php echo $dado['data']; ?></td>
<td><a href="upload.php?id_atualizar=<?php echo $dado['codigo']; ?>">Editar</a></td>
<td><a href="upload.php?id_excluir=<?php echo $dado['codigo']; ?>">Excluir</a></td>
</tr>
<?php
}
if (isset($_GET['id_excluir'])) {
$id_mapa = addslashes($_GET['id_excluir']);
$u->excluirBanco($id_mapa);
header("location: upload.php");
}
?>
</table>
</div>
</form>
</body>
</html>
Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 4.9 MiB

Arquivo executável
+135
Ver Arquivo
@@ -0,0 +1,135 @@
<?php
error_reporting(E_ERROR | E_PARSE);
include "includes/connect.php";
if (isset($_POST['codigo'])){
$cidade = $_POST['codigo'];
$exec_sql_select = pg_query($dbcon, "select mapas.id as id_mapa, mapas.nome as titulo, cidades.nome as cidade, descricao, end_arquivo from mapas inner join cidades on mapas.cidade_id = cidades.id WHERE mapas.id < 21 ;");
}
?>
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>Atlas</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
</head>
<script>
$(document).ready(function () {
$.getJSON('estados_cidades.json', function (data) {
var items = [];
var options = '<option value="">Escolha seu estado</option>';
$.each(data, function (key, val) {
options += '<option value="' + val.nome + '">' + val.nome + '</option>';
});
$("#estados").html(options);
$("#estados").change(function () {
var options_cidades = '';
var str = "";
$("#estados option:selected").each(function () {
str += $(this).text();
});
$.each(data, function (key, val) {
if(val.nome == str) {
$.each(val.cidades, function (key_city, val_city) {
options_cidades += '<option value="' + val_city + '">' + val_city + '</option>';
});
}
});
$("#cidades").html(options_cidades);
}).change();
});
});
</script>
<body>
<a href="index.php" onclick=""><img id="logo" src="imagens/logo.jpg"/></a>
<div id="menuu">
<ul>
<li><a id="ajuda" href="#ajuda" onclick="curSec(this.id)">Ajuda</a></li>
<li><a id="logut" href="index.php" onclick="">Logut</a></li>
</ul>
</div>
<div class="container">
<div class="table-wrapper">
<div class="table-title">
<div class="row">
<div class="col-sm-6">
</div>
<div class="col-sm-6">
<form enctype="multipart/form-data" method="post" action="">
<input id="codigo" class="form-control" type="text" name="codigo" placeholder="Código de acesso" />
<input type="submit" id="add_bt" name ="submit" class="btn btn-success" value="Buscar" />
</form>
</div>
</div>
</div>
<table class="table table-striped table-hover">
<tr>
<td>Título</td>
<td>Descrição</td>
<td>Cidade</td>
<td>Visualizar</td>
</tr>
<?php
while ($dado = pg_fetch_array($exec_sql_select)) {
?>
<tr>
<td><?php echo $dado['titulo']; ?></td>
<td><?php echo $dado['descricao']; ?></td>
<td><?php echo $dado['cidade']; ?></td>
<td>
<a href="#" onCLick="window.open('<?php echo "http://localhost/Atlas_digital/".$dado['end_arquivo'];?>');"><i title="Visualizar" class="material-icons" data-toggle="tooltip">&#xe417;</i></a>
</td>
</tr>
<?php
}
?>
</table>
</div>
</div>
</body>
</html>
Arquivo executável
+199
Ver Arquivo
@@ -0,0 +1,199 @@
<?php
error_reporting(E_ERROR | E_PARSE);
include "includes/connect.php";
?>
<!DOCTYPE>
<html>
<header>
<title>Cadastro</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
</header>
<script>
$(document).ready(function () {
$.getJSON('estados_cidades.json', function (data) {
var items = [];
var options = '<option value="">Escolha seu estado</option>';
$.each(data, function (key, val) {
options += '<option value="' + val.nome + '">' + val.nome + '</option>';
});
$("#estados").html(options);
$("#estados").change(function () {
var options_cidades = '';
var str = "";
$("#estados option:selected").each(function () {
str += $(this).text();
});
$.each(data, function (key, val) {
if(val.nome == str) {
$.each(val.cidades, function (key_city, val_city) {
options_cidades += '<option value="' + val_city + '">' + val_city + '</option>';
});
}
});
$("#cidades").html(options_cidades);
}).change();
});
});
function sucesso() {
var txt;
if (confirm("Usuário criado com sucesso! Fazer login?")) {
window.location.href = "http://localhost/Atlas2021/web/login.php";
} else {
}
}
function email() {
alert("Email já cadastrado!")
}
function senhas() {
alert("Senha e confirmar senha não são a mesma!")
}
function campos() {
alert("Preencha todos os campos!")
}
</script>
<body >
<a href="index.php" onclick=""><img id="logo" src="imagens/logo.jpg"/></a>
<div id="menuu">
<ul>
<li><a id="inicial" href="index.php" onclick="">Página inicial</a></li>
<li><a id="recurso" href="atlas2021/index.html" onclick="curSec(this.id)">Mapas</a></li>
<li><a id="ajuda" href="#ajuda" onclick="curSec(this.id)">Ajuda</a></li>
<li><a id="conta" href="login.php" onclick="">Fazer login</a></li>
<li><a id="entrar" href="cadastrar.php" onclick="">Cadastre-se</a></li>
</ul>
</div>
<center>
<div id="corpo-cadastro">
<h4>Cadastro de Usuários</h4>
<form enctype="multipart/form-data" method="post" action="">
<label for="cars">Opção de Cadastro</label>
<select name="tipo_usuario" id="tipo_usuario">
<option value="1">Aluno</option>
<option value="2" id="mais">Professor</option>
<option value="3" id="mais">Geógrafo</option>
</select>
<p></p>
<input class="form-control" type="text" name="nome" placeholder="Nome Completo" />
<p></p>
<input class="form-control" type="email" name="email" placeholder="Email" maxlength="120">
<p></p>
<input class="form-control" type="password" name="senha" placeholder="Senha" maxlength="20">
<p></p>
<input class="form-control" type="password" name="confSenha" placeholder="Confirmar Senha" maxlength="20">
<p></p>
<input class="form-control" type="text" name="instituicao" placeholder="Instituição" maxlength="120">
<p></p>
<select class="form-control" placeholder="estados" name="estados" id="estados">
<option value=""></option>
</select>
<p></p>
<select class="form-control" placeholder="municipio" name="cidades" id="cidades">
<option value=""></option>
</select>
<p></p>
<input type="submit" name ="submit" class="btn_cadastro" value="CADASTRAR">
</div>
<br>
</form>
</div>
</center>
<?php
if(isset($_POST['nome']))
{
$nome = $_POST['nome'];
$email = $_POST['email'];
$senha = $_POST['senha'];
$confirmarSenha = $_POST['confSenha'];
$instituicao = $_POST['instituicao'];
$estado = $_POST['estados'];
$cidade = $_POST['cidades'];
$tipo = $_POST['tipo_usuario'];
//verificar se todos os campos foram preenchidos
if(!empty($nome) && !empty($instituicao) && !empty($email) && !empty($senha) && !empty($confirmarSenha) && !empty($estado) && !empty($cidade)){
// if($u->mgsErro == ''){
if ($senha == $confirmarSenha) {
$verfi_email = pg_query($dbcon, "SELECT id FROM usuario WHERE email = '".$email."'");
if( pg_num_rows($verfi_email) == 0){
$insertcidades = pg_query($dbcon, "INSERT INTO cidades VALUES(default, '".$cidade."','".$estado."');");
if($insertcidades){
$id_cidade = pg_query($dbcon, "SELECT id FROM cidades ORDER BY id DESC LIMIT 1");
if($id_cidade){
while ($resultado_city = pg_fetch_array($id_cidade)) {
$id_city = $resultado_city["id"];
}
$insertinstituicao = pg_query($dbcon, "INSERT INTO instituicao VALUES(default, '".$instituicao."','".$id_city."');");
if($insertinstituicao){
$id_instituicao = pg_query($dbcon, "SELECT id FROM instituicao ORDER BY id DESC LIMIT 1");
if($id_instituicao){
while ($resultado_inst = pg_fetch_array($id_instituicao)) {
$id_inst = $resultado_inst["id"];
}
$insertusuario = pg_query($dbcon, "INSERT INTO usuario VALUES(default, '".$nome."','".$email."','".$senha."','".$tipo."','".$id_inst."');");
if($insertusuario){
echo '<script>sucesso();</script>';
}
}
}
}
}
}else{
echo '<script>email();</script>';
}
}else{
echo '<script>senhas();</script>';
}
}else{
echo '<script>campos();</script>';
}
}
?>
</body>
</html>
Arquivo executável
+375
Ver Arquivo
@@ -0,0 +1,375 @@
* {
/margin: 0;
padding: 0;
}
/* Configuração página de index.html*/
body {
margin: 0;
}
#menuu ul {
list-style: none;
margin-right: 25px;
text-align: right;
margin-top: -5%;
display: block;
}
#menuu ul li {
display: inline;
}
#menuu ul li a {
padding: 10px 20px;
display: inline-block;
font-size: 16pt;
color: #60a9dc;
text-decoration: none;
}
#menuu ul li a:hover {
color: #1c4945;
}
#logo {
height: 85px;
width: 125px;
display: inline;
}
#codigo {
width: 40%;
margin-left: 36%;
}
#add_bt {
background: #1c4945;
color: #fff;
position: absolute;
border-radius: 5px;
border: solid 1px rgb(236, 228, 228);
right: 20px;
height: 40px;
width: 100px;
margin-top: -38px;
}
.btn_cadastro:hover {
background-color: #259014;
}
#add_bt:hover {
background-color: #259014;
}
.btn_cadastro {
background: #1c4945;
color: #fff;
width: 100%;
height: 40px;
border-radius: 5px;
}
#conta {
border-radius: 5px;
border: solid 2px #1c4945;
}
#entrar {
border-radius: 5px;
border: solid 2px #1c4945;
}
#centro {
margin-top: 7%;
}
/* Configuração página de Login*/
#male {
height: 30px;
width: 30px;
}
#tipo_usuario {
width: 120px;
height: 30px;
}
#female {
height: 30px;
width: 30px;
}
#corpo {
align-items: center;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
}
#corpo-cadastro {
position: relative;
width: 60%;
margin: 1%;
background: rgb(248, 247, 247);
border-radius: 5px;
border: solid 2px rgb(236, 228, 228);
font-size: 12pt;
padding: 8px 16px;
outline: none;
}
div#corpo-form {
margin-top: 9%;
}
body#login {
background-color: #609e86;
font-family: arial;
}
div#corpo-form h1 {
padding: 2%;
}
div#corpo-form a {
color: rgb(19, 61, 69);
text-decoration: none;
}
div#corpo-form a:hover {
text-decoration: underline;
}
input[type=submit] {
background-color: #044447;
border: none;
cursor: pointer;
}
/*Página de Cadastro*/
div#corpo-cadastro {
margin-top: 4%;
}
div#msg_certo {
width: 400px;
margin: 10px auto;
padding: 10px;
background-color: #AAFF82/*rgba(50,205,50,.3)*/
;
border: 1px solid rgb(34, 139, 34);
}
div.msg_erro {
width: 400px;
margin: 10px auto;
padding: 10px;
background-color: #FF622D/*rgba(250,128,114,.3)*/
;
border: 1px solid rgb(165, 42, 42);
}
/*cofigurações de uma tabela*/
td {
padding: .7em;
margin: 0;
/*border: 1px solid #ccc;*/
text-align: center;
}
#bottoncadastrar {
display: inline-block;
line-height: 15px;
position: relative;
margin: auto;
left: 20px;
width: 150px;
text-align: center;
margin-top: 5px;
background: #069cc2;
border-radius: 6px;
padding: 15px;
cursor: pointer;
color: rgb(5, 5, 5);
border: none;
font-size: 16px;
}
/* estilização cavas arquivo mapa.php*/
/*canvas{
border: solid 1px;
}*/
/*configuração atlas*/
#menuMapas {
position: fixed;
width: 13%;
height: 100%;
left: 0px;
top: 0px;
font-size: 20;
background-color: #C4C4C4;
}
#mapas {
position: fixed;
width: 55%;
height: 80%;
left: 15%;
top: 10%;
margin: 10px auto 10px auto;
border: solid 3px;
border-radius: 10px;
}
#texto {
position: fixed;
width: 23%;
height: 78%;
left: 73%;
top: 12%;
background: #ebe5a7;
text-align: justify;
border: solid 2px;
border-radius: 5px;
}
#descricaoMapa {
position: fixed;
width: 25%;
height: 80%;
left: 72%;
top: 11%;
background: #ebe5a7;
border: solid 3px;
border-radius: 20px;
}
#menuMapas ul li a {
display: inline-block;
line-height: 3px;
position: relative;
margin: auto;
left: 20px;
width: 60%;
text-align: center;
background: #069cc2;
border-radius: 6px;
padding: 10px;
cursor: pointer;
color: rgb(5, 5, 5);
border: none;
font-size: 16px;
text-decoration: none;
}
img {
border-radius: 10px;
cursor: pointer;
}
.modalVisual {
display: none;
position: fixed;
z-index: 1;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.8);
}
table.table td a.delete {
color: #F44336;
}
table.table td a.edit {
color: #df8a0b;
}
.modalConteudo {
margin: auto;
display: block;
}
#next {
position: absolute;
top: 30px;
margin-left: 35px;
font-size: 40px;
cursor: pointer;
}
.fechar {
position: absolute;
top: 15px;
right: 35px;
color: #fff;
font-size: 40px;
font-weight: bold;
cursor: pointer;
}
.table-wrapper {
padding: 20px 25px;
margin: 30px 0;
border-radius: 3px;
box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
}
.table-title {
padding-bottom: 15px;
padding: 16px 30px;
margin: -20px -25px 10px;
border-radius: 3px 3px 0 0;
}
.table-title h2 {
margin: 5px 0 0;
font-size: 20px;
}
.table-title .btn-group {
float: right;
}
.table-title .btn {
color: #fff;
float: right;
font-size: 13px;
border: none;
min-width: 50px;
border-radius: 2px;
border: none;
outline: none !important;
margin-left: 10px;
}
.table-title .btn i {
float: left;
font-size: 21px;
margin-right: 5px;
}
.table-title .btn span {
float: left;
margin-top: 2px;
}
Arquivo executável
+27
Ver Arquivo
@@ -0,0 +1,27 @@
<?php
include "includes/connect.php";
$id = $_GET['id'];
$id_us = $_GET['id_us'];
$id_cidade = pg_query($dbcon, "SELECT cidade_id, end_arquivo FROM mapas where id = '".$id."'");
if($id_cidade){
while ($resultado_city = pg_fetch_array($id_cidade)) {
$id_city = $resultado_city["cidade_id"];
$end = $resultado_city["end_arquivo"];
}
$result = pg_query($dbcon, "DELETE FROM mapas where id = '" . $id . "';");
if($result ){
$deletcidade = pg_query($dbcon, "DELETE FROM cidades where id = '".$id_city ."'");
if ($deletcidade) {
header('Location: processa.php?id="'.$id_us.'"');
echo $result;
} else {
//header('Location: projeto.php');
}
}
}
Arquivo executável
+5723
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff

Antes

Largura:  |  Altura:  |  Tamanho: 38 KiB

Depois

Largura:  |  Altura:  |  Tamanho: 38 KiB

Arquivo executável
+14
Ver Arquivo
@@ -0,0 +1,14 @@
<?php
$servidor = "localhost";
$porta = 5432;
$bancoDeDados = "nome_do_banco";
$usuario = "postgres";
$senha = "senha_do_banco";
$con_string = "host=$servidor port=$porta dbname=$bancoDeDados user=$usuario password=$senha";
if(!$dbcon = pg_connect($con_string)) die ("Erro ao conectar ao banco<br>".pg_last_error($dbcon));
?>
Arquivo executável
+41
Ver Arquivo
@@ -0,0 +1,41 @@
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>Atlas FB</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
</head>
<body>
<a href="index.php" onclick=""><img id="logo" src="imagens/logo.jpg"/></a>
<div id="menuu">
<ul>
<li><a id="inicial" href="index.php" onclick="">Página inicial</a></li>
<li><a id="recurso" href="mapas.php" onclick="curSec(this.id)">Mapas</a></li>
<li><a id="ajuda" href="#ajuda" onclick="curSec(this.id)">Ajuda</a></li>
<li><a id="conta" href="login.php" onclick="">Fazer login</a></li>
<li><a id="entrar" href="cadastrar.php" onclick="">Cadastre-se</a></li>
</ul>
<center>
<img id="centro" src="imagens/logo.jpg"/>
</center>
</div>
</body>
</html>
Arquivo executável
+88
Ver Arquivo
@@ -0,0 +1,88 @@
<?php
include "includes/connect.php";
?>
<!DOCTYPE>
<html>
<header>
<title>Login</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
</header>
<script>
function senhas() {
alert("Email ou senha incorretos!")
}
function campos() {
alert("Preencha todos os campos!")
}
</script>
<body >
<a href="index.php" onclick=""><img id="logo" src="imagens/logo.jpg"/></a>
<div id="menuu">
<ul>
<li><a id="inicial" href="index.php" onclick="">Página inicial</a></li>
<li><a id="recurso" href="atlas2021/index.html" onclick="curSec(this.id)">Mapas</a></li>
<li><a id="ajuda" href="#ajuda" onclick="curSec(this.id)">Ajuda</a></li>
<li><a id="conta" href="login.php" onclick="">Fazer login</a></li>
<li><a id="entrar" href="cadastrar.php" onclick="">Cadastre-se</a></li>
</ul>
</div>
<center>
<div id="corpo-cadastro">
<h4>Entrar</h4>
<form enctype="multipart/form-data" method="post" action="">
<div class="modal-body">
<input class="form-control" type="email" name="email" placeholder="Email de Usuário"><br>
<input class="form-control" type="password" name="senha" placeholder="Senha"><br>
<input class="btn_cadastro" type="submit" value="ACESSAR" id="botaol"><br><br>
<a href="cadastrar.php">Ainda ná é inscrito?<strong>Cadastre-se!</strong>
</a>
</div>
</form>
</div>
</center>
<?php
if(isset($_POST['email']))
{
$email = $_POST['email'];
$senha = $_POST['senha'];
//verificar se todos os campos foram preenchidos
if(!empty($email) && !empty($senha)){
$sql = pg_query($dbcon, "SELECT id FROM usuario WHERE email = '".$email."' AND senha = '".$senha."'");
if(pg_num_rows($sql)>0){
while ($resultado = pg_fetch_array($sql)) {
$id = $resultado["id"];
}
header('Location: processa.php?id='.$id.'');
}else{
echo '<script>senhas();</script>';
}
}else{
echo '<script>campos();</script>';
}
}
?>
</body>
</html>
Arquivo executável
+144
Ver Arquivo
@@ -0,0 +1,144 @@
<?php
error_reporting(E_ERROR | E_PARSE);
include "includes/connect.php";
if (isset($_POST['cidade'])){
$cidade = $_POST['cidade'];
$exec_sql_select = pg_query($dbcon, "select mapas.id as id_mapa, mapas.nome as titulo, cidades.nome as cidade, descricao, end_arquivo from mapas inner join cidades on mapas.cidade_id = cidades.id where cidades.nome = '".$cidade."';");
}
?>
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>Atlas</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="css/styles.css"/>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
</head>
<script>
$(document).ready(function () {
$.getJSON('estados_cidades.json', function (data) {
var items = [];
var options = '<option value="">Escolha seu estado</option>';
$.each(data, function (key, val) {
options += '<option value="' + val.nome + '">' + val.nome + '</option>';
});
$("#estados").html(options);
$("#estados").change(function () {
var options_cidades = '';
var str = "";
$("#estados option:selected").each(function () {
str += $(this).text();
});
$.each(data, function (key, val) {
if(val.nome == str) {
$.each(val.cidades, function (key_city, val_city) {
options_cidades += '<option value="' + val_city + '">' + val_city + '</option>';
});
}
});
$("#cidades").html(options_cidades);
}).change();
});
});
</script>
<body>
<a href="index.php" onclick=""><img id="logo" src="imagens/logo.jpg"/></a>
<div id="menuu">
<ul>
<li><a id="inicial" href="index.php" onclick="">Página inicial</a></li>
<li><a id="recurso" href="atlas2021/index.html" onclick="curSec(this.id)">Mapas</a></li>
<li><a id="ajuda" href="#ajuda" onclick="curSec(this.id)">Ajuda</a></li>
<li><a id="conta" href="login.php" onclick="">Fazer login</a></li>
<li><a id="entrar" href="cadastrar.php" onclick="">Cadastre-se</a></li>
</ul>
</div>
<div class="container">
<div class="table-wrapper">
<div class="table-title">
<div class="row">
<div class="col-sm-6">
</div>
<div class="col-sm-6">
<form enctype="multipart/form-data" method="post" action="">
<select class="form-control" placeholder="Estados" name="estado" id="estados" style="width: 35%;">
<option value=""></option>
</select>
<select class="form-control" placeholder="cidades" name="cidade" id="cidades" style="width: 35%; margin-left: 40%; margin-top: -35px;">
<option value=""></option>
</select>
<input type="submit" id="add_bt" name ="submit" class="btn btn-success" value="Buscar" />
</form>
</div>
</div>
</div>
<table class="table table-striped table-hover">
<tr>
<td>Título</td>
<td>Descrição</td>
<td>Cidade</td>
<td>Visualizar</td>
</tr>
<?php
while ($dado = pg_fetch_array($exec_sql_select)) {
?>
<tr>
<td><?php echo $dado['titulo']; ?></td>
<td><?php echo $dado['descricao']; ?></td>
<td><?php echo $dado['cidade']; ?></td>
<td>
<a href="#" onCLick="window.open('<?php echo "http://localhost/Atlas_digital/".$dado['end_arquivo'];?>');"><i title="Visualizar" class="material-icons" data-toggle="tooltip">&#xe417;</i></a>
</td>
</tr>
<?php
}
?>
</table>
</div>
</div>
</body>
</html>
+73
Ver Arquivo
@@ -0,0 +1,73 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="stylesheet" href="./resources/ol.css">
<link rel="stylesheet" href="resources/fontawesome-all.min.css">
<link rel="stylesheet" href="./resources/ol-layerswitcher.css">
<link rel="stylesheet" href="./resources/qgis2web.css">
<style>
.search-layer {
top: 65px;
left: .5em;
}
.ol-touch .search-layer {
top: 80px;
}
</style>
<style>
html, body {
background-color: #ffffff;
}
.ol-control button {
background-color: #f8f8f8 !important;
color: #000000 !important;
border-radius: 0px !important;
}
.ol-zoom, .geolocate, .gcd-gl-control .ol-control {
background-color: rgba(255,255,255,.4) !important;
padding: 3px !important;
}
.ol-scale-line {
background: none !important;
}
.ol-scale-line-inner {
border: 2px solid #f8f8f8 !important;
border-top: none !important;
background: rgba(255, 255, 255, 0.5) !important;
color: black !important;
}
</style>
<style>
html, body, #map {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
</style>
<title></title>
</head>
<body>
<div id="map">
<div id="popup" class="ol-popup">
<a href="#" id="popup-closer" class="ol-popup-closer"></a>
<div id="popup-content"></div>
</div>
</div>
<script src="resources/qgis2web_expressions.js"></script>
<script src="resources/polyfills.js"></script>
<script src="./resources/functions.js"></script>
<script src="./resources/ol.js"></script>
<script src="./resources/ol-layerswitcher.js"></script>
<script src="layers/curvasdenivel5m_2.js"></script><script src="layers/pontos_3.js"></script><script src="layers/rioss_4.js"></script>
<script src="styles/curvasdenivel5m_2_style.js"></script><script src="styles/pontos_3_style.js"></script><script src="styles/rioss_4_style.js"></script>
<script src="./layers/layers.js" type="text/javascript"></script>
<script src="./resources/Autolinker.min.js"></script>
<script src="./resources/qgis2web.js"></script>
</body>
</html>
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 131 KiB

@@ -0,0 +1,22 @@
<PAMDataset>
<SRS>PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"],AUTHORITY["EPSG","3857"]]</SRS>
<GeoTransform> -5.9064795590899130e+06, 1.3172806410517078e+01, 0.0000000000000000e+00, -3.0059250504087680e+06, 0.0000000000000000e+00, -1.3171289245534393e+01</GeoTransform>
<Metadata domain="IMAGE_STRUCTURE">
<MDI key="INTERLEAVE">PIXEL</MDI>
</Metadata>
<Metadata>
<MDI key="AREA_OR_POINT">Area</MDI>
</Metadata>
<PAMRasterBand band="1">
<NoDataValue>0.00000000000000E+00</NoDataValue>
</PAMRasterBand>
<PAMRasterBand band="2">
<NoDataValue>0.00000000000000E+00</NoDataValue>
</PAMRasterBand>
<PAMRasterBand band="3">
<NoDataValue>0.00000000000000E+00</NoDataValue>
</PAMRasterBand>
<PAMRasterBand band="4">
<NoDataValue>0.00000000000000E+00</NoDataValue>
</PAMRasterBand>
</PAMDataset>
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+84
Ver Arquivo
@@ -0,0 +1,84 @@
var wms_layers = [];
var lyr_OpenTopoMap_0 = new ol.layer.Tile({
'title': 'OpenTopoMap',
'type': 'base',
'opacity': 1.000000,
source: new ol.source.XYZ({
attributions: ' &middot; <a href="https://www.openstreetmap.org/copyright">Kartendaten: © OpenStreetMap-Mitwirkende, SRTM | Kartendarstellung: © OpenTopoMap (CC-BY-SA)</a>',
url: 'https://a.tile.opentopomap.org/{z}/{x}/{y}.png'
})
});
var lyr_altimetriaalos_1 = new ol.layer.Image({
opacity: 1,
title: "altimetria alos",
source: new ol.source.ImageStatic({
url: "./layers/altimetriaalos_1.png",
attributions: ' ',
projection: 'EPSG:3857',
alwaysInRange: true,
imageExtent: [-5906479.559090, -3012576.551478, -5901210.436526, -3005925.050409]
})
});
var format_curvasdenivel5m_2 = new ol.format.GeoJSON();
var features_curvasdenivel5m_2 = format_curvasdenivel5m_2.readFeatures(json_curvasdenivel5m_2,
{dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857'});
var jsonSource_curvasdenivel5m_2 = new ol.source.Vector({
attributions: ' ',
});
jsonSource_curvasdenivel5m_2.addFeatures(features_curvasdenivel5m_2);
var lyr_curvasdenivel5m_2 = new ol.layer.Vector({
declutter: true,
source:jsonSource_curvasdenivel5m_2,
style: style_curvasdenivel5m_2,
interactive: true,
title: '<img src="styles/legend/curvasdenivel5m_2.png" /> curvas de nivel 5m'
});
var format_pontos_3 = new ol.format.GeoJSON();
var features_pontos_3 = format_pontos_3.readFeatures(json_pontos_3,
{dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857'});
var jsonSource_pontos_3 = new ol.source.Vector({
attributions: ' ',
});
jsonSource_pontos_3.addFeatures(features_pontos_3);
var lyr_pontos_3 = new ol.layer.Vector({
declutter: true,
source:jsonSource_pontos_3,
style: style_pontos_3,
interactive: true,
title: '<img src="styles/legend/pontos_3.png" /> pontos'
});
var format_rioss_4 = new ol.format.GeoJSON();
var features_rioss_4 = format_rioss_4.readFeatures(json_rioss_4,
{dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857'});
var jsonSource_rioss_4 = new ol.source.Vector({
attributions: ' ',
});
jsonSource_rioss_4.addFeatures(features_rioss_4);
var lyr_rioss_4 = new ol.layer.Vector({
declutter: true,
source:jsonSource_rioss_4,
style: style_rioss_4,
interactive: true,
title: '<img src="styles/legend/rioss_4.png" /> rioss'
});
lyr_OpenTopoMap_0.setVisible(true);lyr_altimetriaalos_1.setVisible(true);lyr_curvasdenivel5m_2.setVisible(true);lyr_pontos_3.setVisible(true);lyr_rioss_4.setVisible(true);
var layersList = [lyr_OpenTopoMap_0,lyr_altimetriaalos_1,lyr_curvasdenivel5m_2,lyr_pontos_3,lyr_rioss_4];
lyr_curvasdenivel5m_2.set('fieldAliases', {'NAME': 'NAME', 'LAYER': 'LAYER', 'ELEVATION': 'ELEVATION', });
lyr_pontos_3.set('fieldAliases', {'id': 'id', 'NUM': 'NUM', });
lyr_rioss_4.set('fieldAliases', {'GM_LAYER': 'GM_LAYER', 'GM_TYPE': 'GM_TYPE', 'MAP_NAME': 'MAP_NAME', 'OBJECTID': 'OBJECTID', 'Id': 'Id', 'Curso_Dagu': 'Curso_Dagu', 'cotrecho': 'cotrecho', 'cocursodag': 'cocursodag', 'cobacia': 'cobacia', 'corio': 'corio', 'codom': 'codom', 'dedominial': 'dedominial', 'nucomptrec': 'nucomptrec', 'nudistbact': 'nudistbact', 'nudistcdag': 'nudistcdag', 'nuareacont': 'nuareacont', 'nuareamont': 'nuareamont', 'nunivotto': 'nunivotto', 'decorpodag': 'decorpodag', 'deligacao': 'deligacao', 'norio': 'norio', 'noriocomp': 'noriocomp', 'nucomprio': 'nucomprio', 'nudistbacr': 'nudistbacr', 'cocdadesag': 'cocdadesag', 'nucompcda': 'nucompcda', 'nutrjus': 'nutrjus', 'nutrmon': 'nutrmon', 'nutrafl': 'nutrafl', 'nudistbacc': 'nudistbacc', 'nuareabacc': 'nuareabacc', 'nuordemcda': 'nuordemcda', 'nunivotcda': 'nunivotcda', 'nulondetre': 'nulondetre', 'nulatdetre': 'nulatdetre', 'nulonpatre': 'nulonpatre', 'nulatpatre': 'nulatpatre', 'nulondecda': 'nulondecda', 'nulatdecda': 'nulatdecda', 'nulonpacda': 'nulonpacda', 'nulatpacda': 'nulatpacda', 'nulonderio': 'nulonderio', 'nulatderio': 'nulatderio', 'nulonpario': 'nulonpario', 'nulatpario': 'nulatpario', 'dtversao': 'dtversao', 'LAYER': 'LAYER', 'Nome': 'Nome', 'Fonte_Topo': 'Fonte_Topo', 'Tipo_Drena': 'Tipo_Drena', 'Regime': 'Regime', 'Compriment': 'Compriment', 'Fonte_Mape': 'Fonte_Mape', 'Data_Mapea': 'Data_Mapea', 'Shape_Leng': 'Shape_Leng', 'LINE_STYLE': 'LINE_STYLE', 'LINE_COLOR': 'LINE_COLOR', 'LINE_WIDTH': 'LINE_WIDTH', });
lyr_curvasdenivel5m_2.set('fieldImages', {'NAME': '', 'LAYER': '', 'ELEVATION': '', });
lyr_pontos_3.set('fieldImages', {'id': '', 'NUM': '', });
lyr_rioss_4.set('fieldImages', {'GM_LAYER': 'TextEdit', 'GM_TYPE': 'TextEdit', 'MAP_NAME': 'TextEdit', 'OBJECTID': 'Range', 'Id': 'Range', 'Curso_Dagu': 'TextEdit', 'cotrecho': 'Range', 'cocursodag': 'TextEdit', 'cobacia': 'TextEdit', 'corio': 'TextEdit', 'codom': 'Range', 'dedominial': 'TextEdit', 'nucomptrec': 'TextEdit', 'nudistbact': 'TextEdit', 'nudistcdag': 'TextEdit', 'nuareacont': 'TextEdit', 'nuareamont': 'TextEdit', 'nunivotto': 'Range', 'decorpodag': 'TextEdit', 'deligacao': 'TextEdit', 'norio': 'TextEdit', 'noriocomp': 'TextEdit', 'nucomprio': 'TextEdit', 'nudistbacr': 'TextEdit', 'cocdadesag': 'TextEdit', 'nucompcda': 'TextEdit', 'nutrjus': 'Range', 'nutrmon': 'Range', 'nutrafl': 'Range', 'nudistbacc': 'TextEdit', 'nuareabacc': 'TextEdit', 'nuordemcda': 'Range', 'nunivotcda': 'Range', 'nulondetre': 'TextEdit', 'nulatdetre': 'TextEdit', 'nulonpatre': 'TextEdit', 'nulatpatre': 'TextEdit', 'nulondecda': 'TextEdit', 'nulatdecda': 'TextEdit', 'nulonpacda': 'TextEdit', 'nulatpacda': 'TextEdit', 'nulonderio': 'TextEdit', 'nulatderio': 'TextEdit', 'nulonpario': 'TextEdit', 'nulatpario': 'TextEdit', 'dtversao': 'TextEdit', 'LAYER': 'TextEdit', 'Nome': 'TextEdit', 'Fonte_Topo': 'TextEdit', 'Tipo_Drena': 'TextEdit', 'Regime': 'TextEdit', 'Compriment': 'TextEdit', 'Fonte_Mape': 'TextEdit', 'Data_Mapea': 'TextEdit', 'Shape_Leng': 'TextEdit', 'LINE_STYLE': 'TextEdit', 'LINE_COLOR': 'TextEdit', 'LINE_WIDTH': 'Range', });
lyr_curvasdenivel5m_2.set('fieldLabels', {'NAME': 'no label', 'LAYER': 'no label', 'ELEVATION': 'no label', });
lyr_pontos_3.set('fieldLabels', {'id': 'no label', 'NUM': 'no label', });
lyr_rioss_4.set('fieldLabels', {'GM_LAYER': 'no label', 'GM_TYPE': 'no label', 'MAP_NAME': 'no label', 'OBJECTID': 'no label', 'Id': 'no label', 'Curso_Dagu': 'no label', 'cotrecho': 'no label', 'cocursodag': 'no label', 'cobacia': 'no label', 'corio': 'no label', 'codom': 'no label', 'dedominial': 'no label', 'nucomptrec': 'no label', 'nudistbact': 'no label', 'nudistcdag': 'no label', 'nuareacont': 'no label', 'nuareamont': 'no label', 'nunivotto': 'no label', 'decorpodag': 'no label', 'deligacao': 'no label', 'norio': 'no label', 'noriocomp': 'no label', 'nucomprio': 'no label', 'nudistbacr': 'no label', 'cocdadesag': 'no label', 'nucompcda': 'no label', 'nutrjus': 'no label', 'nutrmon': 'no label', 'nutrafl': 'no label', 'nudistbacc': 'no label', 'nuareabacc': 'no label', 'nuordemcda': 'no label', 'nunivotcda': 'no label', 'nulondetre': 'no label', 'nulatdetre': 'no label', 'nulonpatre': 'no label', 'nulatpatre': 'no label', 'nulondecda': 'no label', 'nulatdecda': 'no label', 'nulonpacda': 'no label', 'nulatpacda': 'no label', 'nulonderio': 'no label', 'nulatderio': 'no label', 'nulonpario': 'no label', 'nulatpario': 'no label', 'dtversao': 'no label', 'LAYER': 'no label', 'Nome': 'no label', 'Fonte_Topo': 'no label', 'Tipo_Drena': 'no label', 'Regime': 'no label', 'Compriment': 'no label', 'Fonte_Mape': 'no label', 'Data_Mapea': 'no label', 'Shape_Leng': 'no label', 'LINE_STYLE': 'no label', 'LINE_COLOR': 'no label', 'LINE_WIDTH': 'no label', });
lyr_rioss_4.on('precompose', function(evt) {
evt.context.globalCompositeOperation = 'normal';
});
+1
Ver Arquivo
@@ -0,0 +1 @@
var json_pontos_3 = {"type":"FeatureCollection","name":"pontos_3","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},"features":[{"type":"Feature","properties":{"id":null,"NUM":"1"},"geometry":{"type":"Point","coordinates":[-53.024696411284417,-26.087055138096765]}},{"type":"Feature","properties":{"id":null,"NUM":"2"},"geometry":{"type":"Point","coordinates":[-53.029854971795302,-26.093844566473447]}},{"type":"Feature","properties":{"id":null,"NUM":"3"},"geometry":{"type":"Point","coordinates":[-53.012960958818446,-26.083340595178786]}},{"type":"Feature","properties":{"id":null,"NUM":"4"},"geometry":{"type":"Point","coordinates":[-53.022253925422575,-26.082252808386318]}},{"type":"Feature","properties":{"id":null,"NUM":"5"},"geometry":{"type":"Point","coordinates":[-53.032210258344705,-26.081246959232423]}},{"type":"Feature","properties":{"id":null,"NUM":"6"},"geometry":{"type":"Point","coordinates":[-53.032337659126327,-26.071390771490481]}},{"type":"Feature","properties":{"id":null,"NUM":"7"},"geometry":{"type":"Point","coordinates":[-53.029569587598331,-26.069711397550904]}},{"type":"Feature","properties":{"id":null,"NUM":"8"},"geometry":{"type":"Point","coordinates":[-53.036038072738002,-26.069911185140263]}},{"type":"Feature","properties":{"id":null,"NUM":"9"},"geometry":{"type":"Point","coordinates":[-53.045239883737977,-26.066613242179614]}}]}
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
@@ -0,0 +1,46 @@
(function(aa){function N(b,a){var c=b.x-a.x,d=b.y-a.y;return c*c+d*d}function qa(b){var a=b.length;if(16>a)return!1;var c,d=Infinity,f=-Infinity,e=Infinity,g=-Infinity;for(c=0;c<a-1;c+=2)d=Math.min(d,b[c]),f=Math.max(f,b[c]),e=Math.min(e,b[c+1]),g=Math.max(g,b[c+1]);c=f-d;g-=e;f=c/g;if(0.85>f||1.15<f)return!1;d={x:d+c/2,y:e+g/2};c=(c+g)/4;e=c*c;for(c=0;c<a-1;c+=2)if(g=N({x:b[c],y:b[c+1]},d),0.8>g/e||1.2<g/e)return!1;return!0}function ga(b,a){var c={};b/=O;a/=O;var d=ra,f;f=0>=a?90:1<=a?-90:(2*sa(ta(C*
(1-2*a)))-I)/C*180;c[d]=f;c[ua]=360*(1===b?1:(b%1+1)%1)-180;return c}function ba(b,a){var c=P(1,J(0,0.5-va(ha(wa+I*b/180))/C/2));return{x:(a/360+0.5)*O<<0,y:c*O<<0}}function Q(b){for(var a=u+p,c=z+n,d=0,f=b.length-3;d<f;d+=2)if(b[d]>p&&b[d]<a&&b[d+1]>n&&b[d+1]<c)return!0;return!1}function xa(){X||(X=setInterval(function(){for(var b=E.items,a=!1,c=0,d=b.length;c<d;c++)1>b[c].scale&&(b[c].scale+=0.1,1<b[c].scale&&(b[c].scale=1),a=!0);R.render();a||(clearInterval(X),X=null)},33))}function ya(b){u=b.width;
z=b.height;Y=u/2<<0;ca=z/2<<0;S=Y;T=z;R.setSize(u,z);da=q-50}var w=Math,ta=w.exp,va=w.log,za=w.sin,Aa=w.cos,ha=w.tan,sa=w.atan,K=w.atan2,P=w.min,J=w.max,ia=w.sqrt,ja=w.ceil,ka=w.pow,la=la||Array,ma=ma||Array,w=/iP(ad|hone|od)/g.test(navigator.userAgent),D=!!~navigator.userAgent.indexOf("Trident"),Ba=!aa.requestAnimationFrame||w||D?function(b){b()}:aa.requestAnimationFrame,F=function(b){function a(a,b,c){0>c&&(c+=1);1<c&&(c-=1);return c<1/6?a+6*(b-a)*c:0.5>c?b:c<2/3?a+(b-a)*(2/3-c)*6:a}var c={aqua:"#00ffff",
black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",grey:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",orange:"#ffa500",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00"},d=function(a,b,c,d){this.H=a;this.S=b;this.L=c;this.A=d};d.parse=function(a){var b=0,d=0,h=0,k=1,m;a=(""+a).toLowerCase();a=c[a]||a;if(m=a.match(/^#(\w{2})(\w{2})(\w{2})$/))b=parseInt(m[1],16),d=parseInt(m[2],16),h=parseInt(m[3],
16);else if(m=a.match(/rgba?\((\d+)\D+(\d+)\D+(\d+)(\D+([\d.]+))?\)/))b=parseInt(m[1],10),d=parseInt(m[2],10),h=parseInt(m[3],10),k=m[4]?parseFloat(m[5]):1;else return;return this.fromRGBA(b,d,h,k)};d.fromRGBA=function(a,b,c,h){"object"===typeof a?(b=a.g/255,c=a.b/255,h=a.a,a=a.r/255):(a/=255,b/=255,c/=255);var k=Math.max(a,b,c),m=Math.min(a,b,c),l,y=(k+m)/2,s=k-m;if(s){m=0.5<y?s/(2-k-m):s/(k+m);switch(k){case a:l=(b-c)/s+(b<c?6:0);break;case b:l=(c-a)/s+2;break;case c:l=(a-b)/s+4}l*=60}else l=m=
0;return new d(l,m,y,h)};d.prototype={toRGBA:function(){var b=Math.min(360,Math.max(0,this.H)),c=Math.min(1,Math.max(0,this.S)),d=Math.min(1,Math.max(0,this.L)),h=Math.min(1,Math.max(0,this.A)),k;if(0===c)b=k=c=d;else{var m=0.5>d?d*(1+c):d+c-d*c,d=2*d-m,b=b/360,c=a(d,m,b+1/3);k=a(d,m,b);b=a(d,m,b-1/3)}return{r:Math.round(255*c),g:Math.round(255*k),b:Math.round(255*b),a:h}},toString:function(){var a=this.toRGBA();return 1===a.a?"#"+(16777216+(a.r<<16)+(a.g<<8)+a.b).toString(16).slice(1,7):"rgba("+
[a.r,a.g,a.b,a.a.toFixed(2)].join()+")"},hue:function(a){return new d(this.H*a,this.S,this.L,this.A)},saturation:function(a){return new d(this.H,this.S*a,this.L,this.A)},lightness:function(a){return new d(this.H,this.S,this.L*a,this.A)},alpha:function(a){return new d(this.H,this.S,this.L,this.A*a)}};return d}(this),Ca=function(){var b=Math,a=b.PI,c=b.sin,d=b.cos,f=b.tan,e=b.asin,g=b.atan2,h=a/180,k=23.4397*h;return function(b,l,y){y=h*-y;l*=h;b=b.valueOf()/864E5-0.5+2440588-2451545;var s=h*(357.5291+
0.98560028*b),A;A=h*(1.9148*c(s)+0.02*c(2*s)+3E-4*c(3*s));A=s+A+102.9372*h+a;s=e(c(0)*d(k)+d(0)*c(k)*c(A));A=g(c(A)*d(k)-f(0)*c(k),d(A));b=h*(280.16+360.9856235*b)-y-A;y=e(c(l)*c(s)+d(l)*d(s)*d(b));l=g(c(b),d(b)*c(l)-f(s)*d(l));return{altitude:y,azimuth:l-a/2}}}(),Ea=function(){function b(a){a=a.toLowerCase();return"#"===a[0]?a:d[f[a]||a]||null}function a(a,b){var c,d,f,s,A=0,p,n;p=0;for(n=a.length-3;p<n;p+=2)c=a[p],d=a[p+1],f=a[p+2],s=a[p+3],A+=c*s-f*d;if((0<A/2?e:g)===b)return a;c=[];for(d=a.length-
2;0<=d;d-=2)c.push(a[d],a[d+1]);return c}function c(b){var d,f,l=[],y;switch(b.type){case "GeometryCollection":l=[];d=0;for(f=b.geometries.length;d<f;d++)(y=c(b.geometries[d]))&&l.push.apply(l,y);return l;case "MultiPolygon":l=[];d=0;for(f=b.coordinates.length;d<f;d++)(y=c({type:"Polygon",coordinates:b.coordinates[d]}))&&l.push.apply(l,y);return l;case "Polygon":b=b.coordinates;break;default:return[]}var s,p=[],n=[];s=b[0];d=0;for(f=s.length;d<f;d++)p.push(s[d][1],s[d][0]);p=a(p,e);d=0;for(f=b.length-
1;d<f;d++){s=b[d+1];n[d]=[];l=0;for(y=s.length;l<y;l++)n[d].push(s[l][1],s[l][0]);n[d]=a(n[d],g)}return[{outer:p,inner:n.length?n:null}]}var d={brick:"#cc7755",bronze:"#ffeecc",canvas:"#fff8f0",concrete:"#999999",copper:"#a0e0d0",glass:"#e8f8f8",gold:"#ffcc00",plants:"#009933",metal:"#aaaaaa",panel:"#fff8f0",plaster:"#999999",roof_tiles:"#f08060",silver:"#cccccc",slate:"#666666",stone:"#996666",tar_paper:"#333333",wood:"#deb887"},f={asphalt:"tar_paper",bitumen:"tar_paper",block:"stone",bricks:"brick",
glas:"glass",glassfront:"glass",grass:"plants",masonry:"stone",granite:"stone",panels:"panel",paving_stones:"stone",plastered:"plaster",rooftiles:"roof_tiles",roofingfelt:"tar_paper",sandstone:"stone",sheet:"canvas",sheets:"canvas",shingle:"tar_paper",shingles:"tar_paper",slates:"slate",steel:"metal",tar:"tar_paper",tent:"canvas",thatch:"plants",tile:"roof_tiles",tiles:"roof_tiles"},e="CW",g="CCW";return{read:function(a){if(!a||"FeatureCollection"!==a.type)return[];a=a.features;var d,f,e,g,p=[],n,
q,w,r;d=0;for(f=a.length;d<f;d++)if(n=a[d],"Feature"===n.type&&!1!==na(n)){e=n.properties;g={};e=e||{};g.height=e.height||(e.levels?3*e.levels:Da);g.minHeight=e.minHeight||(e.minLevel?3*e.minLevel:0);if(q=e.material?b(e.material):e.wallColor||e.color)g.wallColor=q;if(q=e.roofMaterial?b(e.roofMaterial):e.roofColor)g.roofColor=q;switch(e.shape){case "cylinder":case "cone":case "dome":case "sphere":g.shape=e.shape;g.isRotational=!0;break;case "pyramid":g.shape=e.shape}switch(e.roofShape){case "cone":case "dome":g.roofShape=
e.roofShape;g.isRotational=!0;break;case "pyramid":g.roofShape=e.roofShape}g.roofShape&&e.roofHeight?(g.roofHeight=e.roofHeight,g.height=J(0,g.height-g.roofHeight)):g.roofHeight=0;w=g;q=c(n.geometry);e=0;for(g=q.length;e<g;e++){r=w;var t={},G=void 0;for(G in r)r.hasOwnProperty(G)&&(t[G]=r[G]);r=t;r.footprint=q[e].outer;if(r.isRotational){for(var t=r,G=r.footprint,v=180,x=-180,u=0,z=G.length;u<z;u+=2)v=P(v,G[u+1]),x=J(x,G[u+1]);t.radius=(x-v)/2}q[e].inner&&(r.holes=q[e].inner);if(n.id||n.properties.id)r.id=
n.id||n.properties.id;n.properties.relationId&&(r.relationId=n.properties.relationId);p.push(r)}}return p}}}(),C=Math.PI,I=C/2,wa=C/4,v,O,ra="latitude",ua="longitude",u=0,z=0,Y=0,ca=0,p=0,n=0,H=F.parse("rgba(200, 190, 180)"),Z=H.lightness(0.8),L=H.lightness(1.2),ea=""+H,$=""+Z,U=""+L,oa=0,B=1,da,Da=5,S,T,q=450,Fa=function(){function b(b,g){if(a[b])g&&g(a[b]);else{var h=new XMLHttpRequest;h.onreadystatechange=function(){if(4===h.readyState&&h.status&&!(200>h.status||299<h.status)&&g&&h.responseText){var k=
h.responseText;a[b]=k;c.push({url:b,size:k.length});d+=k.length;for(g(k);d>f;)k=c.shift(),d-=k.size,delete a[k.url]}};h.open("GET",b);h.send(null);return h}}var a={},c=[],d=0,f=5242880;return{loadJSON:function(a,c){return b(a,function(a){var b;try{b=JSON.parse(a)}catch(d){}c(b)})}}}(),E={loadedItems:{},items:[],getPixelFootprint:function(b){for(var a=new la(b.length),c,d=0,f=b.length-1;d<f;d+=2)c=ba(b[d],b[d+1]),a[d]=c.x,a[d+1]=c.y;b=a;a=b.length/2;c=new ma(a);var d=0,f=a-1,e,g,h,k,m=[],l=[],n=[];
for(c[d]=c[f]=1;f;){g=0;for(e=d+1;e<f;e++){h=b[2*e];var p=b[2*e+1],q=b[2*d],r=b[2*d+1],t=b[2*f],w=b[2*f+1],u=t-q,v=w-r,x=void 0;if(0!==u||0!==v)x=((h-q)*u+(p-r)*v)/(u*u+v*v),1<x?(q=t,r=w):0<x&&(q+=u*x,r+=v*x);u=h-q;v=p-r;h=u*u+v*v;h>g&&(k=e,g=h)}2<g&&(c[k]=1,m.push(d),l.push(k),m.push(k),l.push(f));d=m.pop();f=l.pop()}for(e=0;e<a;e++)c[e]&&n.push(b[2*e],b[2*e+1]);a=n;if(!(8>a.length))return a},resetItems:function(){this.items=[];this.loadedItems={};V.reset()},addRenderItems:function(b,a){for(var c,
d,f,e=Ea.read(b),g=0,h=e.length;g<h;g++)c=e[g],f=c.id||[c.footprint[0],c.footprint[1],c.height,c.minHeight].join(),!this.loadedItems[f]&&(d=this.scale(c))&&(d.scale=a?0:1,this.items.push(d),this.loadedItems[f]=1);xa()},scale:function(b){var a={},c=6/ka(2,v-15);b.id&&(a.id=b.id);a.height=P(b.height/c,da);a.minHeight=isNaN(b.minHeight)?0:b.minHeight/c;if(!(a.minHeight>da)&&(a.footprint=this.getPixelFootprint(b.footprint),a.footprint)){for(var d=a.footprint,f=Infinity,e=-Infinity,g=Infinity,h=-Infinity,
k=0,m=d.length-3;k<m;k+=2)f=P(f,d[k]),e=J(e,d[k]),g=P(g,d[k+1]),h=J(h,d[k+1]);a.center={x:f+(e-f)/2<<0,y:g+(h-g)/2<<0};b.radius&&(a.radius=b.radius*oa);b.shape&&(a.shape=b.shape);b.roofShape&&(a.roofShape=b.roofShape);"cone"!==a.roofShape&&"dome"!==a.roofShape||a.shape||!qa(a.footprint)||(a.shape="cylinder");if(b.holes){a.holes=[];for(var l,d=0,f=b.holes.length;d<f;d++)(l=this.getPixelFootprint(b.holes[d]))&&a.holes.push(l)}var n;b.wallColor&&(n=F.parse(b.wallColor))&&(n=n.alpha(B),a.altColor=""+
n.lightness(0.8),a.wallColor=""+n);b.roofColor&&(n=F.parse(b.roofColor))&&(a.roofColor=""+n.alpha(B));b.relationId&&(a.relationId=b.relationId);a.hitColor=V.idToColor(b.relationId||b.id);a.roofHeight=isNaN(b.roofHeight)?0:b.roofHeight/c;if(!(a.height+a.roofHeight<=a.minHeight))return a}},set:function(b){this.isStatic=!0;this.resetItems();this._staticData=b;this.addRenderItems(this._staticData,!0)},load:function(b,a){this.src=b||"http://{s}.data.osmbuildings.org/0.2/{k}/tile/{z}/{x}/{y}.json".replace("{k}",
a||"anonymous");this.update()},update:function(){function b(a){g.addRenderItems(a)}this.resetItems();if(!(15>v))if(this.isStatic&&this._staticData)this.addRenderItems(this._staticData);else if(this.src){var a=16<v?256<<v-16:256>>16-v,c=p/a<<0,d=n/a<<0,f=ja((p+u)/a),a=ja((n+z)/a),e,g=this;for(e=d;e<=a;e++)for(d=c;d<=f;d++)this.loadTile(d,e,16,b)}},loadTile:function(b,a,c,d){b=this.src.replace("{s}","abcd"[(b+a)%4]).replace("{x}",b).replace("{y}",a).replace("{z}",c);return Fa.loadJSON(b,d)}},W={draw:function(b,
a,c,d,f,e,g,h){var k,m=this._extrude(b,a,d,f,e,g),l=[];if(c)for(a=0,k=c.length;a<k;a++)l[a]=this._extrude(b,c[a],d,f,e,g);b.fillStyle=h;b.beginPath();this._ring(b,m);if(c)for(a=0,k=l.length;a<k;a++)this._ring(b,l[a]);b.closePath();b.stroke();b.fill()},_extrude:function(b,a,c,d,f,e){c=q/(q-c);for(var g=q/(q-d),h={x:0,y:0},k={x:0,y:0},m,l,y=[],s=0,t=a.length-3;s<t;s+=2)h.x=a[s]-p,h.y=a[s+1]-n,k.x=a[s+2]-p,k.y=a[s+3]-n,m=r.project(h,c),l=r.project(k,c),d&&(h=r.project(h,g),k=r.project(k,g)),(k.x-h.x)*
(m.y-h.y)>(m.x-h.x)*(k.y-h.y)&&(b.fillStyle=h.x<k.x&&h.y<k.y||h.x>k.x&&h.y>k.y?e:f,b.beginPath(),this._ring(b,[k.x,k.y,h.x,h.y,m.x,m.y,l.x,l.y]),b.closePath(),b.fill()),y[s]=m.x,y[s+1]=m.y;return y},_ring:function(b,a){b.moveTo(a[0],a[1]);for(var c=2,d=a.length-1;c<d;c+=2)b.lineTo(a[c],a[c+1])},simplified:function(b,a,c){b.beginPath();this._ringAbs(b,a);if(c){a=0;for(var d=c.length;a<d;a++)this._ringAbs(b,c[a])}b.closePath();b.stroke();b.fill()},_ringAbs:function(b,a){b.moveTo(a[0]-p,a[1]-n);for(var c=
2,d=a.length-1;c<d;c+=2)b.lineTo(a[c]-p,a[c+1]-n)},shadow:function(b,a,c,d,f){for(var e=null,g={x:0,y:0},h={x:0,y:0},k,m,l=0,q=a.length-3;l<q;l+=2)g.x=a[l]-p,g.y=a[l+1]-n,h.x=a[l+2]-p,h.y=a[l+3]-n,k=x.project(g,d),m=x.project(h,d),f&&(g=x.project(g,f),h=x.project(h,f)),(h.x-g.x)*(k.y-g.y)>(k.x-g.x)*(h.y-g.y)?(1===e&&b.lineTo(g.x,g.y),e=0,l||b.moveTo(g.x,g.y),b.lineTo(h.x,h.y)):(0===e&&b.lineTo(k.x,k.y),e=1,l||b.moveTo(k.x,k.y),b.lineTo(m.x,m.y));if(c)for(l=0,q=c.length;l<q;l++)this._ringAbs(b,c[l])},
shadowMask:function(b,a,c){this._ringAbs(b,a);if(c){a=0;for(var d=c.length;a<d;a++)this._ringAbs(b,c[a])}},hitArea:function(b,a,c,d,f,e){c=null;var g={x:0,y:0},h={x:0,y:0};d=q/(q-d);var k=q/(q-f),m;b.fillStyle=e;b.beginPath();for(var l=0,y=a.length-3;l<y;l+=2)g.x=a[l]-p,g.y=a[l+1]-n,h.x=a[l+2]-p,h.y=a[l+3]-n,e=r.project(g,d),m=r.project(h,d),f&&(g=r.project(g,k),h=r.project(h,k)),(h.x-g.x)*(e.y-g.y)>(e.x-g.x)*(h.y-g.y)?(1===c&&b.lineTo(g.x,g.y),c=0,l||b.moveTo(g.x,g.y),b.lineTo(h.x,h.y)):(0===c&&
b.lineTo(e.x,e.y),c=1,l||b.moveTo(e.x,e.y),b.lineTo(m.x,m.y));b.closePath();b.fill()}},t={draw:function(b,a,c,d,f,e,g,h,k){a={x:a.x-p,y:a.y-n};var m=q/(q-f),l=q/(q-e);f=r.project(a,m);d*=m;e&&(a=r.project(a,l),c*=l);(m=this._tangents(a,c,f,d))?(e=K(m[0].y1-a.y,m[0].x1-a.x),m=K(m[1].y1-a.y,m[1].x1-a.x)):(e=1.5*C,m=1.5*C);b.fillStyle=g;b.beginPath();b.arc(f.x,f.y,d,I,e,!0);b.arc(a.x,a.y,c,e,I);b.closePath();b.fill();b.fillStyle=h;b.beginPath();b.arc(f.x,f.y,d,m,I,!0);b.arc(a.x,a.y,c,I,m);b.closePath();
b.fill();b.fillStyle=k;this._circle(b,f,d)},simplified:function(b,a,c){this._circle(b,{x:a.x-p,y:a.y-n},c)},shadow:function(b,a,c,d,f,e){a={x:a.x-p,y:a.y-n};f=x.project(a,f);var g;e&&(a=x.project(a,e));var h=this._tangents(a,c,f,d);h?(e=K(h[0].y1-a.y,h[0].x1-a.x),g=K(h[1].y1-a.y,h[1].x1-a.x),b.moveTo(h[1].x2,h[1].y2),b.arc(f.x,f.y,d,g,e),b.arc(a.x,a.y,c,e,g)):(b.moveTo(a.x+c,a.y),b.arc(a.x,a.y,c,0,2*C))},shadowMask:function(b,a,c){var d=a.x-p;a=a.y-n;b.moveTo(d+c,a);b.arc(d,a,c,0,2*C)},hitArea:function(b,
a,c,d,f,e,g){a={x:a.x-p,y:a.y-n};var h=q/(q-f),k=q/(q-e);f=r.project(a,h);d*=h;e&&(a=r.project(a,k),c*=k);e=this._tangents(a,c,f,d);b.fillStyle=g;b.beginPath();e?(g=K(e[0].y1-a.y,e[0].x1-a.x),h=K(e[1].y1-a.y,e[1].x1-a.x),b.moveTo(e[1].x2,e[1].y2),b.arc(f.x,f.y,d,h,g),b.arc(a.x,a.y,c,g,h)):(b.moveTo(a.x+c,a.y),b.arc(a.x,a.y,c,0,2*C));b.closePath();b.fill()},_circle:function(b,a,c){b.beginPath();b.arc(a.x,a.y,c,0,2*C);b.stroke();b.fill()},_tangents:function(b,a,c,d){var f=b.x-c.x,e=b.y-c.y,g=a-d,h=
f*f+e*e;if(!(h<=g*g)){var h=ia(h),f=-f/h,e=-e/h,g=g/h,h=[],k,m,l;k=ia(J(0,1-g*g));for(var n=1;-1<=n;n-=2)m=f*g-n*k*e,l=e*g+n*k*f,h.push({x1:b.x+a*m<<0,y1:b.y+a*l<<0,x2:c.x+d*m<<0,y2:c.y+d*l<<0});return h}}},M={draw:function(b,a,c,d,f,e,g){var h=q/(q-f);c=r.project({x:c.x-p,y:c.y-n},q/(q-d));d={x:0,y:0};for(var k={x:0,y:0},m=0,l=a.length-3;m<l;m+=2)d.x=a[m]-p,d.y=a[m+1]-n,k.x=a[m+2]-p,k.y=a[m+3]-n,f&&(d=r.project(d,h),k=r.project(k,h)),(k.x-d.x)*(c.y-d.y)>(c.x-d.x)*(k.y-d.y)&&(b.fillStyle=d.x<k.x&&
d.y<k.y||d.x>k.x&&d.y>k.y?g:e,b.beginPath(),this._triangle(b,d,k,c),b.closePath(),b.fill())},_triangle:function(b,a,c,d){b.moveTo(a.x,a.y);b.lineTo(c.x,c.y);b.lineTo(d.x,d.y)},_ring:function(b,a){b.moveTo(a[0]-p,a[1]-n);for(var c=2,d=a.length-1;c<d;c+=2)b.lineTo(a[c]-p,a[c+1]-n)},shadow:function(b,a,c,d,f){var e={x:0,y:0},g={x:0,y:0};c=x.project({x:c.x-p,y:c.y-n},d);d=0;for(var h=a.length-3;d<h;d+=2)e.x=a[d]-p,e.y=a[d+1]-n,g.x=a[d+2]-p,g.y=a[d+3]-n,f&&(e=x.project(e,f),g=x.project(g,f)),(g.x-e.x)*
(c.y-e.y)>(c.x-e.x)*(g.y-e.y)&&this._triangle(b,e,g,c)},shadowMask:function(b,a){this._ring(b,a)},hitArea:function(b,a,c,d,f,e){var g=q/(q-f);c=r.project({x:c.x-p,y:c.y-n},q/(q-d));d={x:0,y:0};var h={x:0,y:0};b.fillStyle=e;b.beginPath();e=0;for(var k=a.length-3;e<k;e+=2)d.x=a[e]-p,d.y=a[e+1]-n,h.x=a[e+2]-p,h.y=a[e+3]-n,f&&(d=r.project(d,g),h=r.project(h,g)),(h.x-d.x)*(c.y-d.y)>(c.x-d.x)*(h.y-d.y)&&this._triangle(b,d,h,c);b.closePath();b.fill()}},r={project:function(b,a){return{x:(b.x-S)*a+S<<0,y:(b.y-
T)*a+T<<0}},render:function(){var b=this.context;b.clearRect(0,0,u,z);if(!(15>v)){var a,c,d,f={x:S+p,y:T+n},e,g,h,k,m=E.items;m.sort(function(a,b){return a.minHeight-b.minHeight||N(b.center,f)-N(a.center,f)||b.height-a.height});for(var l=0,q=m.length;l<q;l++)if(a=m[l],!fa.isSimple(a)&&(e=a.footprint,Q(e))){c=1>a.scale?a.height*a.scale:a.height;d=0;a.minHeight&&(d=1>a.scale?a.minHeight*a.scale:a.minHeight);g=a.wallColor||ea;h=a.altColor||$;k=a.roofColor||U;b.strokeStyle=h;switch(a.shape){case "cylinder":t.draw(b,
a.center,a.radius,a.radius,c,d,g,h,k);break;case "cone":t.draw(b,a.center,a.radius,0,c,d,g,h);break;case "dome":t.draw(b,a.center,a.radius,a.radius/2,c,d,g,h);break;case "sphere":t.draw(b,a.center,a.radius,a.radius,c,d,g,h,k);break;case "pyramid":M.draw(b,e,a.center,c,d,g,h);break;default:W.draw(b,e,a.holes,c,d,g,h,k)}switch(a.roofShape){case "cone":t.draw(b,a.center,a.radius,0,c+a.roofHeight,c,k,""+F.parse(k).lightness(0.9));break;case "dome":t.draw(b,a.center,a.radius,a.radius/2,c+a.roofHeight,
c,k,""+F.parse(k).lightness(0.9));break;case "pyramid":M.draw(b,e,a.center,c+a.roofHeight,c,k,F.parse(k).lightness(0.9))}}}}},fa={maxZoom:17,maxHeight:5,isSimple:function(b){return v<=this.maxZoom&&b.height+b.roofHeight<this.maxHeight},render:function(){var b=this.context;b.clearRect(0,0,u,z);if(!(15>v||v>this.maxZoom))for(var a,c,d=E.items,f=0,e=d.length;f<e;f++)if(a=d[f],!(a.height>=this.maxHeight)&&(c=a.footprint,Q(c)))switch(b.strokeStyle=a.altColor||$,b.fillStyle=a.roofColor||U,a.shape){case "cylinder":case "cone":case "dome":case "sphere":t.simplified(b,
a.center,a.radius);break;default:W.simplified(b,c,a.holes)}}},x={enabled:!0,color:"#666666",blurColor:"#000000",blurSize:15,date:new Date,direction:{x:0,y:0},project:function(b,a){return{x:b.x+this.direction.x*a,y:b.y+this.direction.y*a}},render:function(){var b=this.context,a,c,d;b.clearRect(0,0,u,z);if(!(!this.enabled||15>v||(a=ga(Y+p,ca+n),a=Ca(this.date,a.latitude,a.longitude),0>=a.altitude))){c=1/ha(a.altitude);d=5>c?0.75:1/c*5;this.direction.x=Aa(a.azimuth)*c;this.direction.y=za(a.azimuth)*
c;var f,e,g,h;a=E.items;b.canvas.style.opacity=d/(2*B);b.shadowColor=this.blurColor;b.shadowBlur=B/2*this.blurSize;b.fillStyle=this.color;b.beginPath();d=0;for(c=a.length;d<c;d++)if(f=a[d],h=f.footprint,Q(h)){e=1>f.scale?f.height*f.scale:f.height;g=0;f.minHeight&&(g=1>f.scale?f.minHeight*f.scale:f.minHeight);switch(f.shape){case "cylinder":t.shadow(b,f.center,f.radius,f.radius,e,g);break;case "cone":t.shadow(b,f.center,f.radius,0,e,g);break;case "dome":t.shadow(b,f.center,f.radius,f.radius/2,e,g);
break;case "sphere":t.shadow(b,f.center,f.radius,f.radius,e,g);break;case "pyramid":M.shadow(b,h,f.center,e,g);break;default:W.shadow(b,h,f.holes,e,g)}switch(f.roofShape){case "cone":t.shadow(b,f.center,f.radius,0,e+f.roofHeight,e);break;case "dome":t.shadow(b,f.center,f.radius,f.radius/2,e+f.roofHeight,e);break;case "pyramid":M.shadow(b,h,f.center,e+f.roofHeight,e)}}b.closePath();b.fill();b.shadowBlur=null;b.globalCompositeOperation="destination-out";b.beginPath();d=0;for(c=a.length;d<c;d++)if(f=
a[d],h=f.footprint,Q(h)&&!f.minHeight)switch(f.shape){case "cylinder":case "cone":case "dome":t.shadowMask(b,f.center,f.radius);break;default:W.shadowMask(b,h,f.holes)}b.fillStyle="#00ff00";b.fill();b.globalCompositeOperation="source-over"}}},V={_idMapping:[null],reset:function(){this._idMapping=[null]},render:function(){if(!this._timer){var b=this;this._timer=setTimeout(function(){b._timer=null;b._render()},500)}},_render:function(){var b=this.context;b.clearRect(0,0,u,z);if(!(15>v)){var a,c,d,f=
{x:S+p,y:T+n},e,g,h=E.items;h.sort(function(a,b){return a.minHeight-b.minHeight||N(b.center,f)-N(a.center,f)||b.height-a.height});for(var k=0,m=h.length;k<m;k++)if(a=h[k],g=a.hitColor)if(e=a.footprint,Q(e)){c=a.height;d=0;a.minHeight&&(d=a.minHeight);switch(a.shape){case "cylinder":t.hitArea(b,a.center,a.radius,a.radius,c,d,g);break;case "cone":t.hitArea(b,a.center,a.radius,0,c,d,g);break;case "dome":t.hitArea(b,a.center,a.radius,a.radius/2,c,d,g);break;case "sphere":t.hitArea(b,a.center,a.radius,
a.radius,c,d,g);break;case "pyramid":M.hitArea(b,e,a.center,c,d,g);break;default:W.hitArea(b,e,a.holes,c,d,g)}switch(a.roofShape){case "cone":t.hitArea(b,a.center,a.radius,0,c+a.roofHeight,c,g);break;case "dome":t.hitArea(b,a.center,a.radius,a.radius/2,c+a.roofHeight,c,g);break;case "pyramid":M.hitArea(b,e,a.center,c+a.roofHeight,c,g)}}u&&z&&(this._imageData=this.context.getImageData(0,0,u,z).data)}},getIdFromXY:function(b,a){var c=this._imageData;if(c){var d=4*((a|0)*u+(b|0));return this._idMapping[c[d]|
c[d+1]<<8|c[d+2]<<16]}},idToColor:function(b){var a=this._idMapping.indexOf(b);-1===a&&(this._idMapping.push(b),a=this._idMapping.length-1);return"rgb("+[a&255,a>>8&255,a>>16&255].join()+")"}},X,R={container:document.createElement("DIV"),items:[],init:function(){this.container.style.pointerEvents="none";this.container.style.position="absolute";this.container.style.left=0;this.container.style.top=0;x.context=this.createContext(this.container);fa.context=this.createContext(this.container);r.context=
this.createContext(this.container);V.context=this.createContext()},render:function(b){Ba(function(){b||(x.render(),fa.render(),V.render());r.render()})},createContext:function(b){var a=document.createElement("CANVAS");a.style.transform="translate3d(0, 0, 0)";a.style.imageRendering="optimizeSpeed";a.style.position="absolute";a.style.left=0;a.style.top=0;var c=a.getContext("2d");c.lineCap="round";c.lineJoin="round";c.lineWidth=1;c.imageSmoothingEnabled=!1;this.items.push(a);b&&b.appendChild(a);return c},
appendTo:function(b){b.appendChild(this.container)},remove:function(){this.container.parentNode.removeChild(this.container)},setSize:function(b,a){for(var c=0,d=this.items.length;c<d;c++)this.items[c].width=b,this.items[c].height=a},setPosition:function(b,a){this.container.style.left=b+"px";this.container.style.top=a+"px"}};R.init();w=function(b){this.map=b;this.maxExtent=[-2.003750834E7,-2.003750834E7,2.003750834E7,2.003750834E7];try{this.setMap(b),b.addLayer(this)}catch(a){console.log(a)}};ol.inherits(w,
ol.layer.Vector);D=w.prototype=ol.layer.Layer?new ol.layer.Vector({source:new ol.source.Vector({projection:ol.proj.get("EPSG:900913")})}):{};D.setOrigin=function(){var b=this.map;try{var a=b.getCoordinateFromPixel([0,0]),c=b.getView().getResolution(),d=this.maxExtent,f=(d[3]-a[1])/c<<0;p=(a[0]-d[0])/c<<0;n=f}catch(e){console.log(e)}};D.setMap=function(b){var a=this;R.appendTo(document.getElementById(b.get("target").id));ya({width:b.getSize()[0],height:b.getSize()[1]});var c=this.map.getView().getProjection();
b.on("click",function(a){var f=V.getIdFromXY(a.pixel[0],a.pixel[1]);f&&(a=ol.proj.transform(b.getCoordinateFromPixel([a.pixel[0],a.pixel[1]]),c,b.getView().getProjection()),pa({feature:f,lat:a[0],lon:a[1]}))});this.on("precompose",function(c){v=b.getView().getZoom();O=256<<v;c=ga(p+Y,n+ca);var f=ba(c.latitude,0);oa=ba(c.latitude,1).x-f.x;B=ka(0.95,v-15);ea=""+H.alpha(B);$=""+Z.alpha(B);U=""+L.alpha(B);a.setOrigin();E.resetItems();E.update()})};D.style=function(b){b=b||{};var a;if(a=b.color||b.wallColor)H=
F.parse(a),ea=""+H.alpha(B),Z=H.lightness(0.8),$=""+Z.alpha(B),L=H.lightness(1.2),U=""+L.alpha(B);b.roofColor&&(L=F.parse(b.roofColor),U=""+L.alpha(B));void 0!==b.shadows&&(x.enabled=!!b.shadows);R.render();return this};D.date=function(b){x.date=b;x.render();return this};D.load=function(b){E.load(b);return this};D.set=function(b){E.set(b);return this};var na=function(){};D.each=function(b){na=function(a){return b(a)};return this};var pa=function(){};D.click=function(b){pa=function(a){return b(a)};
return this};w.VERSION="0.2.2b";w.ATTRIBUTION='&copy; <a href="http://osmbuildings.org">OSM Buildings</a>';aa.OSMBuildings=w})(this);
+757
Ver Arquivo
@@ -0,0 +1,757 @@
@charset "UTF-8";
/*
| tail.datetime - The vanilla way to select dates and times!
| @file ./less/tail.datetime-harx-light.less
| @author SamBrishes <sam@pytes.net>
| @version 0.4.14 - Beta
|
| @website https://github.com/pytesNET/tail.DateTime
| @license X11 / MIT License
| @copyright Copyright © 2018 - 2019 SamBrishes, pytesNET <info@pytes.net>
*/
/*custom for menus:*/
#menu {
vertical-align: top;
display: inline-block;
width: 20%;
}
.filterselect{
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
margin-top: 10px;
margin-left: 20px;
margin-right: 20px;
margin-bottom: 10px;
display: grid;
}
.filterselect p{
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
margin-top: 0px; !important
margin-left: 0px;
margin-right: 0px;
margin-bottom: 0px;
display: grid;
}
.slider {
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
margin-top: 10px;
margin-left: 20px;
margin-right: 20px;
margin-bottom: 10px;
}
/* @start MAIN CALENDAR */
.tail-datetime-calendar, .tail-datetime-calendar *, .tail-datetime-calendar *:before,
.tail-datetime-calendar *:after{
box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.tail-datetime-calendar{
top: 0;
left: 0;
width: 360px;
height: auto;
margin: 15px;
padding: 0;
z-index: 3000;
display: block;
position: absolute;
visibility: hidden;
direction: ltr;
border-collapse: separate;
font-family: "Open Sans", Calibri, Arial, sans-serif;
background-color: white;
border-width: 0;
border-style: solid;
border-color: transparent;
border-radius: 3px;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 2px 1px rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 2px 1px rgba(0, 0, 0, 0.1);
}
.tail-datetime-calendar:after{
clear: both;
content: "";
display: block;
font-size: 0;
visibility: hidden;
}
.tail-datetime-calendar.calendar-static{
top: auto;
left: auto;
margin-left: auto;
margin-right: auto;
position: static;
visibility: visible;
}
.tail-datetime-calendar button.calendar-close{
top: 100%;
right: 15px;
color: #303438;
width: 35px;
height: 25px;
margin: 1px 0 0 0;
padding: 5px 10px;
opacity: 0.5;
display: inline-block;
position: absolute;
font-size: 14px;
line-height: 1.125em;
text-shadow: none;
border: 0;
outline: none;
background-color: white;
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z\
dmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij48cGF0aCBmaWxsPSIjMzAzNDM4IiB\
kPSJNNy40OCA4bDMuNzUgMy43NS0xLjQ4IDEuNDhMNiA5LjQ4bC0zLjc1IDMuNzUtMS40OC0xLjQ4TDQuNTIgOCAuNz\
cgNC4yNWwxLjQ4LTEuNDhMNiA2LjUybDMuNzUtMy43NSAxLjQ4IDEuNDhMNy40OCA4eiIvPjwvc3ZnPg==");
background-repeat: no-repeat;
background-position: center center;
border-width: 0;
border-style: solid;
border-color: transparent;
border-radius: 0 0 3px 3px;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 2px 1px rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 2px 1px rgba(0, 0, 0, 0.1);
transition: opacity 142ms linear;
-webkit-transition: opacity 142ms linear;
}
.tail-datetime-calendar button.calendar-close:hover{
opacity: 1;
}
/* @end MAIN CALENDAR */
/* @start CALENDAR TOOLTIP */
.tail-datetime-calendar .calendar-tooltip{
color: white;
width: auto;
margin: 0;
padding: 0;
display: block;
position: absolute;
background-color: #303438;
border-radius: 3px;
}
.tail-datetime-calendar .calendar-tooltip:before{
top: -7px;
left: 50%;
width: 0;
height: 0;
margin: 0 0 0 -6px;
content: "";
display: block;
position: absolute;
border-width: 0 7px 7px 7px;
border-style: solid;
border-color: transparent transparent #303438 transparent;
}
.tail-datetime-calendar .calendar-tooltip .tooltip-inner{
width: auto;
margin: 0;
padding: 4px 7px;
display: block;
font-size: 12px;
line-height: 14px;
}
/* @end CALENDAR TOOLTIP */
/* @start CALENDAR ACTIONs */
.tail-datetime-calendar .calendar-actions{
color: #303438;
width: 100%;
height: 36px;
margin: 0;
padding: 0;
display: table;
overflow: hidden;
border-spacing: 0;
border-collapse: separate;
background-color: white;
border-width: 0;
border-style: solid;
border-color: transparent;
border-radius: 3px 3px 0 0;
}
.tail-datetime-calendar .calendar-actions span{
margin: 0;
padding: 0;
opacity: 0.5;
display: table-cell;
position: relative;
text-align: center;
line-height: 40px;
text-shadow: none;
background-repeat: no-repeat;
background-position: center center;
transition: opacity 142ms linear, background 142ms linear;
-webkit-transition: opacity 142ms linear, background 142ms linear;
}
.tail-datetime-calendar .calendar-actions span[data-action]{
cursor: pointer;
}
.tail-datetime-calendar .calendar-actions span.action{
width: 50px;
font-size: 22px;
}
.tail-datetime-calendar .calendar-actions span.label{
width: auto;
opacity: 1;
font-size: 16px;
}
.tail-datetime-calendar .calendar-actions span:first-child{
border-radius: 4px 0 0 0;
}
.tail-datetime-calendar .calendar-actions span:last-child{
border-radius: 0 4px 0 0;
}
.tail-datetime-calendar .calendar-actions span:first-child:before,
.tail-datetime-calendar .calendar-actions span:last-child:before{
top: 5px;
bottom: 5px;
width: 1px;
height: auto;
margin: 0;
padding: 0;
content: "";
display: inline-block;
position: absolute;
background-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-actions span:first-child:before{
right: -1px;
}
.tail-datetime-calendar .calendar-actions span:last-child:before{
left: -1px;
}
.tail-datetime-calendar .calendar-actions span:first-child:hover:before,
.tail-datetime-calendar .calendar-actions span:last-child:hover:before{
display: none;
}
.tail-datetime-calendar .calendar-actions span[data-action]:hover{
opacity: 0.95;
background-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-actions span.action-prev{
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zd\
mciIHdpZHRoPSI2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgNiAxNiI+PHBhdGggZD0iTTYgMkwwIDhsNiA2VjJ6\
Ii8+PC9zdmc+");
}
.tail-datetime-calendar .calendar-actions span.action-next{
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z\
dmciIHdpZHRoPSI2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgNiAxNiI+PHBhdGggZD0iTTAgMTRsNi02LTYtNnY\
xMnoiLz48L3N2Zz4=");
}
.tail-datetime-calendar .calendar-actions span.action-submit{
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z\
dmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij48cGF0aCBkPSJNMTIgNWwtOCA4LTQ\
tNCAxLjUtMS41TDQgMTBsNi41LTYuNUwxMiA1eiIvPjwvc3ZnPg==");
}
.tail-datetime-calendar .calendar-actions span.action-cancel{
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z\
dmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij48cGF0aCBmaWxsPSIjMzAzNDM4IiB\
kPSJNNy40OCA4bDMuNzUgMy43NS0xLjQ4IDEuNDhMNiA5LjQ4bC0zLjc1IDMuNzUtMS40OC0xLjQ4TDQuNTIgOCAuNz\
cgNC4yNWwxLjQ4LTEuNDhMNiA2LjUybDMuNzUtMy43NSAxLjQ4IDEuNDhMNy40OCA4eiIvPjwvc3ZnPg==");
}
/* @end CALENDAR ACTIONs */
/* @start CALENDAR DATEPICKER */
.tail-datetime-calendar .calendar-datepicker{
width: 100%;
margin: 0 0 15px 0;
padding: 0;
display: block;
position: relative;
}
.tail-datetime-calendar .calendar-datepicker:after{
top: -1px;
left: 10px;
right: 10px;
content: "";
position: absolute;
border-width: 1px 0 0 0;
border-style: solid;
border-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-datepicker table{
width: 100%;
margin: 0;
padding: 0;
border-spacing: 1px;
border-collapse: separate;
}
.tail-datetime-calendar .calendar-datepicker table tr th,
.tail-datetime-calendar .calendar-datepicker table tr td{
color: #303438;
width: 50px;
height: 35px;
padding: 0;
position: relative;
font-size: 13px;
text-align: center;
font-weight: normal;
text-shadow: none;
line-height: 30px;
background-color: transparent;
border-width: 1px;
border-style: solid;
border-color: transparent;
border-radius: 3px;
}
.tail-datetime-calendar .calendar-datepicker table tr td{
cursor: pointer;
}
.tail-datetime-calendar .calendar-datepicker table tr td span.inner{
margin: 0;
padding: 0;
display: inline-block;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-disabled{
cursor: not-allowed;
color: #A0A4A8;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-disabled:after{
color: #A0A4A8;
top: 0;
left: 0;
width: 49px;
height: 35px;
margin: 0;
padding: 0;
content: "✕";
opacity: 0.25;
display: inline-block;
position: absolute;
font-size: 30px;
line-height: 35px;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-previous,
.tail-datetime-calendar .calendar-datepicker table tr td.date-next{
color: #808488;
background-color: transparent;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-today:before,
.tail-datetime-calendar .calendar-datepicker table tr td .tooltip-tick{
top: 5px;
width: 5px;
height: 5px;
margin: 0;
padding: 0;
z-index: 20;
content: "";
display: inline-block;
position: absolute;
border-width: 0;
border-style: solid;
border-color: transparent;
border-radius: 50%;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-today:before{
left: 5px;
background-color: #32B93C;
}
.tail-datetime-calendar .calendar-datepicker table tr td .tooltip-tick{
right: 5px;
background-color: #303438;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-select.date-today:before,
.tail-datetime-calendar .calendar-datepicker table tr td.date-select .tooltip-tick{
background-color: white;
}
.tail-datetime-calendar .calendar-datepicker table tr td .tooltip-tick:before,
.tail-datetime-calendar .calendar-datepicker table tr td .tooltip-tick:after{
display: none;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade{
width: 14.28571429%;
height: 35px;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade:hover{
border-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day.date-disabled:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month.date-disabled:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year.date-disabled:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade.date-disabled:hover{
border-color: white;
background-color: white;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day.date-today,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month.date-today,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year.date-today,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade.date-today{
color: #32B93C;
border-color: #32B93C;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day.date-select,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month.date-select,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year.date-select,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade.date-select{
border-color: #149BE6;
background-color: #149BE6;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day.date-select span,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month.date-select span,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year.date-select span,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade.date-select span{
color: white;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day span.inner,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month span.inner,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year span.inner,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade span.inner{
border: 0;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade{
width: 25%;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade span.inner{
height: 54px;
padding: 7px 15px;
text-align: center;
line-height: 20px;
}
/* @end CALENDAR DATEPICKER */
/* @start CALENDAR TIMEPICKER */
.tail-datetime-calendar .calendar-timepicker{
width: 100%;
margin: 0;
padding: 0;
display: block;
position: relative;
border-top: 0;
text-align: center;
}
.tail-datetime-calendar .calendar-timepicker:after{
top: -1px;
left: 10px;
right: 10px;
content: "";
position: absolute;
border-width: 1px 0 0 0;
border-style: solid;
border-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field{
width: auto;
margin: 0;
padding: 20px 10px 10px 10px;
display: inline-block;
position: relative;
text-align: center;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field:first-of-type{
text-align: right;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field:last-of-type{
text-align: left;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input[type="text"]{
color: #606468;
width: 75px;
height: 35px;
margin: 0;
z-index: 4;
padding: 3px 20px 3px 5px;
display: inline-block;
position: relative;
font-size: 12px;
text-align: center;
appearance: textfield;
-moz-appearance: textfield;
-webkit-appearance: textfield;
background-color: white;
border-width: 1px;
border-style: solid;
border-color: #E0E0E0;
border-radius: 3px;
box-shadow: none;
-webkit-box-shadow: none;
transition: color 142ms linear, border 142ms linear, background 142ms linear;
-webkit-transition: color 142ms linear, border 142ms linear, background 142ms linear;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input[type="text"]:hover{
color: #404448;
border-color: #D0D0D0;
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input[type="text"]:focus{
color: #303438;
border-color: #149BE6;
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input[type="text"]:disabled{
cursor: not-allowed;
color: #A0A4A8;
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step{
right: 11px;
width: 20px;
height: 17px;
margin: 0;
padding: 0;
z-index: 15;
display: inline-block;
position: absolute;
background-color: white;
box-shadow: none;
-webkit-box-shadow: none;
transition: border 142ms linear, background 142ms linear;
-webkit-transition: border 142ms linear, background 142ms linear;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step:before{
top: 5px;
left: 50%;
width: 0;
height: 0;
margin: 0 0 0 -3px;
padding: 0;
content: "";
display: inline-block;
position: absolute;
transition: border 142ms linear;
-webkit-transition: border 142ms linear;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-up{
top: 21px;
border-width: 0 0 1px 1px;
border-style: solid;
border-color: #E0E0E0;
border-radius: 0 2px 0 0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-up:hover{
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-up:before{
border-width: 0 4px 5px 4px;
border-style: solid;
border-color: transparent transparent #606468 transparent;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-down{
top: 37px;
border-width: 1px 0 0 1px;
border-style: solid;
border-color: #E0E0E0;
border-radius: 0 0 2px 0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-down:hover{
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-down:before{
border-width: 5px 4px 0 4px;
border-style: solid;
border-color: #606468 transparent transparent transparent;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button.step-up{
border-color: #149BE6;
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button.step-up:before{
border-bottom-color: #149BE6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button.step-up:hover{
color: white;
background-color: #149BE6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button.step-up:hover:before{
border-bottom-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button + button.step-down{
border-color: #149BE6;
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button + button.step-down:before{
border-top-color: #149BE6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button + button.step-down:hover{
color: white;
background-color: #149BE6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button + button.step-down:hover:before{
border-top-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button.step-up{
cursor: not-allowed;
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button.step-up:hover{
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button.step-up:before{
border-bottom-color: #A0A4A8;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button + button.step-down{
cursor: not-allowed;
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button + button.step-down:hover{
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button + button.step-down:before{
border-top-color: #A0A4A8;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field label{
color: #606468;
margin: 0;
padding: 0;
display: block;
font-size: 12px;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch{
cursor: pointer;
margin: 0 0 -8px 0;
padding: 15px 0 0 0;
display: block;
text-align: center;
vertical-align: top;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch:before,
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch:after{
width: auto;
margin: 0;
padding: 0 5px;
font-size: 12px;
line-height: 16px;
vertical-align: top;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch:before{
content: attr(data-am);
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch:after{
content: attr(data-pm);
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"]{
display: none;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"] + span{
display: inline-block;
position: relative;
vertical-align: top;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"] + span:before{
width: 50px;
height: 16px;
content: "";
display: inline-block;
vertical-align: top;
border-width: 1px;
border-style: solid;
border-color: #149BE6;
border-radius: 14px;
transition: border 284ms linear;
-webkit-transition: border 284ms linear;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"] + span:after{
top: 3px;
left: 4px;
right: 30px;
width: auto;
height: 10px;
margin: 0;
padding: 0;
content: "";
display: inline-block;
position: absolute;
background-color: #149BE6;
border-radius: 15px;
vertical-align: top;
transition: left 284ms linear, right 284ms linear 284ms, background 284ms linear;
-webkit-transition: left 284ms linear, right 284ms linear 284ms, background 284ms linear;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"]:checked + span:before{
border-color: #32B93C;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"]:checked + span:after{
left: 30px;
right: 4px;
background-color: #32B93C;
transition: right 284ms linear, left 284ms linear 284ms, background 284ms linear;
-webkit-transition: right 284ms linear, left 284ms linear 284ms, background 284ms linear;
}
/* @end CALENDAR TIMEPICKER */
/* @start RTL */
.tail-datetime-calendar.rtl{
direction: rtl;
}
.tail-datetime-calendar.rtl .calendar-actions span.action-next,
.tail-datetime-calendar.rtl .calendar-actions span.action-prev{
transform: rotate(180deg);
-moz-transform: rotate(180deg);
-webkit-transform: rotate(180deg);
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.date-disabled:after{
right: 3px;
transform: rotate(45deg);
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.date-today:before{
right: 5px;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td .tooltip-tick{
left: 5px;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-month.date-today:before,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-year.date-today:before,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade.date-today:before{
right: 50%;
margin-right: -2.5px;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-month:hover span.inner:before,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-year:hover span.inner:before,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade:hover span.inner:before{
right: 6px;
border-right-color: #cccccc;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-month span.inner:after,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-year span.inner:after,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade span.inner:after{
left: 0;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-month:hover span.inner:after,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-year:hover span.inner:after,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade:hover span.inner:after{
left: 6px;
border-left-color: #cccccc;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade span.inner{
text-align: right;
}
.tail-datetime-calendar.rtl .calendar-timepicker .timepicker-field:first-child{
text-align: left;
padding-left: 0;
padding-right: 25px;
}
.tail-datetime-calendar.rtl .calendar-timepicker .timepicker-field:last-child{
text-align: right;
padding-left: 25px;
padding-right: 0;
}
.tail-datetime-calendar.rtl .calendar-timepicker .timepicker-field:first-child input[type="text"]{
margin-left: -1px;
margin-right: 0;
border-radius: 0 3px 3px 0;
}
.tail-datetime-calendar.rtl .calendar-timepicker .timepicker-field:last-child input[type="text"]{
margin-left: 0;
margin-right: -1px;
border-radius: 3px 0 0 3px;
}
/* @end RTL */
/*# sourceMappingURL=tail.datetime-harx-light.map */
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+56
Ver Arquivo
@@ -0,0 +1,56 @@
var createTextStyle = function(feature, resolution, labelText, labelFont,
labelFill, placement, bufferColor,
bufferWidth) {
if (feature.hide || !labelText) {
return;
}
if (bufferWidth == 0) {
var bufferStyle = null;
} else {
var bufferStyle = new ol.style.Stroke({
color: bufferColor,
width: bufferWidth
})
}
var textStyle = new ol.style.Text({
font: labelFont,
text: labelText,
textBaseline: "middle",
textAlign: "left",
offsetX: 8,
offsetY: 3,
placement: placement,
maxAngle: 0,
fill: new ol.style.Fill({
color: labelFill
}),
stroke: bufferStyle
});
return textStyle;
};
function stripe(stripeWidth, gapWidth, angle, color) {
var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');
canvas.width = screen.width;
canvas.height = stripeWidth + gapWidth;
context.fillStyle = color;
context.lineWidth = stripeWidth;
context.fillRect(0, 0, canvas.width, stripeWidth);
innerPattern = context.createPattern(canvas, 'repeat');
var outerCanvas = document.createElement('canvas');
var outerContext = outerCanvas.getContext('2d');
outerCanvas.width = screen.width;
outerCanvas.height = screen.height;
outerContext.rotate((Math.PI / 180) * angle);
outerContext.translate(-(screen.width/2), -(screen.height/2));
outerContext.fillStyle = innerPattern;
outerContext.fillRect(0,0,screen.width,screen.height);
return outerContext.createPattern(outerCanvas, 'no-repeat');
};
+1
Ver Arquivo
@@ -0,0 +1 @@
.sey-container{display:none;position:absolute;box-shadow:1px 2px 6px;background-color:#fff;color:#333;transition:left .1s ease-in-out;z-index:1}.sey-list{padding:0;margin:0;list-style-type:none}.sey-show{display:block}.sey-hide{display:none}.sey-empty{cursor:default;padding:7px}.sey-item{cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:7px}.sey-item:hover{background-color:#444;color:#fff}.sey-selected{background-color:#333;color:#fff}.sey-char-highlight{font-weight:700}.sey-category-id{background-color:#eee;color:#aaa;text-align:right;text-transform:capitalize;font-style:italic;font-size:12px;box-shadow:1px 0 1px;padding:7px}
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 14 KiB

+2
Ver Arquivo
@@ -0,0 +1,2 @@
/*! nouislider - 14.0.2 - 6/28/2019 */
.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-ms-touch-action:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base,.noUi-connects{width:100%;height:100%;position:relative;z-index:1}.noUi-connects{overflow:hidden;z-index:0}.noUi-connect,.noUi-origin{will-change:transform;position:absolute;z-index:1;top:0;left:0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat}.noUi-connect{height:100%;width:100%}.noUi-origin{height:10%;width:10%}html:not([dir=rtl]) .noUi-horizontal .noUi-origin{left:auto;right:0}.noUi-vertical .noUi-origin{width:0}.noUi-horizontal .noUi-origin{height:0}.noUi-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.noUi-touch-area{height:100%;width:100%}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{-webkit-transition:transform .3s;transition:transform .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}html:not([dir=rtl]) .noUi-horizontal .noUi-handle{right:-17px;left:auto}.noUi-target{background:#FAFAFA;border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-connects{border-radius:3px}.noUi-connect{background:#3FB8AF}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#B8B8B8}[disabled] .noUi-handle,[disabled].noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{-moz-box-sizing:border-box;box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#CCC}.noUi-marker-sub{background:#AAA}.noUi-marker-large{background:#AAA}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{-webkit-transform:translate(-50%,50%);transform:translate(-50%,50%)}.noUi-rtl .noUi-value-horizontal{-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);padding-left:25px}.noUi-rtl .noUi-value-vertical{-webkit-transform:translate(0,50%);transform:translate(0,50%)}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #D9D9D9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{-webkit-transform:translate(-50%,0);transform:translate(-50%,0);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{-webkit-transform:translate(0,-50%);transform:translate(0,-50%);top:50%;right:120%}
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
@@ -0,0 +1,123 @@
.layer-switcher.shown.ol-control {
background-color: transparent;
}
.layer-switcher.shown.ol-control:hover {
background-color: transparent;
}
.layer-switcher {
position: absolute;
top: 3.5em;
right: 0.5em;
text-align: left;
}
.layer-switcher.shown {
bottom: 3em;
}
.layer-switcher .panel {
padding: 0 1em 0 0;
margin: 0;
border: 4px solid #eee;
border-radius: 4px;
background-color: white;
display: none;
max-height: 100%;
overflow-y: auto;
}
.layer-switcher.shown .panel {
display: block;
}
.layer-switcher button {
float: right;
width: 38px;
height: 38px;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAACE1BMVEX///8A//8AgICA//8AVVVAQID///8rVVVJtttgv98nTmJ2xNgkW1ttyNsmWWZmzNZYxM4gWGgeU2JmzNNr0N1Rwc0eU2VXxdEhV2JqytQeVmMhVmNoydUfVGUgVGQfVGQfVmVqy9hqy9dWw9AfVWRpydVry9YhVmMgVGNUw9BrytchVWRexdGw294gVWQgVmUhVWPd4N6HoaZsy9cfVmQgVGRrytZsy9cgVWQgVWMgVWRsy9YfVWNsy9YgVWVty9YgVWVry9UgVWRsy9Zsy9UfVWRsy9YgVWVty9YgVWRty9Vsy9aM09sgVWRTws/AzM0gVWRtzNYgVWRuy9Zsy9cgVWRGcHxty9bb5ORbxdEgVWRty9bn6OZTws9mydRfxtLX3Nva5eRix9NFcXxOd4JPeINQeIMiVmVUws9Vws9Vw9BXw9BYxNBaxNBbxNBcxdJexdElWWgmWmhjyNRlx9IqXGtoipNpytVqytVryNNrytZsjZUuX210k5t1y9R2zNR3y9V4lp57zth9zdaAnKOGoaeK0NiNpquV09mesrag1tuitbmj1tuj19uktrqr2d2svcCu2d2xwMO63N+7x8nA3uDC3uDFz9DK4eHL4eLN4eIyYnDX5OM5Z3Tb397e4uDf4uHf5uXi5ePi5+Xj5+Xk5+Xm5+Xm6OY6aHXQ19fT4+NfhI1Ww89gx9Nhx9Nsy9ZWw9Dpj2abAAAAWnRSTlMAAQICAwQEBgcIDQ0ODhQZGiAiIyYpKywvNTs+QklPUlNUWWJjaGt0dnd+hIWFh4mNjZCSm6CpsbW2t7nDzNDT1dje5efr7PHy9PT29/j4+Pn5+vr8/f39/f6DPtKwAAABTklEQVR4Xr3QVWPbMBSAUTVFZmZmhhSXMjNvkhwqMzMzMzPDeD+xASvObKePPa+ffHVl8PlsnE0+qPpBuQjVJjno6pZpSKXYl7/bZyFaQxhf98hHDKEppwdWIW1frFnrxSOWHFfWesSEWC6R/P4zOFrix3TzDFLlXRTR8c0fEEJ1/itpo7SVO9Jdr1DVxZ0USyjZsEY5vZfiiAC0UoTGOrm9PZLuRl8X+Dq1HQtoFbJZbv61i+Poblh/97TC7n0neCcK0ETNUrz1/xPHf+DNAW9Ac6t8O8WH3Vp98f5lCaYKAOFZMLyHL4Y0fe319idMNgMMp+zWVSybUed/+/h7I4wRAG1W6XDy4XmjR9HnzvDRZXUAYDFOhC1S/Hh+fIXxen+eO+AKqbs+wAo30zDTDvDxKoJN88sjUzDFAvBzEUGFsnADoIvAJzoh2BZ8sner+Ke/vwECuQAAAABJRU5ErkJggg==') /*logo.png*/;
background-repeat: no-repeat;
background-position: 2px;
background-color: white;
border: none;
}
.layer-switcher.shown button {
display: none;
}
.layer-switcher button:focus, .layer-switcher button:hover {
background-color: white;
}
.layer-switcher ul {
padding-left: 2em;
list-style: none;
}
.layer-switcher li.group > label {
font-weight: bold;
}
.layer-switcher li.layer {
display: table;
}
.layer-switcher li.layer label, .layer-switcher li.layer input {
display: table-cell;
vertical-align: middle;
}
.layer-switcher label.disabled {
opacity:0.4;
}
.layer-switcher input {
margin: 4px;
}
.layer-switcher.touch ::-webkit-scrollbar {
width: 4px;
}
.layer-switcher.touch ::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
border-radius: 10px;
}
.layer-switcher.touch ::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}
.layer-switcher .group button {
display: inline-block;
vertical-align: top;
float: none;
width: 16px;
height: 16px;
background-position: center 2px;
background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAW0lEQVR4nGNgGAWMyBwXFxcGBgaGeii3EU0tXHzPnj1wQRYsihqQ+I0ExDEMQAYNONgoAN0AmMkNaDSyQSheY8JiaCMOGzE04zIAmyFYNTMw4A+DRhzsUUBtAADw4BCeIZkGdwAAAABJRU5ErkJggg==');
-webkit-transition: -webkit-transform .2s ease-in-out;
-ms-transition: -ms-transform .2s ease-in-out;
transition: transform .2s ease-in-out;
}
.layer-switcher .group.layer-switcher-close button {
transform: rotate(-90deg);
-webkit-transform: rotate(-90deg);
}
li.group.layer-switcher-fold {
margin-left: -18px;
}
.layer-switcher .group.layer-switcher-fold > ul {
padding-left: 3em;
}
.layer-switcher .group.layer-switcher-fold.layer-switcher-close > ul {
overflow: hidden;
height: 0;
}
@@ -0,0 +1,624 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('ol/control/Control'), require('ol/Observable')) :
typeof define === 'function' && define.amd ? define(['ol/control/Control', 'ol/Observable'], factory) :
(global.LayerSwitcher = factory(global.ol.control.Control,global.ol.Observable));
}(this, (function (Control,ol_Observable) { 'use strict';
Control = 'default' in Control ? Control['default'] : Control;
var classCallCheck = function (instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
};
var createClass = function () {
function defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
return function (Constructor, protoProps, staticProps) {
if (protoProps) defineProperties(Constructor.prototype, protoProps);
if (staticProps) defineProperties(Constructor, staticProps);
return Constructor;
};
}();
var get = function get(object, property, receiver) {
if (object === null) object = Function.prototype;
var desc = Object.getOwnPropertyDescriptor(object, property);
if (desc === undefined) {
var parent = Object.getPrototypeOf(object);
if (parent === null) {
return undefined;
} else {
return get(parent, property, receiver);
}
} else if ("value" in desc) {
return desc.value;
} else {
var getter = desc.get;
if (getter === undefined) {
return undefined;
}
return getter.call(receiver);
}
};
var inherits = function (subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function, not " + typeof superClass);
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
enumerable: false,
writable: true,
configurable: true
}
});
if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;
};
var possibleConstructorReturn = function (self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return call && (typeof call === "object" || typeof call === "function") ? call : self;
};
var CSS_PREFIX = 'layer-switcher-';
/**
* OpenLayers Layer Switcher Control.
* See [the examples](./examples) for usage.
* @constructor
* @extends {ol/control/Control~Control}
* @param {Object} opt_options Control options, extends ol/control/Control~Control#options adding:
* @param {String} opt_options.tipLabel the button tooltip.
* @param {String} opt_options.groupSelectStyle either `'none'` - groups don't get a checkbox,
* `'children'` (default) groups have a checkbox and affect child visibility or
* `'group'` groups have a checkbox but do not alter child visibility (like QGIS).
*/
var LayerSwitcher = function (_Control) {
inherits(LayerSwitcher, _Control);
function LayerSwitcher(opt_options) {
classCallCheck(this, LayerSwitcher);
var options = opt_options || {};
var tipLabel = options.tipLabel ? options.tipLabel : 'Legend';
var element = document.createElement('div');
var _this = possibleConstructorReturn(this, (LayerSwitcher.__proto__ || Object.getPrototypeOf(LayerSwitcher)).call(this, { element: element, target: options.target }));
_this.groupSelectStyle = LayerSwitcher.getGroupSelectStyle(options.groupSelectStyle);
_this.mapListeners = [];
_this.hiddenClassName = 'ol-unselectable ol-control layer-switcher';
if (LayerSwitcher.isTouchDevice_()) {
_this.hiddenClassName += ' touch';
}
_this.shownClassName = 'shown';
element.className = _this.hiddenClassName;
var button = document.createElement('button');
button.setAttribute('title', tipLabel);
element.appendChild(button);
_this.panel = document.createElement('div');
_this.panel.className = 'panel';
element.appendChild(_this.panel);
LayerSwitcher.enableTouchScroll_(_this.panel);
var this_ = _this;
button.onmouseover = function (e) {
this_.showPanel();
};
button.onclick = function (e) {
e = e || window.event;
this_.showPanel();
e.preventDefault();
};
this_.panel.onmouseout = function (e) {
e = e || window.event;
if (!this_.panel.contains(e.toElement || e.relatedTarget)) {
this_.hidePanel();
}
};
return _this;
}
/**
* Set the map instance the control is associated with.
* @param {ol/Map~Map} map The map instance.
*/
createClass(LayerSwitcher, [{
key: 'setMap',
value: function setMap(map) {
// Clean up listeners associated with the previous map
for (var i = 0, key; i < this.mapListeners.length; i++) {
ol_Observable.unByKey(this.mapListeners[i]);
}
this.mapListeners.length = 0;
// Wire up listeners etc. and store reference to new map
get(LayerSwitcher.prototype.__proto__ || Object.getPrototypeOf(LayerSwitcher.prototype), 'setMap', this).call(this, map);
if (map) {
var this_ = this;
this.mapListeners.push(map.on('pointerdown', function () {
this_.hidePanel();
}));
this.renderPanel();
}
}
/**
* Show the layer panel.
*/
}, {
key: 'showPanel',
value: function showPanel() {
if (!this.element.classList.contains(this.shownClassName)) {
this.element.classList.add(this.shownClassName);
this.renderPanel();
}
}
/**
* Hide the layer panel.
*/
}, {
key: 'hidePanel',
value: function hidePanel() {
if (this.element.classList.contains(this.shownClassName)) {
this.element.classList.remove(this.shownClassName);
}
}
/**
* Re-draw the layer panel to represent the current state of the layers.
*/
}, {
key: 'renderPanel',
value: function renderPanel() {
this.dispatchEvent({ type: 'render' });
LayerSwitcher.renderPanel(this.getMap(), this.panel, { groupSelectStyle: this.groupSelectStyle });
this.dispatchEvent({ type: 'rendercomplete' });
}
/**
* **Static** Re-draw the layer panel to represent the current state of the layers.
* @param {ol/Map~Map} map The OpenLayers Map instance to render layers for
* @param {Element} panel The DOM Element into which the layer tree will be rendered
*/
}], [{
key: 'renderPanel',
value: function renderPanel(map, panel, options) {
// Create the event.
var render_event = new Event('render');
// Dispatch the event.
panel.dispatchEvent(render_event);
options = options || {};
options.groupSelectStyle = LayerSwitcher.getGroupSelectStyle(options.groupSelectStyle);
LayerSwitcher.ensureTopVisibleBaseLayerShown_(map);
while (panel.firstChild) {
panel.removeChild(panel.firstChild);
}
// Reset indeterminate state for all layers and groups before
// applying based on groupSelectStyle
LayerSwitcher.forEachRecursive(map, function (l, idx, a) {
l.set('indeterminate', false);
});
if (options.groupSelectStyle === 'children' || options.groupSelectStyle === 'none') {
// Set visibile and indeterminate state of groups based on
// their children's visibility
LayerSwitcher.setGroupVisibility(map);
} else if (options.groupSelectStyle === 'group') {
// Set child indetermiate state based on their parent's visibility
LayerSwitcher.setChildVisibility(map);
}
var ul = document.createElement('ul');
panel.appendChild(ul);
// passing two map arguments instead of lyr as we're passing the map as the root of the layers tree
LayerSwitcher.renderLayers_(map, map, ul, options, function render(changedLyr) {
// console.log('render');
LayerSwitcher.renderPanel(map, panel, options);
});
// Create the event.
var rendercomplete_event = new Event('rendercomplete');
// Dispatch the event.
panel.dispatchEvent(rendercomplete_event);
}
}, {
key: 'isBaseGroup',
value: function isBaseGroup(lyr) {
var lyrs = lyr.getLayers ? lyr.getLayers().getArray() : [];
return lyrs.length && lyrs[0].get('type') === 'base';
}
}, {
key: 'setGroupVisibility',
value: function setGroupVisibility(map) {
// Get a list of groups, with the deepest first
var groups = LayerSwitcher.getGroupsAndLayers(map, function (l) {
return l.getLayers && !l.get('combine') && !LayerSwitcher.isBaseGroup(l);
}).reverse();
// console.log(groups.map(g => g.get('title')));
groups.forEach(function (group) {
// TODO Can we use getLayersArray, is it public in the esm build?
var descendantVisibility = group.getLayersArray().map(function (l) {
var state = l.getVisible();
// console.log('>', l.get('title'), state);
return state;
});
// console.log(descendantVisibility);
if (descendantVisibility.every(function (v) {
return v === true;
})) {
group.setVisible(true);
group.set('indeterminate', false);
} else if (descendantVisibility.every(function (v) {
return v === false;
})) {
group.setVisible(false);
group.set('indeterminate', false);
} else {
group.setVisible(true);
group.set('indeterminate', true);
}
});
}
}, {
key: 'setChildVisibility',
value: function setChildVisibility(map) {
// console.log('setChildVisibility');
var groups = LayerSwitcher.getGroupsAndLayers(map, function (l) {
return l.getLayers && !l.get('combine') && !LayerSwitcher.isBaseGroup(l);
});
groups.forEach(function (group) {
// console.log(group.get('title'));
var groupVisible = group.getVisible();
var groupIndeterminate = group.get('indeterminate');
group.getLayers().getArray().forEach(function (l) {
// console.log('>', l.get('title'));
l.set('indeterminate', false);
if ((!groupVisible || groupIndeterminate) && l.getVisible()) {
l.set('indeterminate', true);
}
});
});
}
/**
* **Static** Ensure only the top-most base layer is visible if more than one is visible.
* @param {ol/Map~Map} map The map instance.
* @private
*/
}, {
key: 'ensureTopVisibleBaseLayerShown_',
value: function ensureTopVisibleBaseLayerShown_(map) {
var lastVisibleBaseLyr;
LayerSwitcher.forEachRecursive(map, function (l, idx, a) {
if (l.get('type') === 'base' && l.getVisible()) {
lastVisibleBaseLyr = l;
}
});
if (lastVisibleBaseLyr) LayerSwitcher.setVisible_(map, lastVisibleBaseLyr, true);
}
}, {
key: 'getGroupsAndLayers',
value: function getGroupsAndLayers(lyr, filterFn) {
var layers = [];
filterFn = filterFn || function (l, idx, a) {
return true;
};
LayerSwitcher.forEachRecursive(lyr, function (l, idx, a) {
if (l.get('title')) {
if (filterFn(l, idx, a)) {
layers.push(l);
}
}
});
return layers;
}
/**
* **Static** Toggle the visible state of a layer.
* Takes care of hiding other layers in the same exclusive group if the layer
* is toggle to visible.
* @private
* @param {ol/Map~Map} map The map instance.
* @param {ol/layer/Base~BaseLayer} The layer whose visibility will be toggled.
*/
}, {
key: 'setVisible_',
value: function setVisible_(map, lyr, visible, groupSelectStyle) {
// console.log(lyr.get('title'), visible, groupSelectStyle);
lyr.setVisible(visible);
if (visible && lyr.get('type') === 'base') {
// Hide all other base layers regardless of grouping
LayerSwitcher.forEachRecursive(map, function (l, idx, a) {
if (l != lyr && l.get('type') === 'base') {
l.setVisible(false);
}
});
}
if (lyr.getLayers && !lyr.get('combine') && groupSelectStyle === 'children') {
lyr.getLayers().forEach(function (l) {
LayerSwitcher.setVisible_(map, l, lyr.getVisible(), groupSelectStyle);
});
}
}
/**
* **Static** Render all layers that are children of a group.
* @private
* @param {ol/Map~Map} map The map instance.
* @param {ol/layer/Base~BaseLayer} lyr Layer to be rendered (should have a title property).
* @param {Number} idx Position in parent group list.
*/
}, {
key: 'renderLayer_',
value: function renderLayer_(map, lyr, idx, options, render) {
var li = document.createElement('li');
var lyrTitle = lyr.get('title');
var checkboxId = LayerSwitcher.uuid();
var label = document.createElement('label');
if (lyr.getLayers && !lyr.get('combine')) {
var isBaseGroup = LayerSwitcher.isBaseGroup(lyr);
li.classList.add('group');
if (isBaseGroup) {
li.classList.add(CSS_PREFIX + 'base-group');
}
// Group folding
if (lyr.get('fold')) {
li.classList.add(CSS_PREFIX + 'fold');
li.classList.add(CSS_PREFIX + lyr.get('fold'));
var btn = document.createElement('button');
btn.onclick = function (e) {
LayerSwitcher.toggleFold_(lyr, li);
};
li.appendChild(btn);
}
if (!isBaseGroup && options.groupSelectStyle != 'none') {
var _input = document.createElement('input');
_input.type = 'checkbox';
_input.id = checkboxId;
_input.checked = lyr.getVisible();
_input.indeterminate = lyr.get('indeterminate');
_input.onchange = function (e) {
LayerSwitcher.setVisible_(map, lyr, e.target.checked, options.groupSelectStyle);
render(lyr);
};
li.appendChild(_input);
label.htmlFor = checkboxId;
}
label.innerHTML = lyrTitle;
li.appendChild(label);
var ul = document.createElement('ul');
li.appendChild(ul);
LayerSwitcher.renderLayers_(map, lyr, ul, options, render);
} else {
li.className = 'layer';
var input = document.createElement('input');
if (lyr.get('type') === 'base') {
input.type = 'radio';
input.name = 'base';
} else {
input.type = 'checkbox';
}
input.id = checkboxId;
input.checked = lyr.get('visible');
input.indeterminate = lyr.get('indeterminate');
input.onchange = function (e) {
LayerSwitcher.setVisible_(map, lyr, e.target.checked, options.groupSelectStyle);
render(lyr);
};
li.appendChild(input);
label.htmlFor = checkboxId;
label.innerHTML = lyrTitle;
var rsl = map.getView().getResolution();
if (rsl > lyr.getMaxResolution() || rsl < lyr.getMinResolution()) {
label.className += ' disabled';
}
li.appendChild(label);
}
return li;
}
/**
* **Static** Render all layers that are children of a group.
* @private
* @param {ol/Map~Map} map The map instance.
* @param {ol/layer/Group~LayerGroup} lyr Group layer whose children will be rendered.
* @param {Element} elm DOM element that children will be appended to.
*/
}, {
key: 'renderLayers_',
value: function renderLayers_(map, lyr, elm, options, render) {
var lyrs = lyr.getLayers().getArray().slice().reverse();
for (var i = 0, l; i < lyrs.length; i++) {
l = lyrs[i];
if (l.get('title')) {
elm.appendChild(LayerSwitcher.renderLayer_(map, l, i, options, render));
}
}
}
/**
* **Static** Call the supplied function for each layer in the passed layer group
* recursing nested groups.
* @param {ol/layer/Group~LayerGroup} lyr The layer group to start iterating from.
* @param {Function} fn Callback which will be called for each `ol/layer/Base~BaseLayer`
* found under `lyr`. The signature for `fn` is the same as `ol/Collection~Collection#forEach`
*/
}, {
key: 'forEachRecursive',
value: function forEachRecursive(lyr, fn) {
lyr.getLayers().forEach(function (lyr, idx, a) {
fn(lyr, idx, a);
if (lyr.getLayers) {
LayerSwitcher.forEachRecursive(lyr, fn);
}
});
}
/**
* **Static** Generate a UUID
* Adapted from http://stackoverflow.com/a/2117523/526860
* @returns {String} UUID
*/
}, {
key: 'uuid',
value: function uuid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : r & 0x3 | 0x8;
return v.toString(16);
});
}
/**
* @private
* @desc Apply workaround to enable scrolling of overflowing content within an
* element. Adapted from https://gist.github.com/chrismbarr/4107472
*/
}, {
key: 'enableTouchScroll_',
value: function enableTouchScroll_(elm) {
if (LayerSwitcher.isTouchDevice_()) {
var scrollStartPos = 0;
elm.addEventListener("touchstart", function (event) {
scrollStartPos = this.scrollTop + event.touches[0].pageY;
}, false);
elm.addEventListener("touchmove", function (event) {
this.scrollTop = scrollStartPos - event.touches[0].pageY;
}, false);
}
}
/**
* @private
* @desc Determine if the current browser supports touch events. Adapted from
* https://gist.github.com/chrismbarr/4107472
*/
}, {
key: 'isTouchDevice_',
value: function isTouchDevice_() {
try {
document.createEvent("TouchEvent");
return true;
} catch (e) {
return false;
}
}
/**
* Fold/unfold layer group
* @private
*/
}, {
key: 'toggleFold_',
value: function toggleFold_(lyr, li) {
li.classList.remove(CSS_PREFIX + lyr.get('fold'));
lyr.set('fold', lyr.get('fold') === 'open' ? 'close' : 'open');
li.classList.add(CSS_PREFIX + lyr.get('fold'));
}
/**
* If a valid groupSelectStyle value is not provided then return the default
* @private
*/
}, {
key: 'getGroupSelectStyle',
value: function getGroupSelectStyle(groupSelectStyle) {
return ['none', 'children', 'group'].indexOf(groupSelectStyle) >= 0 ? groupSelectStyle : 'children';
}
}]);
return LayerSwitcher;
}(Control);
if (window.ol && window.ol.control) {
window.ol.control.LayerSwitcher = LayerSwitcher;
}
return LayerSwitcher;
})));
+2
Ver Arquivo
@@ -0,0 +1,2 @@
.ol-box{box-sizing:border-box;border-radius:2px;border:2px solid #00f}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:rgba(0,60,136,.3);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid #eee;border-top:none;color:#eee;font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-step-marker{width:1px;height:15px;background-color:#000;float:right;z-Index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:12px;z-Index:11;color:#000;text-shadow:-2px 0 #fff,0 2px #fff,2px 0 #fff,0 -2px #fff}.ol-scale-text{position:absolute;font-size:14px;text-align:center;bottom:25px;color:#000;text-shadow:-2px 0 #fff,0 2px #fff,2px 0 #fff,0 -2px #fff}.ol-scale-singlebar{position:relative;height:10px;z-Index:9;border:1px solid #000}.ol-unsupported{display:none}.ol-unselectable,.ol-viewport{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-overlaycontainer,.ol-overlaycontainer-stopevent{pointer-events:none}.ol-overlaycontainer-stopevent>*,.ol-overlaycontainer>*{pointer-events:auto}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:rgba(255,255,255,.4);border-radius:4px;padding:2px}.ol-control:hover{background-color:rgba(255,255,255,.6)}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:#fff;font-size:1.14em;font-weight:700;text-decoration:none;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:rgba(0,60,136,.5);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-control button span{pointer-events:none}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;font-size:1.2em;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:focus,.ol-control button:hover{text-decoration:none;background-color:rgba(0,60,136,.7)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em)}.ol-attribution ul{margin:0;padding:0 .5em;color:#000;text-shadow:0 0 2px #fff}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button,.ol-attribution ul{display:inline-block}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:rgba(255,255,255,.8)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:inline-block}.ol-overviewmap .ol-overviewmap-map{border:1px solid #7b98bc;height:150px;margin:2px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:1px;left:2px;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:rgba(255,255,255,.8)}.ol-overviewmap-box{border:2px dotted rgba(0,60,136,.7)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}
/*# sourceMappingURL=ol.css.map */
+1
Ver Arquivo
@@ -0,0 +1 @@
{"version":3,"sources":["src/ol/ol.css"],"names":[],"mappings":"AAAA,QACE,WAAY,WACZ,cAAe,IACf,OAAQ,IAAI,MAAM,KAGpB,mBACE,IAAK,IACL,MAAO,IACP,SAAU,SAGZ,eACE,WAAY,kBACZ,cAAe,IACf,OAAQ,IACR,KAAM,IACN,QAAS,IACT,SAAU,SAEZ,qBACE,OAAQ,IAAI,MAAM,KAClB,WAAY,KACZ,MAAO,KACP,UAAW,KACX,WAAY,OACZ,OAAQ,IACR,YAAa,QAAQ,CAAE,MACvB,WAAY,IAAI,KAElB,cACE,SAAU,SACV,OAAQ,IACR,KAAM,IAER,sBACE,MAAO,IACP,OAAQ,KACR,iBAAkB,KAClB,MAAO,MACP,QAAS,GAEX,oBACE,SAAU,SACV,OAAQ,KACR,UAAW,KACX,QAAS,GACT,MAAO,KACP,YAAa,KAAK,EAAE,IAAO,CAAE,EAAE,IAAI,IAAO,CAAE,IAAI,EAAE,IAAO,CAAE,EAAE,KAAK,KAEpE,eACE,SAAU,SACV,UAAW,KACX,WAAY,OACZ,OAAQ,KACR,MAAO,KACP,YAAa,KAAK,EAAE,IAAO,CAAE,EAAE,IAAI,IAAO,CAAE,IAAI,EAAE,IAAO,CAAE,EAAE,KAAK,KAEpE,oBACE,SAAU,SACV,OAAQ,KACR,QAAS,EACT,OAAQ,IAAI,MAAM,KAGpB,gBACE,QAAS,KAEG,iBAAd,aACE,sBAAuB,KACvB,oBAAqB,KACrB,iBAAkB,KAClB,gBAAiB,KACjB,YAAa,KACb,4BAA6B,YAE/B,qBAAsB,+BACpB,eAAgB,KAEQ,iCAA1B,uBACE,eAAgB,KAElB,eACE,sBAAuB,QACvB,oBAAqB,KACrB,iBAAkB,KAClB,gBAAiB,KACjB,YAAa,KAEf,aACE,OAAQ,iBACR,OAAQ,cACR,OAAQ,SAEV,SACE,OAAQ,KACR,OAAQ,aACR,OAAQ,UACR,OAAQ,KAEV,YACE,SAAU,SACV,iBAAkB,qBAClB,cAAe,IACf,QAAS,IAEX,kBACE,iBAAkB,qBAEpB,SACE,IAAK,KACL,KAAM,KAER,WACE,IAAK,KACL,MAAO,KACP,WAAY,QAAQ,KAAK,MAAM,CAAE,WAAW,GAAG,OAEjD,qBACE,QAAS,EACT,WAAY,OACZ,WAAY,QAAQ,KAAK,MAAM,CAAE,WAAW,GAAG,OAAO,KAExD,gBACE,IAAK,QACL,KAAM,KAER,gBACE,MAAO,KACP,IAAK,KAGP,mBACE,QAAS,MACT,OAAQ,IACR,QAAS,EACT,MAAO,KACP,UAAW,OACX,YAAa,IACb,gBAAiB,KACjB,WAAY,OACZ,OAAQ,QACR,MAAO,QACP,YAAa,KACb,iBAAkB,kBAClB,OAAQ,KACR,cAAe,IAEjB,qCACE,OAAQ,KACR,QAAS,EAEX,wBACE,eAAgB,KAElB,uBACE,YAAa,MAEf,YACE,QAAS,MACT,YAAa,IACb,UAAW,MACX,YAAa,UAEf,6BACE,UAAW,MAEb,0BACE,IAAK,MAGP,yBADA,yBAEE,gBAAiB,KACjB,iBAAkB,kBAEpB,qBACE,cAAe,IAAI,IAAI,EAAE,EAE3B,sBACE,cAAe,EAAE,EAAE,IAAI,IAIzB,gBACE,WAAY,MACZ,OAAQ,KACR,MAAO,KACP,UAAW,mBAGb,mBACE,OAAQ,EACR,QAAS,EAAE,KACX,MAAO,KACP,YAAa,EAAE,EAAE,IAAI,KAEvB,mBACE,QAAS,OACT,WAAY,KAEd,0CACE,QAAS,IAEX,oBACE,WAAY,IACZ,UAAW,QACX,eAAgB,OAEE,uBAApB,mBACE,QAAS,aAEX,gCACE,QAAS,KAEX,mCACE,WAAY,qBAEd,iCACE,OAAQ,EACR,MAAO,EACP,cAAe,IAAI,EAAE,EAEvB,qCACE,WAAY,MACZ,WAAY,MAEd,wCACE,QAAS,KAGX,eACE,IAAK,MACL,KAAM,KACN,OAAQ,MAEV,sBACE,SAAU,SACV,OAAQ,KAGV,yBACE,IAAK,MAGP,gBACE,KAAM,KACN,OAAQ,KAEV,iCACE,OAAQ,EACR,KAAM,EACN,cAAe,EAAE,IAAI,EAAE,EAEzB,oCACA,uBACE,QAAS,aAEX,oCACE,OAAQ,IAAI,MAAM,QAClB,OAAQ,MACR,OAAQ,IACR,MAAO,MAET,0CACE,OAAQ,IACR,KAAM,IACN,SAAU,SAEZ,iDACA,wCACE,QAAS,KAEX,mCACE,WAAY,qBAEd,oBACE,OAAQ,IAAI,OAAO,kBAGrB,0CACE,OAAQ"}
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
@@ -0,0 +1,152 @@
function hasClass(el, cls) {
return el.className && new RegExp('(\\s|^)' +
cls + '(\\s|$)').test(el.className);
}
function addClass(elem, className) {
if (!hasClass(elem, className)) {
elem.className += ' ' + className;
}
}
function removeClass(elem, className) {
var newClass = ' ' + elem.className.replace(/[\t\r\n]/g, ' ') + ' ';
if (hasClass(elem, className)) {
while (newClass.indexOf(' ' + className + ' ') >= 0) {
newClass = newClass.replace(' ' + className + ' ', ' ');
}
elem.className = newClass.replace(/^\s+|\s+$/g, '');
}
}
var SearchLayer = (function (Control) {
function SearchLayer(optOptions) {
var horseyComponent;
var select;
var options = optOptions || {};
if (optOptions.layer) {
options.layer = optOptions.layer;
} else {
throw new Error('error');
}
options.map = optOptions.map;
var source;
if (options.layer instanceof ol.layer.Image &&
options.layer.getSource() instanceof ol.source.ImageVector) {
source = options.layer.getSource().getSource();
} else if (options.layer instanceof ol.layer.Vector) {
source = options.layer.getSource();
}
options.colName = optOptions.colName;
var button = document.createElement('button');
var toogleHideShowInput = function() {
var input = document.querySelector('form > .search-layer-input-search');
if (hasClass(input, 'search-layer-collapsed')) {
removeClass(input, 'search-layer-collapsed');
} else {
input.value = '';
addClass(input, 'search-layer-collapsed');
horseyComponent.hide();
select.getFeatures().clear();
}
};
button.addEventListener('click', toogleHideShowInput, false);
button.addEventListener('touchstart', toogleHideShowInput, false);
var form = document.createElement('form');
form.setAttribute('id', 'random');
form.onsubmit = undefined;
// form.setAttribute('action', 'javascript:void(0);');
var input = document.createElement('input');
input.setAttribute('id', 'ol-search-input');
var defaultInputClass = ['search-layer-input-search'];
if (optOptions.collapsed) {
defaultInputClass.push('search-layer-collapsed');
}
input.setAttribute('class', defaultInputClass.join(' '));
input.setAttribute('placeholder', 'Search ...');
input.setAttribute('type', 'text');
form.appendChild(input);
var element = document.createElement('div');
element.className = 'search-layer ol-unselectable ol-control';
element.appendChild(button);
element.appendChild(form);
ol.control.Control.call(this, {
element: element,
target: options.target
});
select = new ol.interaction.Select({
id: options.selectId || 'defaultSearchLayer',
layers: [options.layer],
condition: ol.events.condition.never
});
var map = options.map;
map.addInteraction(select);
var typesToZoomToExtent = [
'MultiPoint',
'LineString',
'MultiLineString',
'MultiPolygon',
'Polygon'
];
var typesToZoomToCenterAndZoom = [
'Point'
];
var returnHorsey = function(input, source, map, select, options) {
horsey(input, {
source: [{
list: source.getFeatures().map(function(el, i) {
if (el.getId() === undefined) {
el.setId(i);
}
return {
text: el.get(options.colName),
value: el.getId() // If GeoJSON has an id
};
})
}],
getText: 'text',
getValue: 'value',
predictNextSearch: function(info) {
var feat = source.getFeatureById(info.selection.value);
var featType = feat.getGeometry().getType();
if (typesToZoomToCenterAndZoom.indexOf(featType) !== -1) {
var newCenter = ol.extent.getCenter(feat.getGeometry().getExtent());
map.getView().setCenter(newCenter);
map.getView().setZoom(options.zoom || 12);
} else if (typesToZoomToExtent.indexOf(featType) !== -1) {
map.getView().fit(feat.getGeometry().getExtent(), map.getSize());
}
select.getFeatures().clear();
select.getFeatures().push(feat);
}
});
}
if (source.getState() === 'ready') {
horseyComponent = returnHorsey(input, source, map, select, options);
}
source.once('change', function(e) {
if (source.getState() === 'ready') {
horseyComponent = returnHorsey(input, source, map, select, options);
}
});
};
if (Control) SearchLayer.__proto__ = Control;
SearchLayer.prototype = Object.create(Control && Control.prototype);
SearchLayer.prototype.constructor = SearchLayer;
return SearchLayer;
}(ol.control.Control));
@@ -0,0 +1 @@
.search-layer{top:65px;left:.5em}.ol-touch .search-layer{top:80px}.search-layer button{background-repeat:no-repeat;background-position:center center;top:2px;left:2px}.search-layer-input-search{position:absolute;top:2px;left:32px;width:180px;padding:5px;border:1px solid #ccc;font-family:inherit;font-size:.875rem}.search-layer-collapsed{display:none}
+78
Ver Arquivo
@@ -0,0 +1,78 @@
if (!Function.prototype.bind) {
Function.prototype.bind = function(oThis) {
if (typeof this !== 'function') {
// closest thing possible to the ECMAScript 5
// internal IsCallable function
throw new TypeError('Function#bind - not callable');
}
var aArgs = Array.prototype.slice.call(arguments, 1),
fToBind = this,
fNOP = function() {},
fBound = function() {
return fToBind.apply(this instanceof fNOP
? this
: oThis,
aArgs.concat(Array.prototype.slice.call(arguments)));
};
if (this.prototype) {
// native functions don't have a prototype
fNOP.prototype = this.prototype;
}
fBound.prototype = new fNOP();
return fBound;
};
}
/**
* requestAnimationFrame polyfill v1.0.0
* requires Date.now
*
* © Polyfiller 2015
* Released under the MIT license
* github.com/Polyfiller/requestAnimationFrame
*/
window.requestAnimationFrame || function (window) {
'use strict';
window.requestAnimationFrame = window.msRequestAnimationFrame
|| window.mozRequestAnimationFrame
|| window.webkitRequestAnimationFrame
|| function () {
var fps = 60;
var delay = 1000 / fps;
var animationStartTime = Date.now();
var previousCallTime = animationStartTime;
return function requestAnimationFrame(callback) {
var requestTime = Date.now();
var timeout = Math.max(0, delay - (requestTime - previousCallTime));
var timeToCall = requestTime + timeout;
previousCallTime = timeToCall;
return window.setTimeout(function onAnimationFrame() {
callback(timeToCall - animationStartTime);
}, timeout);
};
}();
window.cancelAnimationFrame = window.mozCancelAnimationFrame
|| window.webkitCancelAnimationFrame
|| window.cancelRequestAnimationFrame
|| window.msCancelRequestAnimationFrame
|| window.mozCancelRequestAnimationFrame
|| window.webkitCancelRequestAnimationFrame
|| function cancelAnimationFrame(id) {
window.clearTimeout(id);
};
}(this);
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
+78
Ver Arquivo
@@ -0,0 +1,78 @@
html, body {
height: 100%;
padding: 0;
margin: 0;
font-family: sans-serif;
font-size: small;
}
th, td {
vertical-align: top;
text-align: left;
}
#map {
width: 100%;
height: 100%;
}
.ol-popup {
display: none;
position: absolute;
background-color: white;
-moz-box-shadow: 0 1px 4px rgba(0,0,0,0.2);
-webkit-filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
padding: 15px;
border-radius: 10px;
border: 1px solid #cccccc;
bottom: 12px;
left: -50px;
height: auto;
width: auto;
min-width: 100px;
max-height:400px;
overflow: auto;
}
.ol-popup-closer {
text-decoration: none;
position: absolute;
top: 2px;
right: 8px;
}
.ol-popup-closer:after {
content: "X";
}
.ol-attribution a {
text-decoration: none;
color: #666;
font-family: sans-serif;
font-size: 100%;
}
.layer-switcher .panel {
//border: 4px solid rgba(0,60,136,.5) !important;
//border-radius: 4px !important;
}
.layer-switcher {
top: 0.5em;
right: 0.5em;
text-align: left;
}
#popup-content>ul>li:nth-child(even) {
background-color: #eee;
}
#popup-content ul {
list-style-type: none;
padding-left: 0;
}
#popup-content li {
margin-bottom:0.25em;
}
+373
Ver Arquivo
@@ -0,0 +1,373 @@
var container = document.getElementById('popup');
var content = document.getElementById('popup-content');
var closer = document.getElementById('popup-closer');
var sketch;
closer.onclick = function() {
container.style.display = 'none';
closer.blur();
return false;
};
var overlayPopup = new ol.Overlay({
element: container
});
var expandedAttribution = new ol.control.Attribution({
collapsible: false
});
var map = new ol.Map({
controls: ol.control.defaults({attribution:false}).extend([
expandedAttribution
]),
target: document.getElementById('map'),
renderer: 'canvas',
overlays: [overlayPopup],
layers: layersList,
view: new ol.View({
maxZoom: 28, minZoom: 1
})
});
var layerSwitcher = new ol.control.LayerSwitcher({tipLabel: "Layers"});
map.addControl(layerSwitcher);
layerSwitcher.hidePanel = function() {};
layerSwitcher.showPanel();
map.getView().fit([-5909061.403555, -3014620.642764, -5899867.325848, -3004998.250310], map.getSize());
var NO_POPUP = 0
var ALL_FIELDS = 1
/**
* Returns either NO_POPUP, ALL_FIELDS or the name of a single field to use for
* a given layer
* @param layerList {Array} List of ol.Layer instances
* @param layer {ol.Layer} Layer to find field info about
*/
function getPopupFields(layerList, layer) {
// Determine the index that the layer will have in the popupLayers Array,
// if the layersList contains more items than popupLayers then we need to
// adjust the index to take into account the base maps group
var idx = layersList.indexOf(layer) - (layersList.length - popupLayers.length);
return popupLayers[idx];
}
var collection = new ol.Collection();
var featureOverlay = new ol.layer.Vector({
map: map,
source: new ol.source.Vector({
features: collection,
useSpatialIndex: false // optional, might improve performance
}),
style: [new ol.style.Style({
stroke: new ol.style.Stroke({
color: '#f00',
width: 1
}),
fill: new ol.style.Fill({
color: 'rgba(255,0,0,0.1)'
}),
})],
updateWhileAnimating: true, // optional, for instant visual feedback
updateWhileInteracting: true // optional, for instant visual feedback
});
var doHighlight = false;
var doHover = false;
var highlight;
var autolinker = new Autolinker({truncate: {length: 30, location: 'smart'}});
var onPointerMove = function(evt) {
if (!doHover && !doHighlight) {
return;
}
var pixel = map.getEventPixel(evt.originalEvent);
var coord = evt.coordinate;
var popupField;
var currentFeature;
var currentLayer;
var currentFeatureKeys;
var clusteredFeatures;
var popupText = '<ul>';
map.forEachFeatureAtPixel(pixel, function(feature, layer) {
// We only care about features from layers in the layersList, ignore
// any other layers which the map might contain such as the vector
// layer used by the measure tool
if (layersList.indexOf(layer) === -1) {
return;
}
var doPopup = false;
for (k in layer.get('fieldImages')) {
if (layer.get('fieldImages')[k] != "Hidden") {
doPopup = true;
}
}
currentFeature = feature;
currentLayer = layer;
clusteredFeatures = feature.get("features");
var clusterFeature;
if (typeof clusteredFeatures !== "undefined") {
if (doPopup) {
for(var n=0; n<clusteredFeatures.length; n++) {
clusterFeature = clusteredFeatures[n];
currentFeatureKeys = clusterFeature.getKeys();
popupText += '<li><table>'
for (var i=0; i<currentFeatureKeys.length; i++) {
if (currentFeatureKeys[i] != 'geometry') {
popupField = '';
if (layer.get('fieldLabels')[currentFeatureKeys[i]] == "inline label") {
popupField += '<th>' + layer.get('fieldAliases')[currentFeatureKeys[i]] + ':</th><td>';
} else {
popupField += '<td colspan="2">';
}
if (layer.get('fieldLabels')[currentFeatureKeys[i]] == "header label") {
popupField += '<strong>' + layer.get('fieldAliases')[currentFeatureKeys[i]] + ':</strong><br />';
}
if (layer.get('fieldImages')[currentFeatureKeys[i]] != "ExternalResource") {
popupField += (clusterFeature.get(currentFeatureKeys[i]) != null ? autolinker.link(clusterFeature.get(currentFeatureKeys[i]).toLocaleString()) + '</td>' : '');
} else {
popupField += (clusterFeature.get(currentFeatureKeys[i]) != null ? '<img src="images/' + clusterFeature.get(currentFeatureKeys[i]).replace(/[\\\/:]/g, '_').trim() + '" /></td>' : '');
}
popupText += '<tr>' + popupField + '</tr>';
}
}
popupText += '</table></li>';
}
}
} else {
currentFeatureKeys = currentFeature.getKeys();
if (doPopup) {
popupText += '<li><table>';
for (var i=0; i<currentFeatureKeys.length; i++) {
if (currentFeatureKeys[i] != 'geometry') {
popupField = '';
if (layer.get('fieldLabels')[currentFeatureKeys[i]] == "inline label") {
popupField += '<th>' + layer.get('fieldAliases')[currentFeatureKeys[i]] + ':</th><td>';
} else {
popupField += '<td colspan="2">';
}
if (layer.get('fieldLabels')[currentFeatureKeys[i]] == "header label") {
popupField += '<strong>' + layer.get('fieldAliases')[currentFeatureKeys[i]] + ':</strong><br />';
}
if (layer.get('fieldImages')[currentFeatureKeys[i]] != "ExternalResource") {
popupField += (currentFeature.get(currentFeatureKeys[i]) != null ? autolinker.link(currentFeature.get(currentFeatureKeys[i]).toLocaleString()) + '</td>' : '');
} else {
popupField += (currentFeature.get(currentFeatureKeys[i]) != null ? '<img src="images/' + currentFeature.get(currentFeatureKeys[i]).replace(/[\\\/:]/g, '_').trim() + '" /></td>' : '');
}
popupText += '<tr>' + popupField + '</tr>';
}
}
popupText += '</table></li>';
}
}
});
if (popupText == '<ul>') {
popupText = '';
} else {
popupText += '</ul>';
}
if (doHighlight) {
if (currentFeature !== highlight) {
if (highlight) {
featureOverlay.getSource().removeFeature(highlight);
}
if (currentFeature) {
var styleDefinition = currentLayer.getStyle().toString();
if (currentFeature.getGeometry().getType() == 'Point') {
var radius = styleDefinition.split('radius')[1].split(' ')[1];
highlightStyle = new ol.style.Style({
image: new ol.style.Circle({
fill: new ol.style.Fill({
color: "#ffff00"
}),
radius: radius
})
})
} else if (currentFeature.getGeometry().getType() == 'LineString') {
var featureWidth = styleDefinition.split('width')[1].split(' ')[1].replace('})','');
highlightStyle = new ol.style.Style({
stroke: new ol.style.Stroke({
color: '#ffff00',
lineDash: null,
width: featureWidth
})
});
} else {
highlightStyle = new ol.style.Style({
fill: new ol.style.Fill({
color: '#ffff00'
})
})
}
featureOverlay.getSource().addFeature(currentFeature);
featureOverlay.setStyle(highlightStyle);
}
highlight = currentFeature;
}
}
if (doHover) {
if (popupText) {
overlayPopup.setPosition(coord);
content.innerHTML = popupText;
container.style.display = 'block';
} else {
container.style.display = 'none';
closer.blur();
}
}
};
var onSingleClick = function(evt) {
if (doHover) {
return;
}
if (sketch) {
return;
}
var pixel = map.getEventPixel(evt.originalEvent);
var coord = evt.coordinate;
var popupField;
var currentFeature;
var currentFeatureKeys;
var clusteredFeatures;
var popupText = '<ul>';
map.forEachFeatureAtPixel(pixel, function(feature, layer) {
if (feature instanceof ol.Feature && (layer.get("interactive") || layer.get("interactive") == undefined)) {
var doPopup = false;
for (k in layer.get('fieldImages')) {
if (layer.get('fieldImages')[k] != "Hidden") {
doPopup = true;
}
}
currentFeature = feature;
clusteredFeatures = feature.get("features");
var clusterFeature;
if (typeof clusteredFeatures !== "undefined") {
if (doPopup) {
for(var n=0; n<clusteredFeatures.length; n++) {
clusterFeature = clusteredFeatures[n];
currentFeatureKeys = clusterFeature.getKeys();
popupText += '<li><table>'
for (var i=0; i<currentFeatureKeys.length; i++) {
if (currentFeatureKeys[i] != 'geometry') {
popupField = '';
if (layer.get('fieldLabels')[currentFeatureKeys[i]] == "inline label") {
popupField += '<th>' + layer.get('fieldAliases')[currentFeatureKeys[i]] + ':</th><td>';
} else {
popupField += '<td colspan="2">';
}
if (layer.get('fieldLabels')[currentFeatureKeys[i]] == "header label") {
popupField += '<strong>' + layer.get('fieldAliases')[currentFeatureKeys[i]] + ':</strong><br />';
}
if (layer.get('fieldImages')[currentFeatureKeys[i]] != "ExternalResource") {
popupField += (clusterFeature.get(currentFeatureKeys[i]) != null ? autolinker.link(clusterFeature.get(currentFeatureKeys[i]).toLocaleString()) + '</td>' : '');
} else {
popupField += (clusterFeature.get(currentFeatureKeys[i]) != null ? '<img src="images/' + clusterFeature.get(currentFeatureKeys[i]).replace(/[\\\/:]/g, '_').trim() + '" /></td>' : '');
}
popupText += '<tr>' + popupField + '</tr>';
}
}
popupText += '</table></li>';
}
}
} else {
currentFeatureKeys = currentFeature.getKeys();
if (doPopup) {
popupText += '<li><table>';
for (var i=0; i<currentFeatureKeys.length; i++) {
if (currentFeatureKeys[i] != 'geometry') {
popupField = '';
if (layer.get('fieldLabels')[currentFeatureKeys[i]] == "inline label") {
popupField += '<th>' + layer.get('fieldAliases')[currentFeatureKeys[i]] + ':</th><td>';
} else {
popupField += '<td colspan="2">';
}
if (layer.get('fieldLabels')[currentFeatureKeys[i]] == "header label") {
popupField += '<strong>' + layer.get('fieldAliases')[currentFeatureKeys[i]] + ':</strong><br />';
}
if (layer.get('fieldImages')[currentFeatureKeys[i]] != "ExternalResource") {
popupField += (currentFeature.get(currentFeatureKeys[i]) != null ? autolinker.link(currentFeature.get(currentFeatureKeys[i]).toLocaleString()) + '</td>' : '');
} else {
popupField += (currentFeature.get(currentFeatureKeys[i]) != null ? '<img src="images/' + currentFeature.get(currentFeatureKeys[i]).replace(/[\\\/:]/g, '_').trim() + '" /></td>' : '');
}
popupText += '<tr>' + popupField + '</tr>';
}
}
popupText += '</table>';
}
}
}
});
if (popupText == '<ul>') {
popupText = '';
} else {
popupText += '</ul>';
}
var viewProjection = map.getView().getProjection();
var viewResolution = map.getView().getResolution();
for (i = 0; i < wms_layers.length; i++) {
if (wms_layers[i][1]) {
var url = wms_layers[i][0].getSource().getGetFeatureInfoUrl(
evt.coordinate, viewResolution, viewProjection,
{
'INFO_FORMAT': 'text/html',
});
if (url) {
popupText = popupText + '<iframe style="width:100%;height:110px;border:0px;" id="iframe" seamless src="' + url + '"></iframe>';
}
}
}
if (popupText) {
overlayPopup.setPosition(coord);
content.innerHTML = popupText;
container.style.display = 'block';
} else {
container.style.display = 'none';
closer.blur();
}
};
map.on('pointermove', function(evt) {
onPointerMove(evt);
});
map.on('singleclick', function(evt) {
onSingleClick(evt);
});
var attributionComplete = false;
map.on("rendercomplete", function(evt) {
if (!attributionComplete) {
var attribution = document.getElementsByClassName('ol-attribution')[0];
var attributionList = attribution.getElementsByTagName('ul')[0];
var firstLayerAttribution = attributionList.getElementsByTagName('li')[0];
var qgis2webAttribution = document.createElement('li');
qgis2webAttribution.innerHTML = '<a href="https://github.com/tomchadwin/qgis2web">qgis2web</a> &middot; ';
var olAttribution = document.createElement('li');
olAttribution.innerHTML = '<a href="https://openlayers.org/">OpenLayers</a> &middot; ';
var qgisAttribution = document.createElement('li');
qgisAttribution.innerHTML = '<a href="https://qgis.org/">QGIS</a>';
attributionList.insertBefore(qgis2webAttribution, firstLayerAttribution);
attributionList.insertBefore(olAttribution, firstLayerAttribution);
attributionList.insertBefore(qgisAttribution, firstLayerAttribution);
attributionComplete = true;
}
})
@@ -0,0 +1,765 @@
// Aggregates
// Color
// Conditionals
// Conversions
// Custom
// Date and Time
// Fields and Values
// Fuzzy Matching
// General
// Geometry
function fnc_azimuth(values, context) {
return false;
};
function fnc_project(values, context) {
return false;
};
// Math
function fnc_abs(values, context) {
return Math.abs(values[0]);
};
function fnc_degrees(values, context) {
return values[0] * (180/Math.PI);
};
function fnc_radians(values, context) {
return values[0] * (Math.PI/180);
};
function fnc_sqrt(values, context) {
return Math.sqrt(values[0]);
};
function fnc_cos(values, context) {
return Math.cos(values[0]);
};
function fnc_sin(values, context) {
return Math.sin(values[0]);
};
function fnc_tan(values, context) {
return Math.tan(values[0]);
};
function fnc_asin(values, context) {
return Math.asin(values[0]);
};
function fnc_acos(values, context) {
return Math.acos(values[0]);
};
function fnc_atan(values, context) {
return Math.atan(values[0]);
};
function fnc_atan2(values, context) {
return Math.atan2(values[0]);
};
function fnc_exp(values, context) {
return Math.exp(values[0]);
};
function fnc_ln(values, context) {
return Math.log(values[0]);
};
function fnc_log10(values, context) {
return Math.LN10(values[0]);
};
function fnc_log(values, context) {
return Math.log(values[0]) / Math.log(values[1]);
};
function fnc_round(values, context) {
return Math.round(values[0]);
};
function fnc_rand(values, context) {
return Math.floor(Math.random()*(values[1]-values[0]+1)+values[0]);
};
function fnc_randf(values, context) {
return Math.random()*(values[1]-values[0]+1)+values[0];
};
function fnc_max(values, context) {
return Math.max.apply(this, values);
};
function fnc_min(values, context) {
return Math.min.apply(this, values);
};
function fnc_clamp(values, context) {
return Math.min(Math.max(values[0],values[1]),values[2]);
};
// Operators
// Record
// String
// TimeManager
// Variables
function fnc_scale_linear(values, context) {
return false;
};
function fnc_scale_exp(values, context) {
return false;
};
function fnc_floor(values, context) {
return Math.floor(values[0]);
};
function fnc_ceil(values, context) {
return Math.ceil(values[0]);
};
function fnc_pi(values, context) {
return Math.PI;
};
function fnc_to_int(values, context) {
var intVal = parseInt(values[0],10);
if ( isNaN(intVal) ) { return false };
return intVal;
};
function fnc_to_real(values, context) {
var realVal = parseFloat(values[0]);
if ( isNaN(realVal) ) { return false };
return realVal;
};
function fnc_to_string(values, context) {
return String(values[0]);
};
function fnc_to_datetime(values, context) {
return false;
};
function fnc_to_date(values, context) {
return false;
};
function fnc_to_time(values, context) {
return false;
};
function fnc_to_interval(values, context) {
return false;
};
function fnc_coalesce(values, context) {
return false;
};
function fnc_if(values, context) {
return false;
};
function fnc_aggregate(values, context) {
return false;
};
function fnc_relation_aggregate(values, context) {
return false;
};
function fnc_count(values, context) {
return false;
};
function fnc_count_distinct(values, context) {
return false;
};
function fnc_count_missing(values, context) {
return false;
};
function fnc_minimum(values, context) {
return false;
};
function fnc_maximum(values, context) {
return false;
};
function fnc_sum(values, context) {
return false;
};
function fnc_mean(values, context) {
return false;
};
function fnc_median(values, context) {
return false;
};
function fnc_stdev(values, context) {
return false;
};
function fnc_range(values, context) {
return false;
};
function fnc_minority(values, context) {
return false;
};
function fnc_majority(values, context) {
return false;
};
function fnc_q1(values, context) {
return false;
};
function fnc_q3(values, context) {
return false;
};
function fnc_iqr(values, context) {
return false;
};
function fnc_min_length(values, context) {
return false;
};
function fnc_max_length(values, context) {
return false;
};
function fnc_concatenate(values, context) {
return false;
};
function fnc_regexp_match(values, context) {
return false;
};
function fnc_now(values, context) {
return new Date().toISOString();
};
function fnc_age(values, context) {
return false;
};
function fnc_year(values, context) {
return false;
};
function fnc_month(values, context) {
return false;
};
function fnc_week(values, context) {
return false;
};
function fnc_day(values, context) {
return false;
};
function fnc_hour(values, context) {
return false;
};
function fnc_minute(values, context) {
return false;
};
function fnc_second(values, context) {
return false;
};
function fnc_day_of_week(values, context) {
return false;
};
function fnc_lower(values, context) {
if ( typeof values[0] != "string" ) { return false; }
return values[0].toLowerCase();
};
function fnc_upper(values, context) {
if ( typeof values[0] != "string" ) { return false; }
return values[0].toUpperCase();
};
function fnc_title(values, context) {
if ( typeof values[0] != "string" ) { return false; }
return values[0].toLowerCase().split(' ').map(function(word) {
return (word.charAt(0).toUpperCase() + word.slice(1));
}).join(' ');
};
function fnc_trim(values, context) {
if ( typeof values[0] != "string" ) { return false; }
return String(values[0]).trim();
};
function fnc_levenshtein(values, context) {
return false;
};
function fnc_longest_common_substring(values, context) {
return false;
};
function fnc_hamming_distance(values, context) {
return false;
};
function fnc_soundex(values, context) {
return false;
};
function fnc_char(values, context) {
if ( isNaN(values[0]) || !values[0]) { return null; } return String.fromCodePoint(values[0]);
};
function fnc_wordwrap(values, context) {
return false;
};
function fnc_length(values, context) {
return false;
};
function fnc_replace(values, context) {
return false;
};
function fnc_regexp_replace(values, context) {
if ( !values[0] ) { return null; } return String(values[0]).replace(RegExp(values[1]),values[2]);
};
function fnc_regexp_substr(values, context) {
if ( !values[0] ) { return null; }
return String(values[0]).match(RegExp(values[1]))[0];
};
function fnc_substr(values, context) {
var length = values[2]
if ( !values[0] || isNaN(values[1])) { return false; }
return String(values[0]).substr(values[1], length);
};
function fnc_concat(values, context) {
return values.join('');
};
function fnc_strpos(values, context) {
if (!values[0] || !values[1]) {return null}
return String(values[0]).indexOf(String(values[1]))+1;
};
function fnc_left(values, context) {
return false;
};
function fnc_right(values, context) {
return false;
};
function fnc_rpad(values, context) {
return false;
};
function fnc_lpad(values, context) {
return false;
};
function fnc_format(values, context) {
return false;
};
function fnc_format_number(values, context) {
return false;
};
function fnc_format_date(values, context) {
return false;
};
function fnc_color_rgb(values, context) {
return false;
};
function fnc_color_rgba(values, context) {
return false;
};
function fnc_ramp_color(values, context) {
return false;
};
function fnc_color_hsl(values, context) {
return false;
};
function fnc_color_hsla(values, context) {
return false;
};
function fnc_color_hsv(values, context) {
return false;
};
function fnc_color_hsva(values, context) {
return false;
};
function fnc_color_cmyk(values, context) {
return false;
};
function fnc_color_cmyka(values, context) {
return false;
};
function fnc_color_part(values, context) {
return false;
};
function fnc_darker(values, context) {
return false;
};
function fnc_lighter(values, context) {
return false;
};
function fnc_set_color_part(values, context) {
return false;
};
function fnc_area(values, context) {
return false;
};
function fnc_perimeter(values, context) {
return false;
};
function fnc_x(values, context) {
return false;
};
function fnc_y(values, context) {
return false;
};
function fnc_z(values, context) {
return false;
};
function fnc_m(values, context) {
return false;
};
function fnc_point_n(values, context) {
return false;
};
function fnc_start_point(values, context) {
return false;
};
function fnc_end_point(values, context) {
return false;
};
function fnc_nodes_to_points(values, context) {
return false;
};
function fnc_segments_to_lines(values, context) {
return false;
};
function fnc_make_point(values, context) {
return false;
};
function fnc_make_point_m(values, context) {
return false;
};
function fnc_make_line(values, context) {
return false;
};
function fnc_make_polygon(values, context) {
return false;
};
function fnc_x_min(values, context) {
return false;
};
function fnc_x_max(values, context) {
return false;
};
function fnc_y_min(values, context) {
return false;
};
function fnc_y_max(values, context) {
return false;
};
function fnc_geom_from_wkt(values, context) {
return false;
};
function fnc_geom_from_gml(values, context) {
return false;
};
function fnc_relate(values, context) {
return false;
};
function fnc_intersects_bbox(values, context) {
return false;
};
function fnc_disjoint(values, context) {
return false;
};
function fnc_intersects(values, context) {
return false;
};
function fnc_touches(values, context) {
return false;
};
function fnc_crosses(values, context) {
return false;
};
function fnc_contains(values, context) {
return false;
};
function fnc_overlaps(values, context) {
return false;
};
function fnc_within(values, context) {
return false;
};
function fnc_translate(values, context) {
return false;
};
function fnc_buffer(values, context) {
return false;
};
function fnc_centroid(values, context) {
return false;
};
function fnc_point_on_surface(values, context) {
return false;
};
function fnc_reverse(values, context) {
return false;
};
function fnc_exterior_ring(values, context) {
return false;
};
function fnc_interior_ring_n(values, context) {
return false;
};
function fnc_geometry_n(values, context) {
return false;
};
function fnc_boundary(values, context) {
return false;
};
function fnc_line_merge(values, context) {
return false;
};
function fnc_bounds(values, context) {
return false;
};
function fnc_num_points(values, context) {
return false;
};
function fnc_num_interior_rings(values, context) {
return false;
};
function fnc_num_rings(values, context) {
return false;
};
function fnc_num_geometries(values, context) {
return false;
};
function fnc_bounds_width(values, context) {
return false;
};
function fnc_bounds_height(values, context) {
return false;
};
function fnc_is_closed(values, context) {
return false;
};
function fnc_convex_hull(values, context) {
return false;
};
function fnc_difference(values, context) {
return false;
};
function fnc_distance(values, context) {
return false;
};
function fnc_intersection(values, context) {
return false;
};
function fnc_sym_difference(values, context) {
return false;
};
function fnc_combine(values, context) {
return false;
};
function fnc_union(values, context) {
return false;
};
function fnc_geom_to_wkt(values, context) {
return false;
};
function fnc_geometry(values, context) {
return false;
};
function fnc_transform(values, context) {
return false;
};
function fnc_extrude(values, context) {
return false;
};
function fnc_order_parts(values, context) {
return false;
};
function fnc_closest_point(values, context) {
return false;
};
function fnc_shortest_line(values, context) {
return false;
};
function fnc_line_interpolate_point(values, context) {
return false;
};
function fnc_line_interpolate_angle(values, context) {
return false;
};
function fnc_line_locate_point(values, context) {
return false;
};
function fnc_angle_at_vertex(values, context) {
return false;
};
function fnc_distance_to_vertex(values, context) {
return false;
};
function fnc_uuid(values, context) {
return false;
};
function fnc_get_feature(values, context) {
return false;
};
function fnc_layer_property(values, context) {
return false;
};
function fnc_var(values, context) {
return false;
};
function fnc_eval(values, context) {
return false;
};
function fnc_attribute(values, context) {
return false;
};
function fnc__specialcol_(values, context) {
return false;
};
function fnc_project_color(values, context) {
return false;
};
+725
Ver Arquivo
@@ -0,0 +1,725 @@
@charset "UTF-8";
/*
| tail.datetime - The vanilla way to select dates and times!
| @file ./less/tail.datetime-harx-light.less
| @author SamBrishes <sam@pytes.net>
| @version 0.4.14 - Beta
|
| @website https://github.com/pytesNET/tail.DateTime
| @license X11 / MIT License
| @copyright Copyright © 2018 - 2019 SamBrishes, pytesNET <info@pytes.net>
*/
/* @start MAIN CALENDAR */
.tail-datetime-calendar, .tail-datetime-calendar *, .tail-datetime-calendar *:before,
.tail-datetime-calendar *:after{
box-sizing: border-box;
-webkit-box-sizing: border-box;
}
.tail-datetime-calendar{
top: 0;
left: 0;
width: 360px;
height: auto;
margin: 15px;
padding: 0;
z-index: 3000;
display: block;
position: absolute;
visibility: hidden;
direction: ltr;
border-collapse: separate;
font-family: "Open Sans", Calibri, Arial, sans-serif;
background-color: white;
border-width: 0;
border-style: solid;
border-color: transparent;
border-radius: 3px;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 2px 1px rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 2px 1px rgba(0, 0, 0, 0.1);
}
.tail-datetime-calendar:after{
clear: both;
content: "";
display: block;
font-size: 0;
visibility: hidden;
}
.tail-datetime-calendar.calendar-static{
top: auto;
left: auto;
margin-left: auto;
margin-right: auto;
position: static;
visibility: visible;
}
.tail-datetime-calendar button.calendar-close{
top: 100%;
right: 15px;
color: #303438;
width: 35px;
height: 25px;
margin: 1px 0 0 0;
padding: 5px 10px;
opacity: 0.5;
display: inline-block;
position: absolute;
font-size: 14px;
line-height: 1.125em;
text-shadow: none;
border: 0;
outline: none;
background-color: white;
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z\
dmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij48cGF0aCBmaWxsPSIjMzAzNDM4IiB\
kPSJNNy40OCA4bDMuNzUgMy43NS0xLjQ4IDEuNDhMNiA5LjQ4bC0zLjc1IDMuNzUtMS40OC0xLjQ4TDQuNTIgOCAuNz\
cgNC4yNWwxLjQ4LTEuNDhMNiA2LjUybDMuNzUtMy43NSAxLjQ4IDEuNDhMNy40OCA4eiIvPjwvc3ZnPg==");
background-repeat: no-repeat;
background-position: center center;
border-width: 0;
border-style: solid;
border-color: transparent;
border-radius: 0 0 3px 3px;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 2px 1px rgba(0, 0, 0, 0.1);
-webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 1px 2px 1px rgba(0, 0, 0, 0.1);
transition: opacity 142ms linear;
-webkit-transition: opacity 142ms linear;
}
.tail-datetime-calendar button.calendar-close:hover{
opacity: 1;
}
/* @end MAIN CALENDAR */
/* @start CALENDAR TOOLTIP */
.tail-datetime-calendar .calendar-tooltip{
color: white;
width: auto;
margin: 0;
padding: 0;
display: block;
position: absolute;
background-color: #303438;
border-radius: 3px;
}
.tail-datetime-calendar .calendar-tooltip:before{
top: -7px;
left: 50%;
width: 0;
height: 0;
margin: 0 0 0 -6px;
content: "";
display: block;
position: absolute;
border-width: 0 7px 7px 7px;
border-style: solid;
border-color: transparent transparent #303438 transparent;
}
.tail-datetime-calendar .calendar-tooltip .tooltip-inner{
width: auto;
margin: 0;
padding: 4px 7px;
display: block;
font-size: 12px;
line-height: 14px;
}
/* @end CALENDAR TOOLTIP */
/* @start CALENDAR ACTIONs */
.tail-datetime-calendar .calendar-actions{
color: #303438;
width: 100%;
height: 36px;
margin: 0;
padding: 0;
display: table;
overflow: hidden;
border-spacing: 0;
border-collapse: separate;
background-color: white;
border-width: 0;
border-style: solid;
border-color: transparent;
border-radius: 3px 3px 0 0;
}
.tail-datetime-calendar .calendar-actions span{
margin: 0;
padding: 0;
opacity: 0.5;
display: table-cell;
position: relative;
text-align: center;
line-height: 40px;
text-shadow: none;
background-repeat: no-repeat;
background-position: center center;
transition: opacity 142ms linear, background 142ms linear;
-webkit-transition: opacity 142ms linear, background 142ms linear;
}
.tail-datetime-calendar .calendar-actions span[data-action]{
cursor: pointer;
}
.tail-datetime-calendar .calendar-actions span.action{
width: 50px;
font-size: 22px;
}
.tail-datetime-calendar .calendar-actions span.label{
width: auto;
opacity: 1;
font-size: 16px;
}
.tail-datetime-calendar .calendar-actions span:first-child{
border-radius: 4px 0 0 0;
}
.tail-datetime-calendar .calendar-actions span:last-child{
border-radius: 0 4px 0 0;
}
.tail-datetime-calendar .calendar-actions span:first-child:before,
.tail-datetime-calendar .calendar-actions span:last-child:before{
top: 5px;
bottom: 5px;
width: 1px;
height: auto;
margin: 0;
padding: 0;
content: "";
display: inline-block;
position: absolute;
background-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-actions span:first-child:before{
right: -1px;
}
.tail-datetime-calendar .calendar-actions span:last-child:before{
left: -1px;
}
.tail-datetime-calendar .calendar-actions span:first-child:hover:before,
.tail-datetime-calendar .calendar-actions span:last-child:hover:before{
display: none;
}
.tail-datetime-calendar .calendar-actions span[data-action]:hover{
opacity: 0.95;
background-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-actions span.action-prev{
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zd\
mciIHdpZHRoPSI2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgNiAxNiI+PHBhdGggZD0iTTYgMkwwIDhsNiA2VjJ6\
Ii8+PC9zdmc+");
}
.tail-datetime-calendar .calendar-actions span.action-next{
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z\
dmciIHdpZHRoPSI2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgNiAxNiI+PHBhdGggZD0iTTAgMTRsNi02LTYtNnY\
xMnoiLz48L3N2Zz4=");
}
.tail-datetime-calendar .calendar-actions span.action-submit{
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z\
dmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij48cGF0aCBkPSJNMTIgNWwtOCA4LTQ\
tNCAxLjUtMS41TDQgMTBsNi41LTYuNUwxMiA1eiIvPjwvc3ZnPg==");
}
.tail-datetime-calendar .calendar-actions span.action-cancel{
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z\
dmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEyIDE2Ij48cGF0aCBmaWxsPSIjMzAzNDM4IiB\
kPSJNNy40OCA4bDMuNzUgMy43NS0xLjQ4IDEuNDhMNiA5LjQ4bC0zLjc1IDMuNzUtMS40OC0xLjQ4TDQuNTIgOCAuNz\
cgNC4yNWwxLjQ4LTEuNDhMNiA2LjUybDMuNzUtMy43NSAxLjQ4IDEuNDhMNy40OCA4eiIvPjwvc3ZnPg==");
}
/* @end CALENDAR ACTIONs */
/* @start CALENDAR DATEPICKER */
.tail-datetime-calendar .calendar-datepicker{
width: 100%;
margin: 0 0 15px 0;
padding: 0;
display: block;
position: relative;
}
.tail-datetime-calendar .calendar-datepicker:after{
top: -1px;
left: 10px;
right: 10px;
content: "";
position: absolute;
border-width: 1px 0 0 0;
border-style: solid;
border-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-datepicker table{
width: 100%;
margin: 0;
padding: 0;
border-spacing: 1px;
border-collapse: separate;
}
.tail-datetime-calendar .calendar-datepicker table tr th,
.tail-datetime-calendar .calendar-datepicker table tr td{
color: #303438;
width: 50px;
height: 35px;
padding: 0;
position: relative;
font-size: 13px;
text-align: center;
font-weight: normal;
text-shadow: none;
line-height: 30px;
background-color: transparent;
border-width: 1px;
border-style: solid;
border-color: transparent;
border-radius: 3px;
}
.tail-datetime-calendar .calendar-datepicker table tr td{
cursor: pointer;
}
.tail-datetime-calendar .calendar-datepicker table tr td span.inner{
margin: 0;
padding: 0;
display: inline-block;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-disabled{
cursor: not-allowed;
color: #A0A4A8;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-disabled:after{
color: #A0A4A8;
top: 0;
left: 0;
width: 49px;
height: 35px;
margin: 0;
padding: 0;
content: "✕";
opacity: 0.25;
display: inline-block;
position: absolute;
font-size: 30px;
line-height: 35px;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-previous,
.tail-datetime-calendar .calendar-datepicker table tr td.date-next{
color: #808488;
background-color: transparent;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-today:before,
.tail-datetime-calendar .calendar-datepicker table tr td .tooltip-tick{
top: 5px;
width: 5px;
height: 5px;
margin: 0;
padding: 0;
z-index: 20;
content: "";
display: inline-block;
position: absolute;
border-width: 0;
border-style: solid;
border-color: transparent;
border-radius: 50%;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-today:before{
left: 5px;
background-color: #32B93C;
}
.tail-datetime-calendar .calendar-datepicker table tr td .tooltip-tick{
right: 5px;
background-color: #303438;
}
.tail-datetime-calendar .calendar-datepicker table tr td.date-select.date-today:before,
.tail-datetime-calendar .calendar-datepicker table tr td.date-select .tooltip-tick{
background-color: white;
}
.tail-datetime-calendar .calendar-datepicker table tr td .tooltip-tick:before,
.tail-datetime-calendar .calendar-datepicker table tr td .tooltip-tick:after{
display: none;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade{
width: 14.28571429%;
height: 35px;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade:hover{
border-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day.date-disabled:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month.date-disabled:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year.date-disabled:hover,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade.date-disabled:hover{
border-color: white;
background-color: white;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day.date-today,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month.date-today,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year.date-today,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade.date-today{
color: #32B93C;
border-color: #32B93C;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day.date-select,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month.date-select,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year.date-select,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade.date-select{
border-color: #149BE6;
background-color: #149BE6;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day.date-select span,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month.date-select span,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year.date-select span,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade.date-select span{
color: white;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-day span.inner,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-month span.inner,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year span.inner,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade span.inner{
border: 0;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-year,
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade{
width: 25%;
}
.tail-datetime-calendar .calendar-datepicker table tr td.calendar-decade span.inner{
height: 54px;
padding: 7px 15px;
text-align: center;
line-height: 20px;
}
/* @end CALENDAR DATEPICKER */
/* @start CALENDAR TIMEPICKER */
.tail-datetime-calendar .calendar-timepicker{
width: 100%;
margin: 0;
padding: 0;
display: block;
position: relative;
border-top: 0;
text-align: center;
}
.tail-datetime-calendar .calendar-timepicker:after{
top: -1px;
left: 10px;
right: 10px;
content: "";
position: absolute;
border-width: 1px 0 0 0;
border-style: solid;
border-color: #e6e6e6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field{
width: auto;
margin: 0;
padding: 20px 10px 10px 10px;
display: inline-block;
position: relative;
text-align: center;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field:first-of-type{
text-align: right;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field:last-of-type{
text-align: left;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input[type="text"]{
color: #606468;
width: 75px;
height: 35px;
margin: 0;
z-index: 4;
padding: 3px 20px 3px 5px;
display: inline-block;
position: relative;
font-size: 12px;
text-align: center;
appearance: textfield;
-moz-appearance: textfield;
-webkit-appearance: textfield;
background-color: white;
border-width: 1px;
border-style: solid;
border-color: #E0E0E0;
border-radius: 3px;
box-shadow: none;
-webkit-box-shadow: none;
transition: color 142ms linear, border 142ms linear, background 142ms linear;
-webkit-transition: color 142ms linear, border 142ms linear, background 142ms linear;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input[type="text"]:hover{
color: #404448;
border-color: #D0D0D0;
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input[type="text"]:focus{
color: #303438;
border-color: #149BE6;
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input[type="text"]:disabled{
cursor: not-allowed;
color: #A0A4A8;
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step{
right: 11px;
width: 20px;
height: 17px;
margin: 0;
padding: 0;
z-index: 15;
display: inline-block;
position: absolute;
background-color: white;
box-shadow: none;
-webkit-box-shadow: none;
transition: border 142ms linear, background 142ms linear;
-webkit-transition: border 142ms linear, background 142ms linear;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step:before{
top: 5px;
left: 50%;
width: 0;
height: 0;
margin: 0 0 0 -3px;
padding: 0;
content: "";
display: inline-block;
position: absolute;
transition: border 142ms linear;
-webkit-transition: border 142ms linear;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-up{
top: 21px;
border-width: 0 0 1px 1px;
border-style: solid;
border-color: #E0E0E0;
border-radius: 0 2px 0 0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-up:hover{
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-up:before{
border-width: 0 4px 5px 4px;
border-style: solid;
border-color: transparent transparent #606468 transparent;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-down{
top: 37px;
border-width: 1px 0 0 1px;
border-style: solid;
border-color: #E0E0E0;
border-radius: 0 0 2px 0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-down:hover{
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field button.picker-step.step-down:before{
border-width: 5px 4px 0 4px;
border-style: solid;
border-color: #606468 transparent transparent transparent;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button.step-up{
border-color: #149BE6;
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button.step-up:before{
border-bottom-color: #149BE6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button.step-up:hover{
color: white;
background-color: #149BE6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button.step-up:hover:before{
border-bottom-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button + button.step-down{
border-color: #149BE6;
background-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button + button.step-down:before{
border-top-color: #149BE6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button + button.step-down:hover{
color: white;
background-color: #149BE6;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:focus + button + button.step-down:hover:before{
border-top-color: white;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button.step-up{
cursor: not-allowed;
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button.step-up:hover{
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button.step-up:before{
border-bottom-color: #A0A4A8;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button + button.step-down{
cursor: not-allowed;
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button + button.step-down:hover{
border-color: #D0D0D0;
background-color: #F0F0F0;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field input:disabled + button + button.step-down:before{
border-top-color: #A0A4A8;
}
.tail-datetime-calendar .calendar-timepicker .timepicker-field label{
color: #606468;
margin: 0;
padding: 0;
display: block;
font-size: 12px;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch{
cursor: pointer;
margin: 0 0 -8px 0;
padding: 15px 0 0 0;
display: block;
text-align: center;
vertical-align: top;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch:before,
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch:after{
width: auto;
margin: 0;
padding: 0 5px;
font-size: 12px;
line-height: 16px;
vertical-align: top;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch:before{
content: attr(data-am);
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch:after{
content: attr(data-pm);
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"]{
display: none;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"] + span{
display: inline-block;
position: relative;
vertical-align: top;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"] + span:before{
width: 50px;
height: 16px;
content: "";
display: inline-block;
vertical-align: top;
border-width: 1px;
border-style: solid;
border-color: #149BE6;
border-radius: 14px;
transition: border 284ms linear;
-webkit-transition: border 284ms linear;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"] + span:after{
top: 3px;
left: 4px;
right: 30px;
width: auto;
height: 10px;
margin: 0;
padding: 0;
content: "";
display: inline-block;
position: absolute;
background-color: #149BE6;
border-radius: 15px;
vertical-align: top;
transition: left 284ms linear, right 284ms linear 284ms, background 284ms linear;
-webkit-transition: left 284ms linear, right 284ms linear 284ms, background 284ms linear;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"]:checked + span:before{
border-color: #32B93C;
}
.tail-datetime-calendar .calendar-timepicker label.timepicker-switch input[type="checkbox"]:checked + span:after{
left: 30px;
right: 4px;
background-color: #32B93C;
transition: right 284ms linear, left 284ms linear 284ms, background 284ms linear;
-webkit-transition: right 284ms linear, left 284ms linear 284ms, background 284ms linear;
}
/* @end CALENDAR TIMEPICKER */
/* @start RTL */
.tail-datetime-calendar.rtl{
direction: rtl;
}
.tail-datetime-calendar.rtl .calendar-actions span.action-next,
.tail-datetime-calendar.rtl .calendar-actions span.action-prev{
transform: rotate(180deg);
-moz-transform: rotate(180deg);
-webkit-transform: rotate(180deg);
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.date-disabled:after{
right: 3px;
transform: rotate(45deg);
-moz-transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.date-today:before{
right: 5px;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td .tooltip-tick{
left: 5px;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-month.date-today:before,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-year.date-today:before,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade.date-today:before{
right: 50%;
margin-right: -2.5px;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-month:hover span.inner:before,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-year:hover span.inner:before,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade:hover span.inner:before{
right: 6px;
border-right-color: #cccccc;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-month span.inner:after,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-year span.inner:after,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade span.inner:after{
left: 0;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-month:hover span.inner:after,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-year:hover span.inner:after,
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade:hover span.inner:after{
left: 6px;
border-left-color: #cccccc;
}
.tail-datetime-calendar.rtl .calendar-datepicker table tr td.calendar-decade span.inner{
text-align: right;
}
.tail-datetime-calendar.rtl .calendar-timepicker .timepicker-field:first-child{
text-align: left;
padding-left: 0;
padding-right: 25px;
}
.tail-datetime-calendar.rtl .calendar-timepicker .timepicker-field:last-child{
text-align: right;
padding-left: 25px;
padding-right: 0;
}
.tail-datetime-calendar.rtl .calendar-timepicker .timepicker-field:first-child input[type="text"]{
margin-left: -1px;
margin-right: 0;
border-radius: 0 3px 3px 0;
}
.tail-datetime-calendar.rtl .calendar-timepicker .timepicker-field:last-child input[type="text"]{
margin-left: 0;
margin-right: -1px;
border-radius: 3px 0 0 3px;
}
/* @end RTL */
/*# sourceMappingURL=tail.datetime-harx-light.map */
@@ -0,0 +1,31 @@
var size = 0;
var placement = 'point';
var style_curvasdenivel5m_2 = function(feature, resolution){
var context = {
feature: feature,
variables: {}
};
var value = ""
var labelText = "";
size = 0;
var labelFont = "10px, sans-serif";
var labelFill = "#000000";
var bufferColor = "";
var bufferWidth = 0;
var textAlign = "left";
var offsetX = 8;
var offsetY = 3;
var placement = 'line';
if ("" !== null) {
labelText = String("");
}
var style = [ new ol.style.Style({
stroke: new ol.style.Stroke({color: 'rgba(190,178,151,1.0)', lineDash: null, lineCap: 'square', lineJoin: 'bevel', width: 0}),
text: createTextStyle(feature, resolution, labelText, labelFont,
labelFill, placement, bufferColor,
bufferWidth)
})];
return style;
};
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 105 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 255 B

Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 105 B

@@ -0,0 +1,32 @@
var size = 0;
var placement = 'point';
var style_pontos_3 = function(feature, resolution){
var context = {
feature: feature,
variables: {}
};
var value = ""
var labelText = "";
size = 0;
var labelFont = "10px, sans-serif";
var labelFill = "#000000";
var bufferColor = "";
var bufferWidth = 0;
var textAlign = "left";
var offsetX = 8;
var offsetY = 3;
var placement = 'point';
if ("" !== null) {
labelText = String("");
}
var style = [ new ol.style.Style({
image: new ol.style.Circle({radius: 4.0 + size,
stroke: new ol.style.Stroke({color: 'rgba(35,35,35,1.0)', lineDash: null, lineCap: 'butt', lineJoin: 'miter', width: 0}), fill: new ol.style.Fill({color: 'rgba(196,60,57,1.0)'})}),
text: createTextStyle(feature, resolution, labelText, labelFont,
labelFill, placement, bufferColor,
bufferWidth)
})];
return style;
};
@@ -0,0 +1,31 @@
var size = 0;
var placement = 'point';
var style_rioss_4 = function(feature, resolution){
var context = {
feature: feature,
variables: {}
};
var value = ""
var labelText = "";
size = 0;
var labelFont = "10px, sans-serif";
var labelFill = "#000000";
var bufferColor = "";
var bufferWidth = 0;
var textAlign = "left";
var offsetX = 8;
var offsetY = 3;
var placement = 'line';
if ("" !== null) {
labelText = String("");
}
var style = [ new ol.style.Style({
stroke: new ol.style.Stroke({color: 'rgba(62,16,228,1.0)', lineDash: null, lineCap: 'square', lineJoin: 'bevel', width: 0}),
text: createTextStyle(feature, resolution, labelText, labelFont,
labelFill, placement, bufferColor,
bufferWidth)
})];
return style;
};
Arquivo binário não exibido.
+73
Ver Arquivo
@@ -0,0 +1,73 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1,user-scalable=no,maximum-scale=1,width=device-width">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="stylesheet" href="./resources/ol.css">
<link rel="stylesheet" href="resources/fontawesome-all.min.css">
<link rel="stylesheet" href="./resources/ol-layerswitcher.css">
<link rel="stylesheet" href="./resources/qgis2web.css">
<style>
.search-layer {
top: 65px;
left: .5em;
}
.ol-touch .search-layer {
top: 80px;
}
</style>
<style>
html, body {
background-color: #ffffff;
}
.ol-control button {
background-color: #f8f8f8 !important;
color: #000000 !important;
border-radius: 0px !important;
}
.ol-zoom, .geolocate, .gcd-gl-control .ol-control {
background-color: rgba(255,255,255,.4) !important;
padding: 3px !important;
}
.ol-scale-line {
background: none !important;
}
.ol-scale-line-inner {
border: 2px solid #f8f8f8 !important;
border-top: none !important;
background: rgba(255, 255, 255, 0.5) !important;
color: black !important;
}
</style>
<style>
html, body, #map {
width: 100%;
height: 100%;
padding: 0;
margin: 0;
}
</style>
<title></title>
</head>
<body>
<div id="map">
<div id="popup" class="ol-popup">
<a href="#" id="popup-closer" class="ol-popup-closer"></a>
<div id="popup-content"></div>
</div>
</div>
<script src="resources/qgis2web_expressions.js"></script>
<script src="resources/polyfills.js"></script>
<script src="./resources/functions.js"></script>
<script src="./resources/ol.js"></script>
<script src="./resources/ol-layerswitcher.js"></script>
<script src="layers/curvasdenivel5m_2.js"></script><script src="layers/pontos_3.js"></script><script src="layers/rioss_4.js"></script>
<script src="styles/curvasdenivel5m_2_style.js"></script><script src="styles/pontos_3_style.js"></script><script src="styles/rioss_4_style.js"></script>
<script src="./layers/layers.js" type="text/javascript"></script>
<script src="./resources/Autolinker.min.js"></script>
<script src="./resources/qgis2web.js"></script>
</body>
</html>
Arquivo binário não exibido.

Depois

Largura:  |  Altura:  |  Tamanho: 131 KiB

@@ -0,0 +1,22 @@
<PAMDataset>
<SRS>PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"],AUTHORITY["EPSG","3857"]]</SRS>
<GeoTransform> -5.9064795590899130e+06, 1.3172806410517078e+01, 0.0000000000000000e+00, -3.0059250504087680e+06, 0.0000000000000000e+00, -1.3171289245534393e+01</GeoTransform>
<Metadata domain="IMAGE_STRUCTURE">
<MDI key="INTERLEAVE">PIXEL</MDI>
</Metadata>
<Metadata>
<MDI key="AREA_OR_POINT">Area</MDI>
</Metadata>
<PAMRasterBand band="1">
<NoDataValue>0.00000000000000E+00</NoDataValue>
</PAMRasterBand>
<PAMRasterBand band="2">
<NoDataValue>0.00000000000000E+00</NoDataValue>
</PAMRasterBand>
<PAMRasterBand band="3">
<NoDataValue>0.00000000000000E+00</NoDataValue>
</PAMRasterBand>
<PAMRasterBand band="4">
<NoDataValue>0.00000000000000E+00</NoDataValue>
</PAMRasterBand>
</PAMDataset>
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
@@ -0,0 +1,84 @@
var wms_layers = [];
var lyr_OpenTopoMap_0 = new ol.layer.Tile({
'title': 'OpenTopoMap',
'type': 'base',
'opacity': 1.000000,
source: new ol.source.XYZ({
attributions: ' &middot; <a href="https://www.openstreetmap.org/copyright">Kartendaten: © OpenStreetMap-Mitwirkende, SRTM | Kartendarstellung: © OpenTopoMap (CC-BY-SA)</a>',
url: 'https://a.tile.opentopomap.org/{z}/{x}/{y}.png'
})
});
var lyr_altimetriaalos_1 = new ol.layer.Image({
opacity: 1,
title: "altimetria alos",
source: new ol.source.ImageStatic({
url: "./layers/altimetriaalos_1.png",
attributions: ' ',
projection: 'EPSG:3857',
alwaysInRange: true,
imageExtent: [-5906479.559090, -3012576.551478, -5901210.436526, -3005925.050409]
})
});
var format_curvasdenivel5m_2 = new ol.format.GeoJSON();
var features_curvasdenivel5m_2 = format_curvasdenivel5m_2.readFeatures(json_curvasdenivel5m_2,
{dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857'});
var jsonSource_curvasdenivel5m_2 = new ol.source.Vector({
attributions: ' ',
});
jsonSource_curvasdenivel5m_2.addFeatures(features_curvasdenivel5m_2);
var lyr_curvasdenivel5m_2 = new ol.layer.Vector({
declutter: true,
source:jsonSource_curvasdenivel5m_2,
style: style_curvasdenivel5m_2,
interactive: true,
title: '<img src="styles/legend/curvasdenivel5m_2.png" /> curvas de nivel 5m'
});
var format_pontos_3 = new ol.format.GeoJSON();
var features_pontos_3 = format_pontos_3.readFeatures(json_pontos_3,
{dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857'});
var jsonSource_pontos_3 = new ol.source.Vector({
attributions: ' ',
});
jsonSource_pontos_3.addFeatures(features_pontos_3);
var lyr_pontos_3 = new ol.layer.Vector({
declutter: true,
source:jsonSource_pontos_3,
style: style_pontos_3,
interactive: true,
title: '<img src="styles/legend/pontos_3.png" /> pontos'
});
var format_rioss_4 = new ol.format.GeoJSON();
var features_rioss_4 = format_rioss_4.readFeatures(json_rioss_4,
{dataProjection: 'EPSG:4326', featureProjection: 'EPSG:3857'});
var jsonSource_rioss_4 = new ol.source.Vector({
attributions: ' ',
});
jsonSource_rioss_4.addFeatures(features_rioss_4);
var lyr_rioss_4 = new ol.layer.Vector({
declutter: true,
source:jsonSource_rioss_4,
style: style_rioss_4,
interactive: true,
title: '<img src="styles/legend/rioss_4.png" /> rioss'
});
lyr_OpenTopoMap_0.setVisible(true);lyr_altimetriaalos_1.setVisible(true);lyr_curvasdenivel5m_2.setVisible(true);lyr_pontos_3.setVisible(true);lyr_rioss_4.setVisible(true);
var layersList = [lyr_OpenTopoMap_0,lyr_altimetriaalos_1,lyr_curvasdenivel5m_2,lyr_pontos_3,lyr_rioss_4];
lyr_curvasdenivel5m_2.set('fieldAliases', {'NAME': 'NAME', 'LAYER': 'LAYER', 'ELEVATION': 'ELEVATION', });
lyr_pontos_3.set('fieldAliases', {'id': 'id', 'NUM': 'NUM', });
lyr_rioss_4.set('fieldAliases', {'GM_LAYER': 'GM_LAYER', 'GM_TYPE': 'GM_TYPE', 'MAP_NAME': 'MAP_NAME', 'OBJECTID': 'OBJECTID', 'Id': 'Id', 'Curso_Dagu': 'Curso_Dagu', 'cotrecho': 'cotrecho', 'cocursodag': 'cocursodag', 'cobacia': 'cobacia', 'corio': 'corio', 'codom': 'codom', 'dedominial': 'dedominial', 'nucomptrec': 'nucomptrec', 'nudistbact': 'nudistbact', 'nudistcdag': 'nudistcdag', 'nuareacont': 'nuareacont', 'nuareamont': 'nuareamont', 'nunivotto': 'nunivotto', 'decorpodag': 'decorpodag', 'deligacao': 'deligacao', 'norio': 'norio', 'noriocomp': 'noriocomp', 'nucomprio': 'nucomprio', 'nudistbacr': 'nudistbacr', 'cocdadesag': 'cocdadesag', 'nucompcda': 'nucompcda', 'nutrjus': 'nutrjus', 'nutrmon': 'nutrmon', 'nutrafl': 'nutrafl', 'nudistbacc': 'nudistbacc', 'nuareabacc': 'nuareabacc', 'nuordemcda': 'nuordemcda', 'nunivotcda': 'nunivotcda', 'nulondetre': 'nulondetre', 'nulatdetre': 'nulatdetre', 'nulonpatre': 'nulonpatre', 'nulatpatre': 'nulatpatre', 'nulondecda': 'nulondecda', 'nulatdecda': 'nulatdecda', 'nulonpacda': 'nulonpacda', 'nulatpacda': 'nulatpacda', 'nulonderio': 'nulonderio', 'nulatderio': 'nulatderio', 'nulonpario': 'nulonpario', 'nulatpario': 'nulatpario', 'dtversao': 'dtversao', 'LAYER': 'LAYER', 'Nome': 'Nome', 'Fonte_Topo': 'Fonte_Topo', 'Tipo_Drena': 'Tipo_Drena', 'Regime': 'Regime', 'Compriment': 'Compriment', 'Fonte_Mape': 'Fonte_Mape', 'Data_Mapea': 'Data_Mapea', 'Shape_Leng': 'Shape_Leng', 'LINE_STYLE': 'LINE_STYLE', 'LINE_COLOR': 'LINE_COLOR', 'LINE_WIDTH': 'LINE_WIDTH', });
lyr_curvasdenivel5m_2.set('fieldImages', {'NAME': '', 'LAYER': '', 'ELEVATION': '', });
lyr_pontos_3.set('fieldImages', {'id': '', 'NUM': '', });
lyr_rioss_4.set('fieldImages', {'GM_LAYER': 'TextEdit', 'GM_TYPE': 'TextEdit', 'MAP_NAME': 'TextEdit', 'OBJECTID': 'Range', 'Id': 'Range', 'Curso_Dagu': 'TextEdit', 'cotrecho': 'Range', 'cocursodag': 'TextEdit', 'cobacia': 'TextEdit', 'corio': 'TextEdit', 'codom': 'Range', 'dedominial': 'TextEdit', 'nucomptrec': 'TextEdit', 'nudistbact': 'TextEdit', 'nudistcdag': 'TextEdit', 'nuareacont': 'TextEdit', 'nuareamont': 'TextEdit', 'nunivotto': 'Range', 'decorpodag': 'TextEdit', 'deligacao': 'TextEdit', 'norio': 'TextEdit', 'noriocomp': 'TextEdit', 'nucomprio': 'TextEdit', 'nudistbacr': 'TextEdit', 'cocdadesag': 'TextEdit', 'nucompcda': 'TextEdit', 'nutrjus': 'Range', 'nutrmon': 'Range', 'nutrafl': 'Range', 'nudistbacc': 'TextEdit', 'nuareabacc': 'TextEdit', 'nuordemcda': 'Range', 'nunivotcda': 'Range', 'nulondetre': 'TextEdit', 'nulatdetre': 'TextEdit', 'nulonpatre': 'TextEdit', 'nulatpatre': 'TextEdit', 'nulondecda': 'TextEdit', 'nulatdecda': 'TextEdit', 'nulonpacda': 'TextEdit', 'nulatpacda': 'TextEdit', 'nulonderio': 'TextEdit', 'nulatderio': 'TextEdit', 'nulonpario': 'TextEdit', 'nulatpario': 'TextEdit', 'dtversao': 'TextEdit', 'LAYER': 'TextEdit', 'Nome': 'TextEdit', 'Fonte_Topo': 'TextEdit', 'Tipo_Drena': 'TextEdit', 'Regime': 'TextEdit', 'Compriment': 'TextEdit', 'Fonte_Mape': 'TextEdit', 'Data_Mapea': 'TextEdit', 'Shape_Leng': 'TextEdit', 'LINE_STYLE': 'TextEdit', 'LINE_COLOR': 'TextEdit', 'LINE_WIDTH': 'Range', });
lyr_curvasdenivel5m_2.set('fieldLabels', {'NAME': 'no label', 'LAYER': 'no label', 'ELEVATION': 'no label', });
lyr_pontos_3.set('fieldLabels', {'id': 'no label', 'NUM': 'no label', });
lyr_rioss_4.set('fieldLabels', {'GM_LAYER': 'no label', 'GM_TYPE': 'no label', 'MAP_NAME': 'no label', 'OBJECTID': 'no label', 'Id': 'no label', 'Curso_Dagu': 'no label', 'cotrecho': 'no label', 'cocursodag': 'no label', 'cobacia': 'no label', 'corio': 'no label', 'codom': 'no label', 'dedominial': 'no label', 'nucomptrec': 'no label', 'nudistbact': 'no label', 'nudistcdag': 'no label', 'nuareacont': 'no label', 'nuareamont': 'no label', 'nunivotto': 'no label', 'decorpodag': 'no label', 'deligacao': 'no label', 'norio': 'no label', 'noriocomp': 'no label', 'nucomprio': 'no label', 'nudistbacr': 'no label', 'cocdadesag': 'no label', 'nucompcda': 'no label', 'nutrjus': 'no label', 'nutrmon': 'no label', 'nutrafl': 'no label', 'nudistbacc': 'no label', 'nuareabacc': 'no label', 'nuordemcda': 'no label', 'nunivotcda': 'no label', 'nulondetre': 'no label', 'nulatdetre': 'no label', 'nulonpatre': 'no label', 'nulatpatre': 'no label', 'nulondecda': 'no label', 'nulatdecda': 'no label', 'nulonpacda': 'no label', 'nulatpacda': 'no label', 'nulonderio': 'no label', 'nulatderio': 'no label', 'nulonpario': 'no label', 'nulatpario': 'no label', 'dtversao': 'no label', 'LAYER': 'no label', 'Nome': 'no label', 'Fonte_Topo': 'no label', 'Tipo_Drena': 'no label', 'Regime': 'no label', 'Compriment': 'no label', 'Fonte_Mape': 'no label', 'Data_Mapea': 'no label', 'Shape_Leng': 'no label', 'LINE_STYLE': 'no label', 'LINE_COLOR': 'no label', 'LINE_WIDTH': 'no label', });
lyr_rioss_4.on('precompose', function(evt) {
evt.context.globalCompositeOperation = 'normal';
});
@@ -0,0 +1 @@
var json_pontos_3 = {"type":"FeatureCollection","name":"pontos_3","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:OGC:1.3:CRS84"}},"features":[{"type":"Feature","properties":{"id":null,"NUM":"1"},"geometry":{"type":"Point","coordinates":[-53.024696411284417,-26.087055138096765]}},{"type":"Feature","properties":{"id":null,"NUM":"2"},"geometry":{"type":"Point","coordinates":[-53.029854971795302,-26.093844566473447]}},{"type":"Feature","properties":{"id":null,"NUM":"3"},"geometry":{"type":"Point","coordinates":[-53.012960958818446,-26.083340595178786]}},{"type":"Feature","properties":{"id":null,"NUM":"4"},"geometry":{"type":"Point","coordinates":[-53.022253925422575,-26.082252808386318]}},{"type":"Feature","properties":{"id":null,"NUM":"5"},"geometry":{"type":"Point","coordinates":[-53.032210258344705,-26.081246959232423]}},{"type":"Feature","properties":{"id":null,"NUM":"6"},"geometry":{"type":"Point","coordinates":[-53.032337659126327,-26.071390771490481]}},{"type":"Feature","properties":{"id":null,"NUM":"7"},"geometry":{"type":"Point","coordinates":[-53.029569587598331,-26.069711397550904]}},{"type":"Feature","properties":{"id":null,"NUM":"8"},"geometry":{"type":"Point","coordinates":[-53.036038072738002,-26.069911185140263]}},{"type":"Feature","properties":{"id":null,"NUM":"9"},"geometry":{"type":"Point","coordinates":[-53.045239883737977,-26.066613242179614]}}]}
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
Diff do arquivo suprimido porque uma ou mais linhas são muito longas

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais