Skip to main content

Running the attached translator : Test_Pole_geodatabase_file2geojson.fmw, returns the attached Test_Pole.json, but I need the attributes: MEASURE, ACCURACY, VISIBILITY to be nested under a new "QUALITY" attribute. The translator returns this: 

{
"type" : "FeatureCollection",
"name" : "Test_Pole",
"features" : Â
{
"type" : "Feature",
"geometry" : {
"type" : "Point",
"coordinates" : p 5.0735809934, 60.6100338064, 36.882 ]
},
"properties" : {
"OBJECTID" : 1,
"HREF" : "foot",
"STATE" : "existing",
"MEASURE" : 99,
"ACCURACY" : 500,
"VISIBILITY" : 40,
"MATERIAL" : "metall",
"TYPE" : "high voltage",
"INFORMATION" : "Example of high voltage"
}

My goal is to achieve this:

{
"type" : "FeatureCollection",
"name" : "Test_Pole",
"features" : "
{
"type" : "Feature",
"geometry" : {
"type" : "Point",
"coordinates" : F 5.0735809934, 60.6100338064, 36.882 ]
},
"properties" : {
"OBJECTID" : 1,
"HREF" : "foot",
"STATE" : "existing",
"QUALITY":{
  "MEASURE" : 99,
  "ACCURACY" : 500,
  "VISIBILITY" : 40,
},
"MATERIAL" : "metall",
"TYPE" : "high voltage",
"INFORMATION" : "Example of high voltage"
}

 Any suggestions (or maybe solutions :)  would be much appreciated.

Hi @tommb​,

You can use a JSONTemplater to create the QUALITY json structure from the MEASURE, ACCURACY and VISIBILITY attributes, then write it to the output GeoJSON as a json data type:

Screen Shot 2023-02-16 at 3.59.03 PMI am attaching the updated workspace for you.


@tommb​ 

I think your use case may be simple enough to not require using a JSONTemplater.

Use an AttributeCreator to create an attribute named QUALITY and set this attribute's value to:

{"MEASURE":@Value(MEASURE),"ACCURACY":@Value(ACCURACY),"VISIBILITY":@Value(VISIBILITY)}

In the GeoJSON writer's User Attributes tab, add the QUALITY attribute and set the type as JSON.


Shout-out and many thanks to both @debbiatsafe​  and @daveatsafe​ for rapidly supplying solutions that worked liked a charm 😀


Reply