Ga naar hoofdinhoud

Qlik Sense GeoOperations

Met Qlik Sense GeoOperations kunt u geografische berekeningen maken en functies gebruiken voor het berekenen van routes of reisschema's. Het maakt ook het laden van geografische gegevens uit een breed scala gegevensbronnen mogelijk. Met Qlik Sense GeoOperations kunt u geografische problemen oplossen op basis van uw gegevens, zoals:

  • Bepalen hoeveel klanten wonen op 15 minuten rijden van een winkellocatie
  • GPS-posities koppelen aan locaties, regio's of wegennetwerken
  • Aangepaste verkoopgebieden definiëren aan de hand van een lijst met gemeenten
  • Het dichtstbijzijnde ziekenhuis vinden voor een lijst met patiënten

GeoOperations-functies zijn beschikbaar in scripting voor zowel het load-script voor gegevens als in visualisatie-uitdrukkingen. GeoOperations-functies kunnen elk gegevens impliciet laden. GeoOperations-functies kunnen ook worden gebruikt om geografische gegevens te transformeren of berekeningen te maken.

InformatieVoor een voorbeeld van hoe u GeoOperations kunt gebruiken, zie GeoOperations - voorbeeld.

Functies

  • Beschikbaar in de scripttaal in Qlik Sense SaaS.

  • Extraheert ruimtelijke relaties zodat deze kunnen worden verwerkt door Qlik.
  • Opzoeken van locaties tijdens het laden (als alternatief voor opzoeken tijdens de presentatie van de gegevens in het kaartdiagram).
  • Aggregatie van punten in clusters of opslaglocaties.
  • Locaties specificeren als:
    • Punt, lijn of gebiedsgeometrieën in dezelfde indeling als QlikGeoAnalytics en Qlik Sense
    • De velden Breedtegraad en Lengtegraad:
    • Benoemde punten of gebieden
  • Laden van geografische gegevens in meerdere invoerindelingen.
  • Gebruik van bewerkingen op gegevens die al zijn geladen in Qlik.

Hoe werkt GeoOperations?

 

Qlik Sense GeoOperations werkt door script en optioneel een tabel naar de GeoOperations-extensie in het load-script te sturen. De extensie aan de kant van de server retourneert vervolgens de gegevens. GeoOperations maakt een geavanceerde analyse-integratie-object genaamd 'GeoOperations' beschikbaar in de scripttaal die de functie ScriptEval bevat voor het verzenden van het script en de tabel naar de extensie. Het volgende is bijvoorbeeld het load-script voor het toepassen van de bewerking TravelAreas op de eerder geladen tabel MyPoints en het specificeren van parameters voor de grootte/kosten van het reisgebied:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")', MyPoints);

 

Het script wordt als de eerste parameter naar ScriptEval gestuurd en de tabel als de tweede.

De GeoOperations zijn functies die bewerkingen uitvoeren op gegevensverzamelingen. De gegevensverzamelingen zijn afkomstig van gegevens die zijn geladen in Qlik Sense of uit externe bronnen zoals geografische bestanden of de locatieservice. De gegevens die vanuit het script worden verzonden, zijn beschikbaar als een gegevensverzameling met de naam INTABLE. Als u aanvullende parameters voor die gegevens wilt opgeven, moet u deze na de functieaanroep declareren als een DATASOURCE. Bijvoorbeeld:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")

DATASOURCE myPoints INTABLE pointField="Point"', MyPoints);

 

Andere gegevensbronnen moeten altijd worden gedeclareerd en parameters zoals URL's moeten worden gespecificeerd. Voor elke bewerking kunt u de gegevensbronnen specificeren die moeten worden gebruikt. Standaard halen bewerkingen de beschikbare gegevensverzamelingen op, zoals in Bewerking (alleen in het Engels) voor elke afzonderlijke bewerking is beschreven.

Waar kunt u GeoOperations gebruiken?

