Admin:Invoerbestand aanvullen met latitude longitude: verschil tussen versies

Uit wiki.openbomenkaart.org
Naar navigatie springen Naar zoeken springen
 
(11 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 1: Regel 1:
[[bestand:QGIS info box.png|thumb|QGIS|info box uit Wikipedia]]
[[bestand:QGIS info box.png|thumb|QGIS|info box uit Wikipedia]]
Zie ook [[Admin:Invoerbestand_converteren|Invoerbestand converteren]], b.v. GEOJSON -> CSV


==Inleiding==
==Inleiding==


Een bestand van de gemeente (meestal csv of xlsx bestand) heeft soms al de juiste coordinaten waar Leaflet en mijn scripts mee uit de voeten kunnen, maar soms moeten die nog toegevoegd worden.  
Een bestand van de gemeente (kan csv of xlsx bestand zijn, maar ook een of meer [https://nl.wikipedia.org/wiki/Shapefile 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).
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).
Regel 18: Regel 20:
==Stap voor stap handleiding==
==Stap voor stap handleiding==


===Synopsis===
#met '''Excel''' xlsx bestand exporteren naar csv bestand
#met '''csv2normalize.pl''' notatie van X en Y velden in dit csv bestand normaliseren
#met '''QGIS''' X en Y omzetten naar longitude en latitude en file hernoemen naar obk_leiden_in.csv
#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 <small>(text in English)</small>
We gaan X/Y coordinaten omzetten naar longitude/latitude en die aan een nieuwe versie van het bestand toevoegen <small>(text in English)</small>


Start QGIS  
*Exporteer zonodig een Excel bestand (.xlsx) eerst naar .csv
 
*'''Belangrijk voor Leiden''': Normaliseer zonodig het csv bestand (met perl [https://openbomenkaart.org/scripts/perl/csv2normalize.pl csv2normalize.pl]), dit haalt voor velden X en Y de dubbele aanhalingstekens weg, en de thousands separator
 
*Start QGIS  


*menu Project / option New
*menu Project / option New
[[bestand:add_coordinates_1.png|thumb|left|border]]
[[bestand:add_coordinates_1.png|thumb|left|border]]
<br clear=all>
<br clear=all>
*menu Layer / option Add Layer /  Add Delimited Text Layer
*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 [[Admin:Shapefile(s) importeren|aparte toelichting)]]
[[bestand:add_coordinates_2.png|thumb|left|border]]
[[bestand:add_coordinates_2.png|thumb|left|border]]
<br clear=all>
<br clear=all>
Regel 44: Regel 58:
::Section '''Layer Settings'''
::Section '''Layer Settings'''
:::Check all boxes: Use spatial index / Use subset index / Watch file
:::Check all boxes: Use spatial index / Use subset index / Watch file
::press Add
::press Add / press Close Dialog
::? next dialog 'Select Transformation choose last 2nd option, with (4)
::? next dialog 'Select Transformation choose last 2nd option, with (4)
**? press OK
**? press OK
*button Field Calculator
*button Field Calculator
::Output field name '''long''' - select ''field type 'decimal name (double)'''
[[bestand:add_coordinates_4.png|thumb|left|border]]
<br clear=all>
[[bestand:add_coordinates_5.png|thumb|left|border]]
<br clear=all>
::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'))'''
:::copy/paste the following string in input box 'expression': '''x(transform($geometry, layer_property(@layer_name, 'crs'),'EPSG:4326'))'''
::press OK
::press OK
::Output field name '''lat''' - select '''field type 'decimal name (double)'''
::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'))'''
:::copy/paste the following string in input box 'expression' '''y(transform($geometry, layer_property(@layer_name, 'crs'),'EPSG:4326'))'''
::press OK
::press OK
*button Attribute Table  
*button Attribute Table  
[[bestand:add_coordinates_6.png|thumb|left|border]]
<br clear=all>
::verify that new columns ''long'' and ''lat'' are in 4.xxx/52.xxx  range
::verify that new columns ''long'' and ''lat'' are in 4.xxx/52.xxx  range
*menu Layer / option Save As ..., dialog ''Save Vector Layer As'' appears
[[bestand:add_coordinates_7.png|thumb|left|border]]
<br clear=all>
*menu Layer / option Save As ...
[[bestand:add_coordinates_8.png|thumb|left|border]]
<br clear=all>
shows dialog ''Save Vector Layer As''  
[[bestand:save as vector layer.png|thumb|left|border]]
<br clear=all>
 
::Format: '''CSV'''
::Format: '''CSV'''
::Filename:  '''Voorschoten 20202 latlong.csv'''
::Filename:  '''obk_voorschoten_in.csv'''
::Folder: click button to select folder
::Folder: click button to select folder
::CRS: '''EPSG:28992 - Amersfoort / RD New'''
::CRS: '''EPSG:28992 - Amersfoort / RD New'''

Huidige versie van 21 apr 2024 om 08:27

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