Document toolboxDocument toolbox

Parse geocoord format (parsegeo)

Description

Parses a string representing a geocoord in a strict format (:type:value), as produced by the Represent geocoord format (reprgeo) operation. If the format is not valid, the result of the parsing will be null.

How does it work in the search window?

This operation needs only one argument:

Argument

Data type

More information

Argument

Data type

More information

String mandatory

string

As said above, the strings must follow the format :type:value

For example:

  • :geohash:78z0

  • :latlon:36°N 20°W

The data type of the new column is geocoord.

Example

We want to parse the strings in the geohash_strings column and transform them to data type geocoord. First, we must format the strings using the format required in the Parse geocoord format operation (:type: value).

Step 1: Apply the required format to the geocoord strings 

First, we must format the strings in the geohash_strings column as required by the Parse geocoord format operation. To do it, create a new column using the Addition, sum, plus / Concatenation (add, +). Add :geohash: in the first argument and select the geocoordStrings column in the second one. Let's call the new column validFormat.

Alternatively, you can use the Represent geocoord format (reprgeo) to get the required format needed to use this operation.

Step 2: Transform the geocoords strings to data type geocoord

Now, create a new column using the Parse geocoord format operation and adding the validFormat column as the argument. Call the new column parseGeocoord.

Click Create column and you will see the following result:

How does it work in LINQ?

Use the operator select... as...  and add the operation syntax to create the new column. This is the syntax of the Parse geocoord format operation:

  • parsegeo(string)

Example

Note that you must have uploaded the following CSV file to your Devo domain as explained above to try out this example.

Copy the following LINQ script and try the above example on the my.upload.geolocation.data table.

from my.upload.geolocation.data select split(message, ";", 1) as geohash_strings select ":geohash:" + geohash_strings as validFormat, parsegeo(validFormat) as parseGeocoord