Admin:Invoerbestand aanvullen met latitude longitude

Uit wiki.openbomenkaart.org
Naar navigatie springen Naar zoeken springen
info box uit Wikipedia

Zie ook Invoerbestand converteren, b.v. GEOJSON -> CSV

Inleiding

Een bestand van de gemeente (kan csv of xlsx bestand zijn, maar ook een of meer shapefiles) heeft soms al de juiste coordinaten waar Leaflet en mijn scripts mee uit de voeten kunnen, maar soms moeten die nog toegevoegd worden.

In dat laatste geval bevat het bestand coordinaten uit een ander stelsel (namelijk ..?), meestal met veldnamen X en Y. Wat we nodig hebben is lengtegraad (longitude of long) en breedtegraad (latitude of lat).

QGIS

Toevoegen van deze velden kan via QGIS. Een Zwitsers zakmes voor kaartbewerkingen. Alles kan, maar de gebruikersinterface is overweldigend voor niet-geografen.

N.B. een klein script zou voor deze toepassing heel wat zou simpeler zijn, maar met perl lukt dat niet, de conversie module heeft bugs.

QGIS (voorheen ook Quantum-GIS) is een open source geografisch informatiesysteem (GIS). Hiermee kan men geografische gegevens bekijken, bewerken en analyseren.

Zie hun website. Zie ook wikipedia Ned en Eng.

Stap voor stap handleiding

Synopsis

  1. met Excel xlsx bestand exporteren naar csv bestand
  2. met csv2normalize.pl notatie van X en Y velden in dit csv bestand normaliseren
  3. met QGIS X en Y omzetten naar longitude en latitude en file hernoemen naar obk_leiden_in.csv
  4. met obk_csv2json.pl input omzetten naar tree_leiden.json

Details

We gaan X/Y coordinaten omzetten naar longitude/latitude en die aan een nieuwe versie van het bestand toevoegen (text in English)

  • Exporteer zonodig een Excel bestand (.xlsx) eerst naar .csv
  • Belangrijk voor Leiden: Normaliseer zonodig het csv bestand (met perl csv2normalize.pl), dit haalt voor velden X en Y de dubbele aanhalingstekens weg, en de thousands separator
  • Start QGIS
  • menu Project / option New
Add coordinates 1.png


  • Indien csv of xsl(x) bestand, menu Layer / option Add Layer / Add Delimited Text Layer
  • Indien shapefile(s), menu Layer / option Add Layer / Add Vector Layer (zie aparte toelichting)
Add coordinates 2.png


shows dialog Data Source Manager | Delimited Text

Add coordinates 3.png


section File Format
choose csv file Voorschoten 2020.CSV
File Format: CSV
section Record and fields Options
EPSG 28992 - Amersfoort / RD New
Number of header lines to discard: 0
Check boxes: 'First record has field names' , 'Detect field types', 'Trim fields'
Uncheck boxes: 'Decimal separator is comma', 'Discard empty fields'
Section Geometry Definition
Point coordinates: select for 'X field': X, for 'Y field': Y
Geometry CRS: select EPSG:28992 - Amersfoort / RD New
Section Layer Settings
Check all boxes: Use spatial index / Use subset index / Watch file
press Add / press Close Dialog
? next dialog 'Select Transformation choose last 2nd option, with (4)
    • ? press OK
  • button Field Calculator
Add coordinates 4.png


Add coordinates 5.png


Output field name long - select field type decimal name (double)
copy/paste the following string in input box 'expression': x(transform($geometry, layer_property(@layer_name, 'crs'),'EPSG:4326'))
press OK
Output field name lat - select field type decimal name (double)
copy/paste the following string in input box 'expression' y(transform($geometry, layer_property(@layer_name, 'crs'),'EPSG:4326'))
press OK
  • button Attribute Table
Add coordinates 6.png


verify that new columns long and lat are in 4.xxx/52.xxx range
Add coordinates 7.png


  • menu Layer / option Save As ...
Add coordinates 8.png


shows dialog Save Vector Layer As

Save as vector layer.png


Format: CSV
Filename: obk_voorschoten_in.csv
Folder: click button to select folder
CRS: EPSG:28992 - Amersfoort / RD New
Encoding UTF8
Select fields to export : all
Keep further options unchanged
press OK

? choose WGS84