WKT Parser
In this article
Overview
You can use this Snap to parse geospatial data from a GML file or from a ZIP file that contains the shapefiles.
Snap Type
This Snap is a Parse-type Snap that parses geospatial files. This Snap reads a file binary input stream from its input view and then parses and writes the contents as a WKT document to its output view.
Prerequisites
None.
Support for Ultra Pipelines
Works in Ultra Pipelines.
Limitations
This Snap requires an upstream File Reader Snap or Multi File Reader Snap that reads the input files from a GML file or from a ZIP file that contains shapefiles (.shp). The File Reader Snap or Multi File Reader Snap must appear immediately before this Snap in the pipeline. Currently, only GML v3 is supported. Also, Snowflake and PostgreSQL are the only supported database Snaps for downstream output.
Known Issues
This Snap accepts only application/zip
or application/gml+xml; charset=utf-8
as a file input stream. However, the output content type from the File Reader Snap is binary/octet
when the input file is read from SLDB.
Workaround: To read an input file (ZIP or GML) from SLDB, use the Mapper Snap to change the content type from binary/octet
to one of the following:
ZIP file: Change the content type to
application/zip
.GML file: Change the content type to
application/gml+xml; charset=utf-8
.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps | Description |
---|---|---|---|---|
Input | Binary |
|
| This Snap requires an upstream File Reader Snap or Multi File Reader Snap (immediately preceding it in the pipeline) that reads the input files from a ZIP file that contains shapefiles (.shp).or a single GML file. |
Output | Document |
|
| Output is WKT, which can then be loaded to Snowflake or PostgreSQL databases. The downstream Snap can be a database Snap that loads the output to a target table.
|
Error | Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab:
Learn more about Error handling in Pipelines. |
Snap Settings
Asterisk ( * ): Indicates a mandatory field.
Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.
Expression icon ( ): Indicates the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.
Add icon ( ): Indicates that you can add fields in the field set.
Remove icon ( ): Indicates that you can remove fields from the field set.
Upload icon ( ): Indicates that you can upload files.
Field Name | Field Type | Field Dependency | Description | |
---|---|---|---|---|
Label*
Default Value: WKT Parser | String | None. | Specify a unique name, especially if you have more than one of the same Snap in your pipeline.
| |
Input format
Default Value: Shapefiles | Dropdown list | None. | Select the format of the file used in the upstream file reader. | |
Read all files | Checkbox | Appears when you select Shapefiles as the Input format.
| Read all the files in the zip file. | |
Shapefiles | List all the shapefiles to be parsed. Click the plus icon () to add a new shapefile. | |||
Shapefile path
Default value: None. | String/Expression | None. | Specify the path to the shapefile you want to parse. The path should include all folders to the file from the root directory. This property is a URL path to the directory where files will be searched. The expected syntax is: | |
Snap Execution Default Value: Execute only | Dropdown list | N/A | Select one of the following three modes in which the Snap executes:
|
Troubleshooting
Error | Reason | Resolution |
---|---|---|
Unsupported file format. | File format is not supported. | Check if the file provided is a zip file containing a .shp file. |
Shapefile not found. | No shape file found at the root of the zip file. | Check if the shape file is at the root of the zip file. If not, provide the path of the shapefile in the zip file. |
Examples
Read shapefiles and load the data in Snowflake
This example pipeline demonstrates how to read shapefiles from the File Reader Snap, map the content type, parse the input, map the data to a Snowflake table, and then load the data to Snowflake.
First, we configure the File Reader Snap to read shapefiles from a ZIP file.
Next, we add a Mapper Snap to map the content type because the input file resides in SLDB. This step is only needed for input files that reside in SLDB.
In this example, we’ve mapped the content type to application/zip
because our input is a ZIP file of shapefiles.
(If your input is a GML file, you must update the content type as application/gml+xml; charset=utf-8
.)
Upon validation, the output from the Mapper Snap is sent to the WKT Parser Snap, which parses the shapefiles.
Next, the output from this is sent to the Mapper Snap, where we have mapped the data.
In this example, we’ve mapped the output document to the GEOMETRY column in our Snowflake table.
Finally, we configure the Snowflake Snap with our Snaplogic Snowflake Account credentials and specify the Snowflake target schema and table in the Schema Name and Table Name fields.
Downloads
Download and import the Pipeline into SnapLogic.
Configure Snap accounts, as applicable.
Provide Pipeline parameters, as applicable.