Alle bewerkingen kunnen worden gebruikt in het load-script voor gegevens. Sommige bewerkingen kunnen ook worden gebruikt in uitdrukkingen in diagramscripts voor kaarten en om dynamische berekeningen uit te voeren. Telkens wanneer de selectie wordt gewijzigd, wordt de bewerking uitgevoerd. Gegevens worden niet opgenomen in het gegevensmodel wanneer GeoOperations in diagrammen worden gebruikt, waardoor verdere analyse van die gegevens niet mogelijk is.

GeoOperations-velden selecteren en hernoemen

GeoOperations-functies retourneren velden. Standaard worden alle velden geretourneerd en opgenomen. U kunt GeoOperations-functies vooraf laten gaan door een SELECT-opdracht om specifieke velden waarin u geïnteresseerd bent te selecteren en eventueel optioneel te hernoemen. Bijvoorbeeld, dit script gebruikt SELECT om slechts twee van de postcodevelden van de locatieservice te laden:

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');

 

Het gebruik van een SELECT-opdracht in het GeoOperations-script kan efficiënter zijn dan het specificeren van velden in een QlikLOAD-opdracht, omdat de gegevens niet worden geladen in Qlik Sense als deze niet in het GeoOperations-script zijn geselecteerd.

SELECT kan worden gebruikt om te voorkomen dat sommige velden worden berekend door ervoor te kiezen dat ze niet worden geretourneerd in de resultaten. De relatieve overlapvelden die worden geretourneerd door Intersects kunnen bijvoorbeeld worden uitgesloten.

Informatie

Als u dezelfde bewerking meerdere keren gebruikt in uw load-script, kunt u een SELECT-opdracht gebruiken om de velden te hernoemen.

Beperkingen

Voor de maximale grootte van gegevensverzamelingen gelden de volgende beperkingen:

  • Maximumaantal rijen: 50,000
  • Maximumgrootte van gegevensverzameling in geheugen: 150 MB
  • Maximumaantal rijen met routing: 400
  • Maximumaantal rijen met opgezochte naam: 20,000

Sommige bewerkingen bieden ondersteuning voor streaminggegevens van Qlik Engine. Gegevens die zijn gestreamd van Qlik Engine kunnen van grotere omvang zijn, maar de groottelimiet voor routing is nog steeds van toepassing.

Scriptsyntaxis

Het script dat kan worden verzonden naar GeoOperations heeft de volgende syntaxis:

1. Bewerking

De eenvoudigste vorm van het script voert een bewerking uit.

Syntaxis:  

Operation(paramName="paramValue", ...)

Voorbeeld:  

Cluster(distance="100000")

 

Raadpleeg voor meer informatie de lijst met bewerkingen en de bijbehorende parameters.

2. Gegevensverzameling

De tweede stap is om een gegevensverzameling te laden die op uw gekozen bewerking(en) moet worden toegepast.

Syntaxis:  

Operation(paramName="paramValue", ...)

DATASOURCE name TYPE paramName="paramvalue", ...

Voorbeeld:  

Within()

DATASOURCE states LOCATIONSERVICE type="STATE", country="US"

 

Raadpleeg voor meer informatie de lijst met gegevensverzamelingen en de bijbehorende parameters.

3. Samenvoegen

Dit is hoe een voltooid script eruit zal zien in de Editor voor laden van gegevens:

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable);

 

In dit voorbeeld kan MyTable een andere geladen tabel met punten, lijnen, gebieden met naam of andere geografische gegevens zijn.

4. Filtervelden

Met de volgende aanvullingen kunnen de resultaten van de bewerking verder worden gefilterd.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

SELECT Name, states.Name as State FROM

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable{Name, Point});

Parameternamen en veldnamen zijn hoofdlettergevoelig, maar parameteropties voor bewerkingen (zoals meters, minutes, , enzovoort) of sleutelwoorden zoals SELECT en FROM zijn dat niet.