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 |
---|---|---|
String mandatory | string | As said above, the strings must follow the format :type:value For example:
|
The data type of the new column is geocoord.
Example
The examples in this article use values in a data table generated from the following CSV file.
If you want to try the example by yourself, download the file and upload it to your domain by clicking Data upload in the navigation pane. Name the new table my.upload.geolocation.data and select Current date as Date parsing type. Learn more about uploading data in Uploading log files.
After receiving the confirmation message, you can access the table from the finder, selecting my → upload → geolocation → data. When you upload data from a file, all the information is included in a single column called message. To split the values into different columns, you can use the Split (split) operation. Click Query code editor in the search window toolbar and paste the following LINQ query to save time:
from my.upload.geolocation.data
select split(message, ";", 1) as geohash_strings
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