Skip to content

Commit

Permalink
Merge pull request #17 from baffioso/iss16
Browse files Browse the repository at this point in the history
Iss16
  • Loading branch information
baffioso committed Apr 13, 2016
2 parents 5da86aa + b374fbd commit 265f8df
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 24 deletions.
57 changes: 50 additions & 7 deletions adressevask/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
</span>
<!-- vis statistik -->
<button id="statistik" type="button" class="btn btn-warning" data-toggle="modal" data-target="#myModal">VIS MATCH</button>
<a href="#" id="hentdata" class="btn btn-primary" role="button"></a>
<button id="hentdata" type="button" class="btn btn-primary" data-toggle="modal" data-target="#hentgeojson">HENT GEOJSON</button>
</div>
<div class="col-sm-3 text-right">
<button id="rydkort" class="btn btn-default" style="display: inline-block;">RYD KORTET</button>
Expand Down Expand Up @@ -81,16 +81,16 @@ <h4 class="modal-title">MATCHSTATISTIK</h4>
</tr>
</thead>
<tbody>
<tr>
<td id='katA'></td>
<td id='katB'></td>
<td id='katC'></td>
</tr>
<tr>
<td><img src="img/a.png" alt="Kategori A" /></td>
<td><img src="img/b.png" alt="Kategori B" /></td>
<td><img src="img/c.png" alt="Kategori C" /></td>
</tr>
<tr>
<td id='katA'></td>
<td id='katB'></td>
<td id='katC'></td>
</tr>
</tbody>
</table>
</div>
Expand All @@ -102,6 +102,48 @@ <h4 class="modal-title">MATCHSTATISTIK</h4>
</div>
</div>

<!-- Modal med output -->
<div id="hentgeojson" class="modal fade" role="dialog">
<div class="modal-dialog">

<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">GeoJSON Output</h4>
</div>
<div class="modal-body">
<p>
Vælg ekstra oplysninger fra Danmarks Adresser, som skal tilføjes dine data når de laves om til GeoJSON
</p>
<div id='count'>
<div class="checkbox">
<label><input type="checkbox" value="" id="komkode" checked="checked">Kommunekode</label>
</div>
<div class="checkbox">
<label><input type="checkbox" value="" id="vejkode" checked="checked">Vejkode</label>
</div>
<div class="checkbox">
<label><input type="checkbox" value="" id="husnr" checked="checked">Husnummer</label>
</div>
<div class="checkbox">
<label><input type="checkbox" value="" id="etage" checked="checked">Etage</label>
</div>
<div class="checkbox">
<label><input type="checkbox" value="" id="doer" checked="checked">Dør/Side</label>
</div>
<div class="checkbox">
<label><input type="checkbox" value="" id="adrurl" checked="checked">Adresse URL</label>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="geojson" data-dismiss="modal">DOWNLOAD</button>
</div>
</div>
</div>
</div>

<!-- OM løsningen -->
<div id="om" class="modal fade" role="dialog">
<div class="modal-dialog">
Expand All @@ -114,13 +156,14 @@ <h4 class="modal-title">Om løsningen</h4>
</div>
<div class="modal-body">
<p>Adressevasekeren bruger <a href="http://dawa.aws.dk/adressedok#datavask" target="_blank" style="color:black; text-decoration: underline;">DAWA's datavask</a> til at geokode adresser fra CSV-fil, som vises på kort og med muligheden for at gemme data
lokalt som GeoJSON. CSV-filen skal have tegnsætning UTF-8 og kan både være semikolon- eller kommasepareret men skal indeholde en kolonne med adresser som hedder "adresse". GeoJSON-filen vil indeholde de oprindelige data fra CSV'en, men også kooridinater
lokalt som GeoJSON. CSV-filen skal have tegnsætning UTF-8 og kan både være semikolon- eller kommasepareret men skal indeholde en kolonne med adresser som hedder "adresse". GeoJSON-filen vil indeholde de oprindelige data fra CSV'en, men også en officiel vaskeadresse
samt matchkategori, som angiver hvor godt adressevasken er gået.</p>
<li>A = Præcist match</li>
<li>B = Sikkert match</li>
<li>C = Usikkert match</li>
</br>
<p>
Det er muligt at tilføje data yderligere oplysniger fra Danmarks Adresser i dialogen der kommer frem når GeoJSON skal hentes.
Laves der adressesøgning i søgefeltet før eller efter en CSV-fil er vasket uden kortet rydes, vil disse også blive tilføjet GeoJSON-filen.
</p>
</div>
Expand Down
73 changes: 56 additions & 17 deletions adressevask/js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ $(document).ready(function() {
trigger: 'hover'
})

