# Gegevensverzameling

Hier volgen gegevensbronnen die kunnen worden gebruikt met bewerkingen in de Qlik GeoOperations-extensie op de server.

## CSV

Tekstbestanden met tabelgegevens, optioneel met geometrieën. In plaats van geometrieën kunnen ook namen van locaties worden opgegeven. Alle velden worden geladen als tekenreeksen.

Parameters voor CSV

| Parameters | Type | Gebruik | Beschrijving |
| --- | --- | --- | --- |
| url | tekenreeks | *standaard: Geen.* | De URL van het bestand dat de gegevens bevat. Alleen URL's met HTTPS- of LIB-protocollen zijn toegestaan.<br><br>U kunt bestanden van de gegevensbronnen gebruiken in de ruimte van de app met behulp van de volgende syntaxis: lib://DataFiles/&lt;bestandsnaam&gt;. Bijvoorbeeld: lib://DataFiles/Offices.csv. U kunt ook een ruimte opgeven waarin de bestanden worden opgeslagen met behulp van de volgende syntaxis: lib://&lt;space name&gt;:DataFiles/&lt;bestandsnaam&gt;. Bijvoorbeeld: lib://EuropeSales:DataFiles/Offices.csv. U kunt ook een bestand opgeven van een Web Storage Provider-connector met behulp van de volgende syntaxis: lib://&lt;Web Storage Provider&gt;/&lt;bestandsnaam&gt;. Bijvoorbeeld: lib://Dropbox/Offices.csv. |
| keyField | tekenreeks | *standaard: Geen.* | De naam van het veld dat identiteiten voor elke geometrie bevat. Als u het veld leeg laat, wordt er een sleutelveld gegenereerd. |
| geometryField | tekenreeks | *standaard: Geen.* | Naam van het geometrieveld indien aanwezig. Als alternatief voor een geometrie kan een kolom met namen van bekende punten of gebieden worden gespecificeerd als "Geometrietype" hieronder. Als puntgegevens zich in twee velden bevinden, specificeer dan in de volgende indeling: de naam van het latitudeveld komma de naam van het longitudeveld. |
| geometryType | tekenreeks | *default:POINT* | Type geometrie in het veld Geometrie. Toegestane waarden zijn:<br><br><ul><li> Point - een puntgeometrie in Qlik Sense-puntindeling: "[longitude,latitude]"</li><li> PointLatLon - één veld met latitudes en één met longitudes</li><li> Line - een lijngeometrie in Qlik Sense-lijnindeling: "[[longitude,latitude],[longitude,latitude],...]"</li><li> Polygon - een polygoongeometrie, dat wil zeggen een array van gesloten lijnen of een array of een array van gesloten lijnen in het geval van multi-polygonen.</li><li> LocationNamedPoint - een naam van een geografisch punt zoals een stad</li><li> LocationNamedArea - een naam van een geografisch gebied zoals een land</li><li> WKT - een geometrie in WKT-indeling, ondersteunt POINT, LINESTRING, MULTILINESTRING, POLYGON en MULTIPOLYGON, zie <a href="https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry"> Well-known text representation of geometry</a></li></ul><br><br>In het geval van benoemde punten of gebieden wordt de geometrie opgezocht in de locatieservice en wordt een kolom voor de geometrie toegevoegd. Er worden kolommen voor land, type en bestuursgebieden toegevoegd, zoals in de gegevensverzameling voor Standaardgebieden en Punten. |
| suffix | tekenreeks | *standaard: Geen.* | Voor gevorderde gebruikers. De opgegeven tekenreeks wordt toegevoegd aan het einde van alle id's. Dit is een handige manier om meer informatie op te geven voor servergebaseerde locatieservices, zoals landcode of type. Het alternatief is om de extra gegevens toe te voegen bij het laden van de tabel in Qlik. Met het volgende suffix worden alle items opgegeven als steden in Zweden:<br><br>```<br>,SE:city<br>```<br><br>[](https://help.qlik.com/en-US/geoanalytics/Content/Qlik_GeoAnalytics/GeoAnalytics-Sense/Location-Service-Sense.htm) (alleen in het Engels) Raadpleeg de Geometry Service Specification voor meer informatie over de te gebruiken syntaxis. |
| header | tekenreeks | *standaard: Geen.* | De namen van de kolommen gescheiden door een komma. Indien leeg, wordt aangenomen dat de eerste rij de kolomkoppen bevat. |
| fieldSeparator | tekenreeks | *default:TAB* | Het teken dat velden van elkaar scheidt. Naast gewone tekens zijn de sleutelwoorden TAB, NEWLINE, COMMA en SEMICOLON toegestaan. |
| recordSeparator | tekenreeks | *default:NEWLINE* | Het teken dat regels van elkaar scheidt. Naast gewone tekens zijn de sleutelwoorden TAB, NEWLINE, COMMA en SEMICOLON toegestaan. |
| encoding | tekenreeks | *default:UTF-8* | De tekenset voor het bestand. Dezelfde waarden zijn toegestaan als in Java. |
| stringQuotes | tekenreeks | *standaard: Geen.* | Het teken dat kan worden gebruikt voor aanhalingstekens rond tekenreeksen. Scheidingstekens voor velden en records tussen de aanhalingstekens worden niet als zodanig geparseerd. De aanhalingstekens worden verwijderd uit de geïmporteerde gegevens. Naast gewone tekens zijn de sleutelwoorden QUOTE("), DOUBLEQUOTE(") en SINGLEQUOTE(') toegestaan. |
| crs | tekenreeks | *default:Auto* | CRS (coördinatenreferentiesysteem) van de te laden gegevens. De gegevens worden vanuit dit CRS naar WGS84 (EPSG:4326) geprojecteerd voordat ze in de app worden geladen.<br><br>Als dit is ingesteld op *Automatisch*, wordt *EPSG:4326* (WGS84) gebruikt. |

## GEOFILE

Laadt verschillende soorten geografische bestandsindelingen zoals GeoJSON en ESRI Shapefile.

In dit voorbeeld wordt een GeoJSON-bestand geladen via de bewerking Simplify:

```
Load * Extension
GeoOperations.ScriptEval('
SELECT nuts.NUTS_ID as NUTS_ID, Simplified_nuts_Geometry FROM Simplify()
DATASOURCE nuts GEOFILE url="https://datahub.io/core/geo-nuts-administrative-boundaries/r/nuts_rg_60m_2013_lvl_1.geojson"');
```

Parameters voor GEOFILE

| Parameters | Type | Gebruik | Beschrijving |
| --- | --- | --- | --- |
| url | tekenreeks | *standaard: Geen.* | De URL van het bestand dat de gegevens bevat. Alleen URL's met HTTPS- of LIB-protocollen zijn toegestaan.<br><br>U kunt bestanden van de gegevensbronnen gebruiken in de ruimte van de app met behulp van de volgende syntaxis: lib://DataFiles/&lt;bestandsnaam&gt;. Bijvoorbeeld lib://DataFiles/SalesGeographies.geojson. U kunt ook een ruimte opgeven waarin de bestanden worden opgeslagen met behulp van de volgende syntaxis: lib://&lt;space name&gt;:DataFiles/&lt;bestandsnaam&gt;. Bijvoorbeeld lib://EuropeSales:DataFiles/SalesGeographies.geojson. U kunt ook een bestand opgeven van een Web Storage Provider-connector met behulp van de volgende syntaxis: lib://&lt;Web Storage Provider&gt;/&lt;bestandsnaam&gt;. Bijvoorbeeld: lib://Dropbox/SalesGeographies.geojson. |
| keyField | tekenreeks | *standaard: Geen.* | De naam van het veld dat identiteiten voor elke geometrie bevat. Als u het veld leeg laat, wordt er een sleutelveld gegenereerd. |
| type | tekenreeks | *default:Auto* | Het type bestand. Toegestane waarden zijn:<br><br><ul><li><strong> Auto</strong> - Probeert het bestandstype te detecteren aan de hand van de naam van het bestand.</li><li><strong> GeoJSON</strong> - De GeoJSON-indeling zoals gespecificeerd door <a href="https://geojson.org/"> geojson.org</a>.</li><li><strong> GML</strong> - Voor het lezen van GML-bestanden of verbinding maken met WFS-services. Leest <em>featureCollection</em>-bestanden en maakt één rij van elk <em>featureMember</em>-element. GeoOperations biedt alleen ondersteuning voor GML2.</li><li><strong> Shape</strong> - Een zip-bestand met ten minste een shp- en een dbf-bestand voor de ESRI-shape-bestandsindeling. Het is belangrijk dat het zip-bestand is gemaakt met dezelfde tekencodering als de bestanden die het bevat.</li><li><strong> ESRIJson</strong> - JSON zoals geretourneerd door ESRI ArcGIS Server (zie de <a href="https://resources.arcgis.com/en/help/rest/apiref/feature.html">ESRI-documentatie over de indeling</a>).                         Hiermee is het mogelijk om verbinding te maken met ArcGIS en gegevens te importeren van services die het heeft gepubliceerd. </li><li><strong> DXF</strong> - Voor het lezen van geometrieën uit een AutoCAD DXF-bestand. Er wordt een beperkte set entiteitstypen voor punten en lijnen ondersteund:                     <code> POINT, TEXT, MTEXT, ARC, CIRCLE, LINE, POLYLINE, LWPOLYLINE, SPLINE, and MLINE</code></li></ul> |
| encoding | tekenreeks | *standaard: Geen.* | Voor sommige indelingen (zoals ESRI Shapefile) wordt de tekencodering niet gedefinieerd in de indeling. Dit is een manier om deze informatie op te geven. Voor de meeste indelingen wordt deze eigenschap genegeerd. |
| expectedGeomType | tekenreeks | *default:Auto* | Er wordt slechts één geometrisch type tegelijk geladen. Als er meerdere typen in de gegevens zijn, gebruik dan deze eigenschap om in te stellen welk type wordt geladen. Voor indelingen die niet meerdere typen ondersteunen, wordt deze parameter genegeerd.<br><br><ul><li><strong> Auto</strong> - Probeert het type automatisch te detecteren.</li><li><strong> Point</strong> - Zoekt punten in het opgegeven bestand.</li><li><strong> Line</strong> - Zoekt lijnen in het opgegeven bestand.</li><li><strong> Polygon</strong> - Zoekt polygonen in het opgegeven bestand.</li></ul> |
| crs | tekenreeks | *default:Auto* | Coördinatenreferentiesysteem (CRS) van de te laden gegevens. De gegevens worden vanuit dit CRS naar WGS84 (EPSG:4326) geprojecteerd voordat ze in de app worden geladen.<br><br>Als dit is ingesteld op *Auto* of indien dit leeg is, wordt geprobeerd om de gegevens te parseren op basis van het bestand. Als er geen CRS in het bestand wordt gevonden, wordt *EPSG:4326* (WGS84) gebruikt. Houd er rekening mee dat wanneer dit wordt ingesteld op een CRS, de informatie in het bestand wordt overschreven en dat dit alleen moet worden gedaan voor bestanden die dergelijke informatie missen of waarvan bekend is dat de informatie onjuist is. Bestanden met gegevens met meerdere CRS'en worden niet ondersteund. |

## INTABLE

Een tabel die wordt doorgegeven als invoer voor de functie Extensie kan worden gedeclareerd om aan te geven hoe deze moet worden geïnterpreteerd. Als de tabel niet wordt gedeclareerd, kunnen het sleutelveld en het geometrieveld in veel gevallen automatisch worden gedetecteerd op basis van de inhoud. Het is echter raadzaam om tabellen te declareren, zodat de interpretatie niet verandert na het opnieuw laden met nieuwe gegevens.

Als de tabel namen bevat in plaats van geometrieën of kolommen voor latitude en longitude, moet deze worden gedeclareerd.

Als de tabel niet is gedeclareerd, telt deze als de eerste tabel voor standaardgegevensverzamelingen in bewerkingen. Als de tabel is gedeclareerd, wordt deze geteld in de volgorde waarin de tabel is gedeclareerd.

Normaal gesproken wordt de [Qlik Sense geometrie-indeling](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/GeospatialFunctions/geospatial-functions.htm) gebruikt, maar de WKT-indeling ([Well-known text representation of geometry](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry)) wordt ook ondersteund. Dit maakt het mogelijk om geografische gegevens uit een database te lezen met behulp van een van de gebruikelijke databaseconnectoren en vervolgens de geometrieën te converteren naar Sense-geometrieën met behulp van de bewerking *Laden*. Houd er rekening mee dat wanneer geometrieën uit de database worden gelezen, een functie moet worden toegepast die de kolom in WKT-formaat retourneert. De standaard-SQL-functie is *ST\_AsText()*, maar sommige databases hebben hun eigen functie.

Er mag slechts één van de parameters die het locatieveld specificeren tegelijk worden gebruikt, behalve *latitudeField* en *longitudeField*, die altijd in paren moeten worden gedefinieerd.

Er kan slechts één uitgelijnde tabel per bewerking worden gespecificeerd. Als u gegevens in twee of meerdere uitgelijnde tabellen moet gebruiken, kunt u gebruik maken van *OPSLAAN* om de andere uitgelijnde tabellen als CSV-bestanden op te slaan en dan de gegevens vanuit de CSV-bestand te uploaden.

Voorbeeld met velden voor latitude en longitude:

```
MyCities:
LOAD *
inline "
cid;lat;long
1;57.7;12
2;45.42;-75.70
" (delimiter is ';');

Load * Extension
GeoOperations.ScriptEval('
    TravelAreas(costValue="10",costUnit="minutes")
    DATASOURCE cities INTABLE keyField="cid", latitudeField="lat", longitudeField="long"', MyCities);
```

Voorbeeld waarbij de gegevens benoemde locaties bevatten en daarom de parameter *namedAreaField* moet worden gedeclareerd:

```
MyCountries:
LOAD *
inline "
cid;Country
1;US
2;CA
" (delimiter is ';');

Load * Extension
GeoOperations.ScriptEval('
    Simplify()
    DATASOURCE countries INTABLE keyField="Country", namedAreaField="Country"', MyCountries{Country});
```

Parameters voor INTABLE

| Parameters | Type | Gebruik | Beschrijving |
| --- | --- | --- | --- |
| keyField | tekenreeks | *optioneel* | De naam van een veld dat unieke identiteiten voor elke rij bevat. Indien niet gespecificeerd, wordt een sleutelkolom met de naam *\_autoIndex\_* toegevoegd met unieke waarden voor elke rij. |
| pointField | tekenreeks | *optioneel* | Veld met puntgegevens in Qlik Sense-puntindeling, "[longitude, latitude]". WKT-puntgegevens ("POINT(...)") worden ook ondersteund. |
| lineField | tekenreeks | *optioneel* | Veld met lijngegevens in Qlik Sense-lijnindeling: "[[longitude,latitude],[longitude,latitude],...]". WKT-lijngegevens ("LINESTRING(...)" of "MULTILINESTRING(...)") worden ook ondersteund. |
| polygonField | tekenreeks | *optioneel* | Veld met lijngegevens in Sense-polygoonindeling, dat wil zeggen een array van gesloten lijnen of een array van een array van gesloten lijnen in het geval van multi-polygonen. WKT- polygoongegevens ("POLYGON(...)" of "MULTIPOLYGON(...)") worden ook ondersteund. |
| latitudeField | tekenreeks | *optioneel* | Veld dat latitudewaarden bevat. |
| longitudeField | tekenreeks | *optioneel* | Veld dat longitudewaarden bevat. |
| namedPointField | tekenreeks | *optioneel* | Veld met namen van geografische kenmerken die worden opgezocht in de locatiedatabase. De namen worden weergegeven door punten. |
| namedAreaField | tekenreeks | *optioneel* | Veld met namen van geografische kenmerken die worden opgezocht in de locatiedatabase. De namen worden weergegeven door polygonen. Niet alle namen in de locatiedatabase hebben bijbehorende polygonen. |
| crs | tekenreeks | *default:Auto* | CRS (coördinatenreferentiesysteem) van de te laden gegevens. De gegevens worden vanuit dit CRS naar WGS84 (EPSG:4326) geprojecteerd voordat ze in de app worden geladen.<br><br>Als dit is ingesteld op *Automatisch*, wordt *EPSG:4326* (WGS84) gebruikt. |

## LOCATIONSERVICE

Punten en gebieden die beschikbaar zijn in een locatieservice van Qlik GeoAnalytics Server. Type of land moet worden opgegeven.

De velden in tabellen die worden geladen vanuit de locatieservice zijn de volgende:

* LocationDbId - unieke id voor elke entiteit.
* LocationPoint/LocationArea - de geometrie van de entiteit.
* CountryIso2 - de tweeletterige landcode.
* Adm1Code - landspecifieke code van het bestuursgebied op het eerste bestuurlijke niveau.
* Adm2Code - landspecifieke code van het bestuursgebied op het tweede bestuurlijke niveau.
* LocationDbType - raadpleeg de [Geometry Service Specification](https://help.qlik.com/en-US/geoanalytics/Content/Qlik_GeoAnalytics/GeoAnalytics-Sense/Location-Service-Sense.htm) (alleen in het Engels) voor meer informatie over de typen.

In dit voorbeeld worden de staten in de VS geladen:

```
MyAirports:
Load *
Extension GeoOperations.ScriptEval('
  Load()
  DATASOURCE states LOCATIONSERVICE geometry="AREA", type="STATE", country="us"
');
```

Parameters voor LOCATIONSERVICE

| Parameters | Type | Gebruik | Beschrijving |
| --- | --- | --- | --- |
| geometry | tekenreeks | *default:Area* | Kies of u toegang wilt tot Punten of Gebieden. |
| type | tekenreeks | *default:Country* | Type gegevens waar de namen voor staan, zoals landen, bestuursgebieden, postcodes, enzovoort. De volgende vereenvoudigde typenamen kunnen (hoofdletterongevoelig) worden gebruikt in de native typen in de locatiedatabase:<br><br><ul><li> CONTINENT - naam van continent.</li><li> COUNTRY - naam van land.</li><li> COUNTRYISO2 - ISO 3166-1 alpha-2-code.</li><li> COUNTRYISO3 - ISO 3166-1 alpha-2-code.</li><li> ADMIN1 - hoogste bestuursgebied.</li><li> STATE - alias voor ADMIN1.</li><li> ADMIN2 - op één na hoogste bestuursgebied.</li><li> ADMIN3 - op twee na hoogste bestuursgebied.</li><li> ADMIN4 - op drie na hoogste bestuursgebied.</li><li> POSTALCODE - postcode.</li><li> ZIP - alias voor POSTALCODE.</li><li> CITY - naam van stad.</li><li> AIRPORTIATA - IATA-luchthavencode.</li><li> AIRPORTICAO - ICAO-luchthavencode.</li></ul><br><br>Raadpleeg de [Geometry Service Specification](https://help.qlik.com/en-US/geoanalytics/Content/Qlik_GeoAnalytics/GeoAnalytics-Sense/Location-Service-Sense.htm) (alleen in het Engels) voor meer informatie over de gedetailleerde typen. |
| country | tekenreeks | *standaard: Geen.* | Landcode (2 of 3 letters) van het land. Er kunnen meerdere landen worden opgegeven, gescheiden door een komma. De standaardwaarde betekent niet beperkt tot een land. |