Commit d6dbc3f6 authored by Ignacio's avatar Ignacio
Browse files

Conviert WKT a EWKT en el script de beach (GESPLAN)

parent 5bf52439
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
package transforms.beach

import geoscript.geom.Geometry
import geoscript.geom.io.*
import groovy.json.JsonOutput
import groovy.json.JsonSlurper

/*
@Grab(group='commons-io', module='commons-io', version='2.6')
import org.apache.commons.io.IOUtils
import org.apache.nifi.processor.io.StreamCallback
@@ -36,7 +38,7 @@ flowFile = session.write(flowFile, { inputStream, outputStream ->
} as StreamCallback)

session.transfer(flowFile, REL_SUCCESS)

*/

def getConfigValue(flowFile, attrName) {
    def value = binding.getVariable(attrName)?.evaluateAttributeExpressions(flowFile).value
@@ -49,7 +51,7 @@ def parseVariable(value) {

def processBeach(json, beach_field_names = null, capitalize_field_names = null, integer_field_names = null,
                 trash_regex = ~/…|\d{2,}|PLAYA\sSIN\sNOMBRE|GESPLAN|NULL|NONE|[()]|PLAYA\s\d{2,}/ ) {
    json.geometry = convertGeoJsonTowkt(JsonOutput.toJson(json.geometry))
    json.geometry = convertGeoJsonToewkt(JsonOutput.toJson(json.geometry))

    // Choose name
    if (beach_field_names) {
@@ -79,10 +81,10 @@ def processBeach(json, beach_field_names = null, capitalize_field_names = null,
    qualityControl(json)
}

def convertGeoJsonTowkt(geojson) {
def convertGeoJsonToewkt(geojson) {
    Geometry geom = Geometry.fromString(geojson)
    WktWriter writer = new WktWriter()
    geom?.valid ? writer.write(geom) : null
    geom?.valid ? 'SRID=4326;' + writer.write(geom) : null
}

def deleteTrash(text, trash_regex = ~/…|\d{2,}|PLAYA\sSIN\sNOMBRE|GESPLAN|NULL|NONE|[()]|PLAYA\s\d{2,}/) {