$('#geojson').click(function() {
outputData();
});

//Global array som fyldes op med csv-data og kooridinater m.m. fra DAWA
var output = [];

Expand Down Expand Up @@ -132,6 +136,7 @@ $(document).ready(function() {
adresse[index].lon = koordinater[0];
adresse[index].matchkategori = kategori;
adresse[index].officieladresse = data.adressebetegnelse;
//Disse attributter kan tilvælges i modal
adresse[index].kommunenr = data.adgangsadresse.kommune.kode;
adresse[index].vejkode = data.adgangsadresse.vejstykke.kode;
adresse[index].husnr = data.adgangsadresse.husnr;
Expand All @@ -140,28 +145,64 @@ $(document).ready(function() {
adresse[index].adresseurl = data.href;
//det opdaterede objekt skubbes ind i den globale output array
output.push(adresse[index]);
});
});
});
});
//console.log(data.adressebetegnelse);
//console.log(output);
}); //getJSON adgangsadresse
}); //each datavask
}); //getJSON datavadk
}); //each CSV
}

function outputData() {

//Cloner output for at bevare original data, så bruger kan
//ombestemme sig når attributter vælges i download dialog
var outputCopy = $.extend(true, [], output);
//if som fjerner attributter, hvis der ikke er checked i modal
if ($('#komkode').prop('checked') == false) {
for (var i = 0; i < outputCopy.length; i++) {
delete outputCopy[i].kommunenr;
}
}
if ($('#vejkode').prop('checked') == false) {
for (var i = 0; i < outputCopy.length; i++) {
delete outputCopy[i].vejkode;
}
}
if ($('#husnr').prop('checked') == false) {
for (var i = 0; i < outputCopy.length; i++) {
delete outputCopy[i].husnr;
}
}
if ($('#etage').prop('checked') == false) {
for (var i = 0; i < outputCopy.length; i++) {
delete outputCopy[i].etage;
}
}
if ($('#doer').prop('checked') == false) {
for (var i = 0; i < outputCopy.length; i++) {
delete outputCopy[i].doer;
}
}
if ($('#adrurl').prop('checked') == false) {
for (var i = 0; i < outputCopy.length; i++) {
delete outputCopy[i].adresseurl;
}
}

//output array laves om til geojson med GeoJSON JS-bibliotek.
var obj = GeoJSON.parse(output, {
var obj = GeoJSON.parse(outputCopy, {
Point: ['lat', 'lon']
});

//gem fil lokalt
//data som skal gemmes lokalt laves til en geojson tekst
var data = "text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(obj));

var a = document.createElement('a');
a.href = 'data:' + data;
a.download = 'adressevask.geojson';
a.innerHTML = 'HENT GEOJSON';

var container = document.getElementById('hentdata');
container.appendChild(a);
//der laves link som indeholder parset geojson til download
var a = $("<a>")
.attr("href", 'data:' + data)
.attr("download", 'adressevask.geojson')
.appendTo("body")[0].click(); //linket åbnes/download dialog
}

function clearMarkers() {
Expand All @@ -183,7 +224,7 @@ $(document).ready(function() {
var a = []
var b = []
var c = []
//for hver kategori fyldes array om med værdier
//for hver kategori fyldes array om med værdier
$.each(output, function(index, value) {
switch (output[index].matchkategori) {
case 'A':
Expand Down Expand Up @@ -227,11 +268,9 @@ $(document).ready(function() {
ajaxStop: function() {
$body.removeClass("loading");
//Knapperne hentdata/rydkort vises efter endt ajax
$("#hentdata").empty().show(); //hent data knappen tømmes så ikke link dubleres
$("#hentdata").show(); //hent data knappen tømmes så ikke link dubleres
$("#rydkort").show();
$("#statistik").show();
//output data tilføjes til hent knappen som href med funktionen
outputData();
//statistik for match beregnes og tilføjes modal
countKategori();
}
Expand Down

0 comments on commit 265f8df

Please sign in to comment.