diff --git a/conf/core/ConfigOptions.asciidoc b/conf/core/ConfigOptions.asciidoc index 0732f5c637..1cff8723d8 100644 --- a/conf/core/ConfigOptions.asciidoc +++ b/conf/core/ConfigOptions.asciidoc @@ -3568,6 +3568,13 @@ new file/layer. When exporting, remove all non-spec attributes from the features. I.e. Do a "clean" export. NOTE: This is destructive. It will drop data that is usually kept - OSMTAGS etc +=== ogr.compare.output + +* Data Type: bool +* Default Value: `false` + +Debugging: Print out the tags or attributes in a JSON structure so they can be cross referenced by UUID + === ogr.debug.addfcode * Data Type: bool diff --git a/scripts/schema/compareTrans.py b/scripts/schema/compareTrans.py new file mode 100755 index 0000000000..c9e5bc86fb --- /dev/null +++ b/scripts/schema/compareTrans.py @@ -0,0 +1,140 @@ +#!/usr/bin/python + + #/* + #* This file is part of Hootenanny. + #* + #* Hootenanny is free software: you can redistribute it and/or modify + #* it under the terms of the GNU General Public License as published by + #* the Free Software Foundation, either version 3 of the License, or + #* (at your option) any later version. + #* + #* This program is distributed in the hope that it will be useful, + #* but WITHOUT ANY WARRANTY; without even the implied warranty of + #* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + #* GNU General Public License for more details. + #* + #* You should have received a copy of the GNU General Public License + #* along with this program. If not, see . + #* + #* -------------------------------------------------------------------- + #* + #* The following copyright notices are generated automatically. If you + #* have a new notice to add, please use the format: + #* " * @copyright Copyright ..." + #* This will properly maintain the copyright information. Maxar + #* copyrights will be updated automatically. + #* + #* @copyright Copyright (C) 2022 Maxar (http://www.maxar.com/) + #*/ + + +# compareTrans.py +# +# Compare records based on UUID +# + +import sys,argparse,json + +def openFile(path, mode): + if path.endswith(".gz"): + return gzip.GzipFile(path, mode) + else: + return open(path, mode) + + +# The main loop to process a file +def processFiles(fileList,features): + for fName in fileList: + with openFile(fName, 'rb') as f: + for line in f: + if line[0] != '"': + continue + + data = json.loads('{' + line + '}') + item = next(iter(data)) # We only have a single object property + + if item not in features: + features[item] = {} + + if data[item]['direction'] not in features[item]: + features[item][data[item]['direction']] = {} + + if data[item]['layer'] not in features[item][data[item]['direction']]: + features[item][data[item]['direction']][data[item]['layer']] = {} + + features[item][data[item]['direction']][data[item]['layer']] = data[item]['tags'] + + return features +# End of processFile + + +def getLayer(data): + for i in data: + if i != 'outputOSM' and i != 'inputOSM': + return i +# end getData + + +########### +# Main Starts Here +# +parser = argparse.ArgumentParser(description='Process GGDM files and build a schema') +parser.add_argument('datafiles', help='The roughly JSON structured datafiles', action='store',nargs='+') + +args = parser.parse_args() + +features = {} +features = processFiles(args.datafiles,features) + +# Testing +item = next(iter(features)) # We only have a single object property + +for item in features: + print item + + if 'toOSM' not in features[item]: + print('# Missing toOSM') + continue + + inLayer = getLayer(features[item]['toOSM']) + + if 'toOgr' not in features[item]: + print "in:",inLayer,'out: Missing' + continue + + outLayer = getLayer(features[item]['toOgr']) + + print "in:",inLayer,'out:',outLayer + if outLayer != inLayer: + print "# Different layers: %s vs %s" % (inLayer,outLayer) + + # Look at the translated tags + inSet = set(features[item]['toOSM'][inLayer]) + outSet = set(features[item]['toOgr'][outLayer]) + + print "translated:" + print " in - out:",inSet - outSet + print " out - in:",outSet - inSet + + + # Look at the translated tags + inSet = set(features[item]['toOSM']['outputOSM']) + outSet = set(features[item]['toOgr']['inputOSM']) + + print "OSM:" + print " in - out:",inSet - outSet + print " out - in:",outSet - inSet + + print + + # Debug + # for i in features[item]: + # print i + # for j in features[item][i]: + # print j + # print features[item][i][j] + + + +# End + diff --git a/test-files/cmd/slow/TDSv40TranslationTest.sh b/test-files/cmd/slow/TDSv40TranslationTest.sh index 57a58ba924..bcd40225f4 100755 --- a/test-files/cmd/slow/TDSv40TranslationTest.sh +++ b/test-files/cmd/slow/TDSv40TranslationTest.sh @@ -4,7 +4,7 @@ set -e # Test the TDSv40 Translation inputDir=test-files/cmd/slow/TDSv40 -outputDir=test-output/cmd/slow/tdsv40_translation +outputDir=test-output/cmd/slow/tds40_translation TRANS=$HOOT_HOME/translations/TDSv40.js diff --git a/test-files/cmd/slow/TDSv71/TDSv71.osm b/test-files/cmd/slow/TDSv71/TDSv71.osm new file mode 100644 index 0000000000..e7f31f8365 --- /dev/null +++ b/test-files/cmd/slow/TDSv71/TDSv71.osm @@ -0,0 +1,3827 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test-files/cmd/slow/TDSv71TranslationTest.sh b/test-files/cmd/slow/TDSv71TranslationTest.sh new file mode 100755 index 0000000000..706d4ede51 --- /dev/null +++ b/test-files/cmd/slow/TDSv71TranslationTest.sh @@ -0,0 +1,36 @@ +#!/bin/bash +set -e + +# Test the TDSv71 Translation + +inputDir=$HOOT_HOME/test-files/cmd/slow/TDSv71 +outputDir=$HOOT_HOME/test-output/cmd/slow/tds71_translation + +TRANS=$HOOT_HOME/translations/TDSv71.js + +mkdir -p $outputDir +rm -rf $outputDir/* + +# Normal Hoot options +HOOT_OPT="--info -C Testing.conf" + +# Hoot options for debugging the test input and output +# NOTE: This will generate HEAPS of output. +# HOOT_OPT+=" -D ogr.debug.dumptags=true -D ogr.debug.lookupcolumn=true -D ogr.debug.lookupclash=true -D ogr.debug.dumpvalidate=true" + +COMPARE_OUTPUT=$HOOT_HOME/scripts/schema/compareTrans.py + +# Make shapefiles from the OSM file +hoot convert --error -D ogr.compare.output=true -D ogr.debug.dumptags=true \ + -D schema.translation.script=$TRANS \ + $inputDir/TDSv71.osm $outputDir/new_TDSv71.shp > $outputDir/x_testfile.txt + +# Convert the Shapefiles back to OSM +hoot convert --error -D ogr.compare.output=true -D ogr.debug.dumptags=true \ + -D schema.translation.script=$TRANS \ + $outputDir/new_TDSv71/*.shp $outputDir/new_TDSv71.osm > $outputDir/in_testfile.txt + +# Compare what went out to what comes back in_testfile + +$COMPARE_OUTPUT $outputDir/x_testfile.txt $outputDir/in_testfile.txt + diff --git a/test-files/cmd/slow/TDSv71TranslationTest.sh.stderr b/test-files/cmd/slow/TDSv71TranslationTest.sh.stderr new file mode 100644 index 0000000000..e69de29bb2 diff --git a/test-files/cmd/slow/TDSv71TranslationTest.sh.stdout b/test-files/cmd/slow/TDSv71TranslationTest.sh.stdout new file mode 100644 index 0000000000..75a513d9c6 --- /dev/null +++ b/test-files/cmd/slow/TDSv71TranslationTest.sh.stdout @@ -0,0 +1,1574 @@ +93522ADB-BA0C-4E44-9FAA-AC6D2370741B +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +3DF8F982-D64A-4196-83D0-2C6C01DC6EC9 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +87B5B534-F724-47AF-BC95-DC515692385C +# Missing toOSM +B710F27A-0366-4A3B-805D-E111A52C971C +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'wadi', u'error:circular']) + +A7694937-07D8-437B-8A03-384B8A3B7369 +in: StructureSrf out: StructureSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular', u'light:obstacle']) + +48124B31-53AB-4CA1-A965-8480943DFB7D +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +C7575604-8E31-4F89-A83A-2C247279CAE6 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source:name', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +FD5605A3-70B6-492B-896A-6BDB2E5E439C +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular']) + +932B5E3E-F9A8-481D-9C6F-CDF9786BAD19 +in: SettlementSrf out: SettlementSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +19AB50F6-8CE7-4EDD-892B-A59887739903 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular']) + +21962F08-469A-4714-9080-E7362841C21F +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'construction', u'error:circular']) + +31A7D704-3216-44D3-A71C-0FB3CCF1E44F +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +63DA8B8F-6C7E-4C12-9CDA-58163417FA41 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +AE014362-8C96-46B2-8149-D377ED03F334 +in: FacilitySrf out: FacilitySrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +68D0DD28-6B60-468A-B33C-EAA663675DC8 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +1339103F-9A67-4DC1-AA67-B590B33B3000 +in: StorageSrf out: StorageSrf +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +BC8D301F-0E78-43A3-B6EA-0FD0230C82B8 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +E5B6F022-4B34-44CF-BEF4-3BC1E170BB00 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +8DEDB86F-3331-41EF-BD39-63C5A809EABE +in: SettlementSrf out: SettlementSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +91B5CD10-C9A9-4573-983F-CD7EB41AFBF5 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +C5D722AF-C570-42DE-8AC6-4ABEA5A4983F +in: SettlementSrf out: SettlementSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +8994F53F-6565-4D7C-852D-47CC75023AE0 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +143203AA-06B0-49B2-9FCD-98C0F89E2FCB +in: StorageSrf out: StorageSrf +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +AC05FED0-E5D2-40EA-9916-B979E1E2FF49 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +26CB3035-D35E-4B09-AEBA-EC27BE6A0BB1 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +DB8DB081-3262-434E-9772-E6FF47DF657C +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +E68C306D-BD66-4A9C-896C-3A313A9C0A64 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular', u'light:obstacle']) + +18021657-B6E6-4B01-B5A4-41329DEF51D5 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +5653D95B-3B19-4B75-8571-4C67C4597227 +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'wadi', u'error:circular']) + +815AAC0F-05FD-41B2-9881-65311103DBEE +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular']) + +AF12E7C5-C4B9-4DB9-A11B-FE53910C9E0D +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +E0D8B175-219B-4811-A59E-C44FD731DE9B +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +433D3595-8958-477A-B978-6E29B258A43C +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:resource_owner', u'source:name', u'landuse', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'natural', u'error:circular']) + +C253DA4D-F6D4-41E1-A7AD-8BB6EA55D8F8 +in: AeronauticPnt out: AeronauticPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'building', u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'abandoned:building', u'error:circular', u'light:obstacle']) + +3B2ED22C-0C03-43EA-9AEF-C821705D007A +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source:name', u'security:resource_owner', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +C650708F-0984-4C35-A971-8154879AF68F +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'RMWC', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'gauge:type', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +1432B382-1299-4AA7-AF5F-C89E3C15234D +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +39D182E1-6088-4185-A1C4-7FC58B9C002C +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +22D1976E-F36F-46ED-896E-9B439E63DED5 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +5B3DCD21-281F-4F4A-8C94-9807837B0541 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source:name', u'security:resource_owner', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +964AC67B-8AE1-4320-8A68-F804510D076B +in: FacilityPnt out: FacilityPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +998EB9E9-E6A0-4284-8AAC-D4CC94E9A352 +in: FacilitySrf out: FacilitySrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +ADA3FB8E-D49A-412A-A427-1DF9FDBDDE9B +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular', u'light:obstacle']) + +CBCF9671-3825-46A9-8EF0-F1676648B43E +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +E0E597A8-F2FD-4982-B3F0-2DC6FFDEA549 +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +275A5223-4ADB-497D-9BA6-EDAC1DCA6B6F +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic', u'highway', u'condition']) + out - in: set([u'abandoned:highway', u'error:circular']) + +7CC3F7A2-845B-441E-A89F-D6939FB0F5F0 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +74F5436E-997B-472D-8BB4-A5AE953D2E5C +in: StructureCrv out: StructureCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'security:resource_owner', u'source', u'security:dissemination_control:non_ic', u'security:classification', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +12D8E91E-46D3-4EF4-B66D-FEA61C12AA20 +in: AeronauticPnt out: AeronauticPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +7F9B99DC-0C7A-4379-8010-C5FCD0E224F9 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +9BEACDCA-869F-4188-B894-5AB18E6A4FE3 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +843565F8-09E3-4F5B-9039-3F5341BD0841 +in: SettlementSrf out: SettlementSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +711B42AC-132C-44E5-8ECB-3F39451C41DA +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +79ADC4F4-A754-4818-B0A3-3A225EAE4AD8 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source:name', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +CF031628-1B2D-47E5-A715-D567EE5C4963 +in: FacilityPnt out: FacilityPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +9A518E65-127B-4F23-8D5F-38990FD6D667 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'construction', u'error:circular', u'light:obstacle']) + +6928C36D-69A3-43F4-AB53-4E1AC7E2FFBA +in: TransportationGroundPnt out: TransportationGroundPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular', u'public_transport']) + +5A1B64E8-D713-41FD-BD7E-252120EF275A +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +08B347F2-0039-4BDE-A17D-A456214F56E1 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +1514E475-0A8B-450D-8138-AF8623CBDD56 +in: StorageSrf out: StorageSrf +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +93248830-B208-4DEC-B4D5-971EEC822645 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +E3FE79CC-CD87-4E44-9D76-62086136BB95 +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +440884FB-8904-4333-9319-57451AC9FA38 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'building', u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'demolished:building', u'error:circular']) + +E76B27AE-22E0-43B0-B269-CA024BC2CA03 +in: SettlementSrf out: SettlementSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +5F4211F0-EA5A-44DF-8CD9-675BFDF37D00 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +9ECBC68C-79C6-4318-BAB0-9942BCDC58FE +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +69D80B50-1EB2-4FE6-8DB6-EA346395B285 +in: StructureSrf out: StructureSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular']) + +C87F3ED7-5656-4F80-B556-5B85DF1CB9BE +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'construction', u'error:circular']) + +5D83C96D-0F75-4626-8663-3BA50D8FAF1B +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +0A51DD03-F3DB-4B48-92E3-1F37A4E6CB16 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +0D490002-2C16-4659-8311-7B7C8B59B48E +in: SettlementSrf out: SettlementSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +128252CC-D3F2-4BDB-BA3D-DBE2DC69FEF2 +in: StorageSrf out: StorageSrf +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +25FA4462-4FC9-4F15-8193-FAAFD0891F5F +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +2DF4F57E-69BD-468A-9113-35434C475DC9 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +1435A737-6A0C-431A-A964-BE06DDB6122D +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +0803AEDC-8A51-4009-95E8-5F9A82869B72 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:resource_owner', u'source:name', u'landuse', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'natural', u'error:circular']) + +04876E5F-F7C8-4836-8910-A7C35212A064 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +2BB9C4AE-DEF9-4FCE-9AD2-F4F00BFC4537 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +34788650-9DC2-45B0-95EE-42F28C23F8F4 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular', u'light:obstacle']) + +11489FD2-31FE-40F1-9417-6C4E2FA2194F +in: StoragePnt out: StoragePnt +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +BF5E8938-4E6B-490D-94B5-DF4A2DA5EE76 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source:name', u'security:resource_owner', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +12449BC4-C059-4270-8D72-134FCF54291D +in: StoragePnt out: StoragePnt +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +7EDDCDF0-3E83-4658-88B5-C4DA67B9BF82 +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +10A5246E-415F-4B1D-9C12-4C15AB1C10B4 +in: StoragePnt out: StoragePnt +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +85D5644C-3347-403C-8479-31701BC34156 +# Missing toOSM +7A025070-C136-4E11-8E67-EF14135D50D6 +in: StructureSrf out: StructureSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'construction', u'error:circular']) + +C9C1F4EB-32D4-438D-8C4B-1EFABE1F0548 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +59302BE3-1415-48EB-96CC-C3D482AF34E1 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +149E733E-626F-45DB-BFCC-56AD12DE425A +in: StorageSrf out: StorageSrf +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +7ADB30EC-8975-460D-A5CA-DE395C3EB0E9 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +D9D0703D-83D7-4874-AC98-1B323E5DE301 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +A941263E-CA69-413D-9148-B2550CD5256D +in: AeronauticPnt out: AeronauticPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +87B593E6-EDD4-4556-9629-121CDE24DD8B +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:resource_owner', u'source:name', u'landuse', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'natural', u'error:circular']) + +01E8C028-8AFB-4C30-88E4-FED176B8FD9A +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +23BC0C51-26FE-4EC3-9A5B-3CD4792FB840 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:resource_owner', u'source:name', u'security:dissemination_control:non_ic', u'landuse', u'source:imagery:mosaic']) + out - in: set([u'natural', u'error:circular']) + +8B026A81-1F4E-4C4C-A2B2-40E750426B9E +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source:name', u'security:resource_owner', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +2728CC25-56FA-487F-801B-0D56BDACF98A +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +CDDE649E-AB52-416B-AA26-6188D3641214 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +0CB16BC6-3C09-482F-B31A-8144B1FB7430 +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +14093E3A-29DA-41E5-A13F-E8E43EF5D9CC +in: StorageSrf out: StorageSrf +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +E4600F2B-AE94-4934-8D6E-E4A55FE12F28 +# Missing toOSM +8B735764-25EB-4D52-B732-6C69ED0CD206 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +4C076D27-3EF4-4AD3-9137-920B4278CE6C +in: SettlementSrf out: SettlementSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +C0041728-2262-4969-BD62-4CA3607AF853 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'railway', u'source:imagery:mosaic', u'condition']) + out - in: set([u'error:circular', u'demolished:railway']) + +C9E03C34-8AB5-4F9C-B31F-5F4D316BC61D +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +F9F1E2E7-7699-4DD7-8271-586970F42122 +in: StructureSrf out: StructureSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'building', u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'abandoned:building', u'error:circular', u'light:obstacle']) + +CD706B59-6F0F-467B-8FF7-2BC5B22A8CEA +in: TransportationGroundPnt out: TransportationGroundPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +AEA98498-70B6-4BEB-9395-63F768F4F29E +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'wadi']) + +20599E44-9357-4B09-BC43-F3B5F7C47AC9 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'construction', u'shelter:type', u'error:circular']) + +B9745971-A030-4956-BA12-1BCD926F0F78 +in: StructureSrf out: StructureSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +E8CBC330-A431-4CF6-ADCF-73A9C8F10FE9 +in: StructureSrf out: StructureSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +2A8C5E62-61AD-4AB8-9DE3-6AA59AD6AD11 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +0A4336BE-41D4-4732-B495-791E2BEC9BCB +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +5DC03ED7-7F8B-4006-A53F-40F4267664C8 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'building', u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'demolished:building', u'error:circular']) + +9C86570D-5DAE-4EE4-A767-337C3F4E77F1 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source:name', u'security:resource_owner', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +BA0C8A94-7F45-4628-B15D-4DFB2AD3D1CA +in: SettlementPnt out: SettlementPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +5A91AA90-F929-4441-9FA4-D16CE062FC98 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source:name', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +F0ECD77E-FDAC-4DEB-BD9C-D4F84DAD328C +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +64C05490-22B9-44D1-8FB9-7A3130C08F9B +in: UtilityInfrastructurePnt out: UtilityInfrastructurePnt +translated: + in - out: set([u'TOS', u'img_mosaic', u'PYC', u'PYM', u'CAB']) + out - in: set([u'ZI032_PYM', u'ZI032_TOS', u'AT005_CAB', u'FCSUBTYPE', u'ZI032_PYC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +6F588533-90A0-4928-B7B3-3E452D1144AB +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +38816F81-A5BC-4FFF-954F-29423F09B76B +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +4C26FA83-EFC1-41A7-9568-768A390E6E54 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +AAD37B05-3771-44B8-ACE3-3F7933D18890 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'building', u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'abandoned:building', u'error:circular']) + +1811751E-7141-4DDC-884D-B17B26D4B9E5 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source:name', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +4C2A2CF3-9DDA-4A11-8F85-FDE7797B92E6 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +0914D0CC-D696-485E-89BC-1D4E0EDEE797 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:resource_owner', u'source:name', u'landuse', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'natural', u'error:circular']) + +38BB77AA-444E-49AA-9585-1D56253F7B6E +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +AF4E3199-44C2-477D-BB18-758584294DF8 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular']) + +BE171F7C-B9F1-47B6-8FCC-455508F11621 +in: UtilityInfrastructurePnt out: UtilityInfrastructurePnt +translated: + in - out: set([u'img_mosaic', u'GUG', u'TOS', u'PYM', u'CAB2', u'CAB']) + out - in: set([u'AT005_CAB2', u'FCSUBTYPE', u'ZI032_PYM', u'ZI032_GUG', u'AT005_CAB', u'ZI032_TOS']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +D8FAE562-B5CE-4529-92E4-DD209F69EE31 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +CED792BC-E484-494D-A019-602E72A43274 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:resource_owner', u'source:name', u'landuse', u'security:dissemination_control:non_ic', u'source:imagery:mosaic']) + out - in: set([u'natural', u'error:circular']) + +9E5F2B36-E9E5-4E61-8CCB-BFFB08256DD9 +in: TransportationGroundPnt out: TransportationGroundPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular']) + +ADA332AC-AEEC-428C-8011-5241C94F4B8E +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular']) + +0BCDE809-CDDC-4409-B0B9-91273D57E736 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +C484012C-333D-4AE9-B995-8F2190BE07FD +in: FacilityPnt out: FacilityPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +AF7324FD-6E0B-4347-8072-5978DF62DDDB +in: SettlementPnt out: SettlementPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +EEA2047E-4A2D-449E-9DEF-8D1BC1765166 +in: StructureSrf out: StructureSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +FA9CB0B5-6C5F-4353-874F-BE27ECB5A9E5 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +1EA0E03C-4BFA-4FCF-AA6C-D05676895F8E +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +B202F179-5156-4769-A5A0-031BB3468D10 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'construction', u'error:circular']) + +97C3C816-D0CC-4416-A906-7FF94D1FEEBA +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +2E82FBDF-171F-4A1E-AE7A-6CBE5A0922C7 +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +6921F190-E551-465E-868C-2AAF4E0534EF +in: SettlementPnt out: SettlementPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +DA3A5344-74C3-451A-A3C9-70CB1B527149 +in: VegetationSrf out: VegetationSrf +translated: + in - out: set([u'ZSAX_RX3', u'img_mosaic', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:resource_owner', u'source:name', u'security:dissemination_control:non_ic', u'landuse', u'source:imagery:mosaic']) + out - in: set([u'natural', u'error:circular']) + +1EAEA615-9A59-46D7-B0AE-1413898252AA +# Missing toOSM +3CDD04F4-A468-4DFE-A564-7E0369A9832B +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +1DEE6011-6730-4B71-ADB3-1A7FF398579F +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +0B2A16AC-0689-4388-A422-3945DE4CEEAF +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +65322290-34E9-4B36-90D0-0CF930EC8142 +in: AeronauticPnt out: AeronauticPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +0B86CAB4-AEF6-4D13-AAFB-83CB19E33950 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +EC56C1BD-CD9C-482B-9A0D-95A24282E305 +in: HydrographyCrv out: HydrographyCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +13389C28-59AC-4D20-9C29-D34FE8F84CC6 +in: StorageSrf out: StorageSrf +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +389F4414-8E8C-45A7-9935-3401C2EAF29D +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'SGCC', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +5995970C-4266-429F-AE1E-5146A77EAFEE +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'building', u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'abandoned:building', u'error:circular']) + +72BF2B85-D371-48B2-A5EF-54F45B492373 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +FB58F307-C7ED-4023-90D2-535B440BB474 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +127B406C-964F-4403-A275-40F096ADCABE +in: StoragePnt out: StoragePnt +translated: + in - out: set([u'ZSAX_RS0', u'ZI014_PPO', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'PPO']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +B865241D-FB0A-4662-8042-21378B5D8149 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +7B0243F4-29F8-40AF-85F6-85E3D923F37E +in: SettlementPnt out: SettlementPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +375F559B-1F8B-47C0-AD34-7F0DF3E6A60E +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +4AC17181-16E9-4BE0-BD7B-8CC68BBEEA59 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular']) + +09528206-90F4-4CBE-A616-1E5FB200D5EE +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +2E21028A-196A-4ABC-9235-E92296942756 +in: FacilityPnt out: FacilityPnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +5A9C3BDC-49B6-44C9-BA88-81C6B10104FB +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +C57BCB46-FABF-46F1-A3E6-2E77F4F5C32D +in: StructureSrf out: StructureSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'shelter:type', u'error:circular']) + +3BAF263F-4C66-4640-8A48-E98AEBA77678 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +76CCA591-23E3-4900-875F-5DAF40457BD3 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +8DDE26F8-3143-4D7A-B021-65DADE3722DA +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular', u'light:obstacle']) + +632DB716-7256-4B2C-B27D-593BF9A2093E +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +B14E13C0-5EA4-4B04-8CE9-422E15B3037E +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic', u'condition']) + out - in: set([u'construction', u'shelter:type', u'error:circular', u'light:obstacle']) + +DA1025EB-D540-4A47-900D-3687D3CD0E37 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +D2A441D2-5080-4C6B-9E05-B40ED6569FFD +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +18AB8349-3FB0-48EB-917B-49995B451FC5 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'source', u'railway', u'source:imagery:mosaic', u'condition']) + out - in: set([u'error:circular', u'abandoned:railway']) + +54698B56-A6C0-454D-A77F-FBC9A92CB6E6 +in: StructurePnt out: StructurePnt +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'use', u'shelter:type', u'error:circular']) + +627C4C65-2A14-4C7F-B8B9-9B799FE12F4F +in: RecreationSrf out: RecreationSrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +21ADAEDC-37CE-4C2A-BB73-FE7BA76F4093 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'SGCC', u'FCSUBTYPE', u'RMWC']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +8F97A17A-A3DF-40B4-9DC0-71228B65BF0A +in: FacilitySrf out: FacilitySrf +translated: + in - out: set([u'img_mosaic']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'source', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + +5632CD0A-D533-45B5-A873-049E718C0013 +in: TransportationGroundCrv out: TransportationGroundCrv +translated: + in - out: set([u'ZSAX_RS0', u'img_mosaic', u'ZSAX_RX3', u'ZSAX_RX4']) + out - in: set([u'FCSUBTYPE', u'OSMTAGS8', u'OSMTAGS2', u'OSMTAGS3', u'OSMTAGS4', u'OSMTAGS5', u'OSMTAGS6', u'OSMTAGS7']) +OSM: + in - out: set([u'security:classification', u'source', u'security:dissemination_control:non_ic', u'security:resource_owner', u'source:imagery:mosaic']) + out - in: set([u'error:circular']) + diff --git a/translations/tds70.js b/translations/tds70.js index 8db4d9c7f6..c7b5f6e291 100644 --- a/translations/tds70.js +++ b/translations/tds70.js @@ -855,16 +855,6 @@ tds70 = { // Add the LayerName to the source if ((! tags.source) && layerName !== '') tags.source = 'tdsv70:' + layerName.toLowerCase(); - // If we have a UFI, store it. Some of the MAAX data has a LINK_ID instead of a UFI - if (attrs.UFI) - { - tags.uuid = '{' + attrs['UFI'].toString().toLowerCase() + '}'; - } - else - { - if (tds70.configIn.OgrAddUuid == 'true') tags.uuid = createUuid(); - } - if (tds70.osmPostRules == undefined) { // ############## @@ -1240,7 +1230,7 @@ tds70 = { } // End switch // Religious buildings: Church, Pagoda, Temple etc - if (attrs.ZI037_REL && tags.amenity !== 'place_of_worship') + if (attrs.ZI037_REL && attrs.ZI037_REL != '14' && tags.amenity !== 'place_of_worship') { tags.amenity = 'place_of_worship'; } @@ -2328,20 +2318,20 @@ tds70 = { } } - // Sort out the UUID - if (attrs.UFI) - { - var str = attrs['UFI'].split(';'); - attrs.UFI = str[0].replace('{','').replace('}',''); - } - else if (tags['hoot:id']) - { - attrs.UFI = 'raw_id:' + tags['hoot:id']; - } - else - { - if (tds70.configOut.OgrAddUuid == 'true') attrs.UFI = createUuid().replace('{','').replace('}',''); - } + // // Sort out the UUID + // if (attrs.UFI) + // { + // var str = attrs['UFI'].split(';'); + // attrs.UFI = str[0].replace('{','').replace('}',''); + // } + // else if (tags['hoot:id']) + // { + // attrs.UFI = 'raw_id:' + tags['hoot:id']; + // } + // else + // { + // if (tds70.configOut.OgrAddUuid == 'true') attrs.UFI = createUuid().replace('{','').replace('}',''); + // } // Add Weather Restrictions to transportation features if (['AP010','AP030','AP050'].indexOf(attrs.FCODE > -1) && !attrs.ZI016_WTC ) @@ -2714,6 +2704,7 @@ tds70 = { { tds70.configIn = {}; tds70.configIn.OgrAddUuid = hoot.Settings.get('ogr.add.uuid'); + tds70.configIn.OgrCompareOutput = hoot.Settings.get('ogr.compare.output') tds70.configIn.OgrDebugAddfcode = hoot.Settings.get('ogr.debug.addfcode'); tds70.configIn.OgrDebugDumptags = hoot.Settings.get('ogr.debug.dumptags'); @@ -2777,6 +2768,35 @@ tds70 = { // Clean out the usless values tds70.cleanAttrs(attrs); + // Doing this early so we can get better debug output + if (tds70.configIn.OgrAddUuid == 'true') + { + var uuidField = 'UFI'; + + // Dataset_S Why????? + if (attrs.F_CODE == 'ZI031') + { + if (attrs.ZI002_UFI) + { + uuidField = 'ZI002_UFI'; + } + else if (attrs.URI) + { + uuidField = 'URI'; + } + else + { + attrs.ZI002_UFI = createUuid(); + } + } + else + { + if (!attrs.UFI) attrs.UFI = createUuid(); + } + } + + if (tds70.configIn.OgrCompareOutput == 'true') translate.compareOutput(attrs,uuidField,layerName,'toOSM'); + // Untangle TDS attributes & OSM tags. // NOTE: This could get wrapped with an ENV variable so it only gets called during import translate.untangleAttributes(attrs,tags,tds70); @@ -2853,6 +2873,13 @@ tds70 = { // Override tag values if appropriate translate.overrideValues(tags,tds70.toChange); + if (tds70.configIn.OgrCompareOutput == 'true') + { + var uuidField = 'uuid'; + if (!tags.uuid && tags['source:ref']) uuidField = 'source:ref' + translate.compareOutput(tags,uuidField,'outputOSM','toOSM'); + } + return tags; }, // End of toOsm @@ -2874,6 +2901,7 @@ tds70 = { { tds70.configOut = {}; tds70.configOut.OgrAddUuid = hoot.Settings.get('ogr.add.uuid'); + tds70.configOut.OgrCompareOutput = hoot.Settings.get('ogr.compare.output') tds70.configOut.OgrDebugDumptags = hoot.Settings.get('ogr.debug.dumptags'); tds70.configOut.OgrDebugDumpvalidate = hoot.Settings.get('ogr.debug.dumpvalidate'); tds70.configOut.OgrEsriFcsubtype = hoot.Settings.get('ogr.esri.fcsubtype'); @@ -2944,6 +2972,11 @@ tds70 = { // } } // End tds70.lookup Undefined + // Doing this early to help the debug output + if (!tags.uuid && tds70.configOut.OgrAddUuid == 'true') tags.uuid = createUuid(); + + if (tds70.configOut.OgrCompareOutput == 'true') translate.compareOutput(tags,'uuid','inputOSM','toOgr'); + // Override values if appropriate translate.overrideValues(tags,tds70.toChange); @@ -3119,6 +3152,8 @@ tds70 = { delete tags['hoot:id']; } + if (tds70.configOut.OgrCompareOutput == 'true') translate.compareOutput(tags,'uuid',tableName,'toOgr'); + // Convert all of the Tags to a string so we can jam it into an attribute // var str = JSON.stringify(tags); var str = JSON.stringify(tags,Object.keys(tags).sort()); @@ -3158,6 +3193,20 @@ tds70 = { print(''); } + // Debug: + if (tds70.configOut.OgrCompareOutput == 'true') + { + for (var i = 0, fLen = returnData.length; i < fLen; i++) + { + var uuidField = 'UFI'; + + // Some of the ResourceSrf features only have a URI + if (returnData[i]['attrs']['URI']) uuidField = 'URI'; + + if (returnData[i]['tableName'].indexOf('o2s_') == -1) translate.compareOutput(returnData[i]['attrs'],uuidField,returnData[i]['tableName'],'toOgr'); + } + } + return returnData; } // End of toOgr diff --git a/translations/tds70_rules.js b/translations/tds70_rules.js index f438a0cf3a..638a1b21fd 100644 --- a/translations/tds70_rules.js +++ b/translations/tds70_rules.js @@ -1119,7 +1119,8 @@ tds70.rules = { ['FFN','385','use','materials_recovery'], // Materials Recovery ['FFN','440','use','commercial'], // Commerce ['FFN','459','shop','wholesale'], // Wholesale Merchant - ['FFN','460','shop','yes'], // Retail Sale + // ['FFN','460','shop','yes'], // Retail Sale + ['FFN','460','use','retail_sale'], // Retail Sale ['FFN','464','shop','specialized'], // Specialized Store ['FFN','465','shop','non-specialized'], // Non-specialized Store ['FFN','466','shop','convenience'], // Convenience Store @@ -1134,7 +1135,7 @@ tds70.rules = { ['FFN','481','use','terminal'], // Terminal ['FFN','482','public_transport','station'], // Station ['FFN','483','amenity','stop'], // Stop - ['FFN','484','amenity','transfer_hub'], // Transfer Hub + ['FFN','484','use','transfer_hub'], // Transfer Hub ['FFN','486','use','signalling'], // Signalling ['FFN','487','use','transport_system_maintenance'], // Transport System Maintenance ['FFN','488','use','navigation'], // Navigation - Not great, used in a number of FCodes @@ -1953,7 +1954,6 @@ tds70.rules = { ['MGL','9','geopolitical_line:maritime','customs_boundary'], // Customs Boundary ['MGL','999','geopolitical_line:maritime','other'], // Other - // MNS - Man-made Shoreline // ['MNS','-999999',undefined,undefined], // No Information ['MNS','1000','man_made:shoreline','no'], @@ -4021,7 +4021,6 @@ tds70.rules = { ], // ##### End of fCodeMap ##### - // ##### Start of closureList ##### closureList : { 'GSGCHC':['GSGCHL','GSGCHU'], @@ -4061,11 +4060,6 @@ tds70.rules = { // ##### Start of swapListOut ##### // Format is: :{:} swapListOut : { - 'AT042':{'GUG':'ZI032_GUG', 'PYC':'ZI032_PYC', 'PYM':'ZI032_PYM', 'TOS':'ZI032_TOS', 'CAB':'AT005_CAB','CAB2':'AT005_CAB2','CAB3':'AT005_CAB3'}, - 'GB045':{'ZI019_ASU':'ASU', 'ZI019_ASU2':'ASU2', 'ZI019_ASU3':'ASU3'}, - 'ZI031':{'ZI006_MEM':'MEM', 'ZI004_RCG':'RCG', 'UFI':'ZI002_UFI'}, - 'AT005':{'WLE':'ZI025_WLE'}, - 'BD100':{'WLE':'ZI025_WLE'}, 'AA010':{'ZI014_PPO':'PPO', 'ZI014_PPO2':'PPO2', 'ZI014_PPO3':'PPO3'}, 'AA020':{'ZI014_PPO':'PPO', 'ZI014_PPO2':'PPO2', 'ZI014_PPO3':'PPO3'}, 'AA040':{'ZI014_PPO':'PPO', 'ZI014_PPO2':'PPO2', 'ZI014_PPO3':'PPO3'}, @@ -4085,11 +4079,15 @@ tds70.rules = { 'AM080':{'ZI014_YWQ':'YWQ'}, 'AQ113':{'ZI014_PPO':'PPO','ZI014_PPO2':'PPO2', 'ZI014_PPO3':'PPO3'}, 'AQ116':{'ZI014_PPO':'PPO','ZI014_PPO2':'PPO2', 'ZI014_PPO3':'PPO3'}, + 'AT005':{'WLE':'ZI025_WLE'}, + 'AT042':{'GUG':'ZI032_GUG', 'PYC':'ZI032_PYC', 'PYM':'ZI032_PYM', 'TOS':'ZI032_TOS', 'CAB':'AT005_CAB','CAB2':'AT005_CAB2','CAB3':'AT005_CAB3'}, + 'BD100':{'WLE':'ZI025_WLE'}, 'BH051':{'ZI014_PPO':'PPO', 'ZI014_PPO2':'PPO2', 'ZI014_PPO3':'PPO3'}, 'BH070':{'PWA':'WBD'}, 'DB029':{'FFN':'ZI071_FFN', 'FFN2':'ZI071_FFN2', 'FFN3':'ZI071_FFN3'}, + 'GB045':{'ZI019_ASU':'ASU', 'ZI019_ASU2':'ASU2', 'ZI019_ASU3':'ASU3'}, + 'ZI031':{'ZI006_MEM':'MEM', 'ZI004_RCG':'RCG', 'UFI':'ZI002_UFI'}, }, - // ##### End of swapListOut ##### // ##### Start of txtLength ##### diff --git a/translations/tds71.js b/translations/tds71.js index 19d9f87a30..392ea171b4 100644 --- a/translations/tds71.js +++ b/translations/tds71.js @@ -805,16 +805,6 @@ tds71 = { // Add the LayerName to the source if ((! tags.source) && layerName !== '') tags.source = 'tdsv71:' + layerName.toLowerCase(); - // If we have a UFI, store it. Some of the MAAX data has a LINK_ID instead of a UFI - if (attrs.UFI) - { - tags.uuid = '{' + attrs['UFI'].toString().toLowerCase() + '}'; - } - else - { - if (tds71.configIn.OgrAddUuid == 'true') tags.uuid = createUuid(); - } - if (tds71.osmPostRules == undefined) { // ############## @@ -1197,7 +1187,7 @@ tds71 = { } // End switch // Religious buildings: Church, Pagoda, Temple etc - if (attrs.ZI037_REL && tags.amenity !== 'place_of_worship') + if (attrs.ZI037_REL && attrs.ZI037_REL !== '14' && tags.amenity !== 'place_of_worship') { tags.amenity = 'place_of_worship'; } @@ -1537,11 +1527,11 @@ tds71 = { } // Wind Turbines, Solar Panels etc vs power plants - // if (tags['generator:source']) - // { - // delete tags.power; - // } - if (tags.power == 'generator') + if (tags['generator:source'] && tags.power == 'generator') + { + delete tags.power; + } + else if (tags.power == 'generator') { attrs.F_CODE = 'AL013'; tags.use = 'power_generation'; @@ -1652,7 +1642,7 @@ tds71 = { } // Sort out tidal features - if (tags.tidal && (tags.water || tags.waterway)) + if (tags.tidal && (tags.water || tags.waterway || tags.landuse == 'port')) { if (tags.tidal == 'yes') attrs.TID = '1001'; // Tidal if (tags.tidal == 'no') attrs.TID = '1000'; // non-Tidal @@ -2302,19 +2292,19 @@ tds71 = { } // Sort out the UUID - if (attrs.UFI) - { - var str = attrs['UFI'].split(';'); - attrs.UFI = str[0].replace('{','').replace('}',''); - } - else if (tags['hoot:id']) - { - attrs.UFI = 'raw_id:' + tags['hoot:id']; - } - else - { - if (tds71.configOut.OgrAddUuid == 'true') attrs.UFI = createUuid().replace('{','').replace('}',''); - } + // if (attrs.UFI) + // { + // var str = attrs['UFI'].split(';'); + // attrs.UFI = str[0].replace('{','').replace('}',''); + // } + // else if (tags['hoot:id']) + // { + // attrs.UFI = 'raw_id:' + tags['hoot:id']; + // } + // else + // { + // if (tds71.configOut.OgrAddUuid == 'true') attrs.UFI = createUuid().replace('{','').replace('}',''); + // } // Add Weather Restrictions to transportation features if (['AP010','AP030','AP050'].indexOf(attrs.FCODE > -1) && !attrs.ZI016_WTC ) @@ -2688,6 +2678,7 @@ tds71 = { { tds71.configIn = {}; tds71.configIn.OgrAddUuid = hoot.Settings.get('ogr.add.uuid'); + tds71.configIn.OgrCompareOutput = hoot.Settings.get('ogr.compare.output') tds71.configIn.OgrDebugAddfcode = hoot.Settings.get('ogr.debug.addfcode'); tds71.configIn.OgrDebugDumptags = hoot.Settings.get('ogr.debug.dumptags'); @@ -2748,6 +2739,21 @@ tds71 = { // translate.dumpOne2OneLookup(tds71.lookup); } + // Doing this early so we can get better debug output + var uuidField = 'UFI'; + if (attrs.F_CODE == 'ZI031') + { + if (!attrs.URI && tds71.configIn.OgrAddUuid == 'true') attrs.URI = createUuid(); + uuidField = 'URI'; + } + else + { + if (!attrs.UFI && tds71.configIn.OgrAddUuid == 'true') attrs.UFI = createUuid(); + } + + // Keeping the output AFTER the clean. Might have to put this back in after more testing + // if (tds71.configIn.OgrCompareOutput == 'true') translate.compareOutput(attrs,uuidField,layerName,'toOSM'); + // Untangle TDS attributes & OSM tags. // NOTE: This could get wrapped with an ENV variable so it only gets called during import translate.untangleAttributes(attrs,tags,tds71); @@ -2756,6 +2762,8 @@ tds71 = { // NOTE: Doing this AFTER the untangle since untangle will push attrs to upper case tds71.cleanAttrs(attrs); + if (tds71.configIn.OgrCompareOutput == 'true') translate.compareOutput(attrs,'UFI',layerName,'toOSM'); + // Debug: if (tds71.configIn.OgrDebugDumptags == 'true') { @@ -2828,6 +2836,14 @@ tds71 = { // Override tag values if appropriate translate.overrideValues(tags,tds71.toChange); + if (tds71.configIn.OgrCompareOutput == 'true') + { + var uuidField = 'uuid'; + if (!tags.uuid && tags['source:ref']) uuidField = 'source:ref' + + translate.compareOutput(tags,uuidField,'outputOSM','toOSM'); + } + return tags; }, // End of toOsm @@ -2850,6 +2866,7 @@ tds71 = { tds71.configOut = {}; tds71.configOut.OgrAddUuid = hoot.Settings.get('ogr.add.uuid'); tds71.configOut.OgrCleanExport = hoot.Settings.get('ogr.clean.export') + tds71.configOut.OgrCompareOutput = hoot.Settings.get('ogr.compare.output') tds71.configOut.OgrDebugDumptags = hoot.Settings.get('ogr.debug.dumptags'); tds71.configOut.OgrDebugDumpvalidate = hoot.Settings.get('ogr.debug.dumpvalidate'); tds71.configOut.OgrEsriFcsubtype = hoot.Settings.get('ogr.esri.fcsubtype'); @@ -2870,8 +2887,7 @@ tds71 = { var tmp_schema = tds71.getDbSchema(); } - // Start processing here - // Debug: + // Debug if (tds71.configOut.OgrDebugDumptags == 'true') translate.debugOutput(tags,'',geometryType,elementType,'In tags: '); // The Nuke Option: If we have a relation, drop the feature and carry on @@ -2893,8 +2909,6 @@ tds71 = { // translation to an FCode tds71.fcodeLookupOut = translate.createBackwardsLookup(tds71.rules.fcodeOne2oneOut); - // Debug - if (tds71.configOut.OgrDebugDumptags == 'true') translate.debugOutput(tags,'',geometryType,elementType,'In tags: '); } if (tds71.lookup == undefined) @@ -2908,7 +2922,6 @@ tds71 = { // Make the fuzzy lookup table tds71.fuzzy = schemaTools.generateToOgrTable(tds71.rules.fuzzyTable); - // Debug // for (var k1 in tds71.fuzzy) // { @@ -2919,6 +2932,17 @@ tds71 = { // } } // End tds71.lookup Undefined + // Doing this early to help the debug output + if (!tags.uuid && !tags['source:ref'] && tds71.configOut.OgrAddUuid == 'true') tags.uuid = createUuid(); + + if (tds71.configOut.OgrCompareOutput == 'true') + { + var uuidField = 'uuid'; + if (!tags.uuid && tags['source:ref']) uuidField = 'source:ref' + + translate.compareOutput(tags,uuidField,'inputOSM','toOgr'); + } + // Override values if appropriate translate.overrideValues(tags,tds71.toChange); @@ -3085,6 +3109,8 @@ tds71 = { delete tags['hoot:id']; } + if (tds71.configOut.OgrCompareOutput == 'true') translate.compareOutput(tags,'uuid',tableName,'toOgr'); + // Convert all of the Tags to a string so we can jam it into an attribute // var str = JSON.stringify(tags); var str = JSON.stringify(tags,Object.keys(tags).sort()); @@ -3124,6 +3150,20 @@ tds71 = { print(''); } + // Debug: + if (tds71.configOut.OgrCompareOutput == 'true') + { + for (var i = 0, fLen = returnData.length; i < fLen; i++) + { + var uuidField = 'UFI'; + + // Some of the ResourceSrf features only have a URI + if (returnData[i]['attrs']['URI']) uuidField = 'URI'; + + if (returnData[i]['tableName'].indexOf('o2s_') == -1) translate.compareOutput(returnData[i]['attrs'],uuidField,returnData[i]['tableName'],'toOgr'); + } + } + return returnData; } // End of toOgr diff --git a/translations/tds71_rules.js b/translations/tds71_rules.js index c35d63ae22..157ab54173 100644 --- a/translations/tds71_rules.js +++ b/translations/tds71_rules.js @@ -200,7 +200,6 @@ tds71.rules = { 'UFI':'uuid', // Unique Feature Identifier. This gets cleaned up in post processing 'URI':'source:ref', // Unique Resource Identifier 'USAGE':'navaid:usage', // USAGE - 'URI':'source:ref', // Unique Resource Identifier 'VOI':'aeroway:obstruction', // Vertical Obstruction Identifier 'WAC':'world_aeronautical_chart', // WAC 'WPI':'world_port_index', // World Port Index Identifier - This is part of Built Up Area. What?? @@ -1260,7 +1259,8 @@ tds71.rules = { ['FFN','385','use','materials_recovery'], // Materials Recovery ['FFN','440','use','commercial'], // Commerce ['FFN','459','shop','wholesale'], // Wholesale Merchant - ['FFN','460','shop','yes'], // Retail Sale + // ['FFN','460','shop','yes'], // Retail Sale + ['FFN','460','use','retail_sale'], // Retail Sale ['FFN','464','shop','specialized'], // Specialized Store ['FFN','465','shop','non-specialized'], // Non-specialized Store ['FFN','466','shop','convenience'], // Convenience Store @@ -1275,7 +1275,7 @@ tds71.rules = { ['FFN','481','use','terminal'], // Terminal ['FFN','482','public_transport','station'], // Station ['FFN','483','amenity','stop'], // Stop - ['FFN','484','amenity','transfer_hub'], // Transfer Hub + ['FFN','484','use','transfer_hub'], // Transfer Hub ['FFN','486','use','signalling'], // Signalling ['FFN','487','use','transport_system_maintenance'], // Transport System Maintenance ['FFN','488','use','navigation'], // Navigation - Not great, used in a number of FCodes @@ -4221,8 +4221,6 @@ tds71.rules = { ['ZI014_PRW','154','raw_material','sulphur'], // Sulphur From PRW ['ZI014_PRW','999','raw_material','other'], // Other - - // ZI014_PRW2 - Manufacturing Information : Raw Material [2] // ZI014_PRW3 - Manufacturing Information : Raw Material [3] @@ -4707,7 +4705,6 @@ tds71.rules = { ['TRE','2','wood','evergreen'], // Evergreen ['TRE','3','wood','mixed'], // Mixed ['TRE','999','wood','other'], // Other - ], // End one2oneOut // ##### End of One2One Rules ##### @@ -4805,6 +4802,14 @@ tds71.rules = { ], // ##### End of ignoreList ##### + // multiList - List of things that have multiple versions. E.g. FFN, FFN2, FFN3 + multiList : [ + 'APT','APU','ASU','AT005_CAB','BMC','BSC','CVT','FFN','FHC','FRT','HST','MCC','PBY','PLT','POS','PPO','PRW','RIN_ROI','RRC','SBT', + 'SSR','STL','TRS','TSM','TTC','VCA','VCM','VSP','ZI013_CSP','ZI013_FFP','ZI013_FMM','ZI014_PBY','ZI014_PPO','ZI014_PRW','ZI019_ASP', + 'ZI019_ASU','ZI071_FFN' + ], + // ##### End of multiList ##### + // ##### Start of fCodeMap ##### // This is a map of FCODE's and filenames fCodeMap : [ @@ -4894,6 +4899,7 @@ tds71.rules = { 'PBY':'ZI014_PBY', 'PBY2':'ZI014_PBY2', 'PBY3':'ZI014_PBY3', 'PPO':'ZI014_PPO', 'PPO2':'ZI014_PPO2', 'PPO3':'ZI014_PPO3', 'PRW':'ZI014_PRW', 'PRW2':'ZI014_PRW2', 'PRW3':'ZI014_PRW3', + 'URI':'UFI', 'WBD':'PWA', 'YWQ':'ZI024_YWQ', 'ZI032_TOS':'TOS', @@ -4932,9 +4938,8 @@ tds71.rules = { 'BH070':{'PWA':'WBD'}, 'DB029':{'FFN':'ZI071_FFN', 'FFN2':'ZI071_FFN2', 'FFN3':'ZI071_FFN3'}, 'GB045':{'ZI019_ASU':'ASU', 'ZI019_ASU2':'ASU2', 'ZI019_ASU3':'ASU3'}, - 'ZI031':{'ZI006_MEM':'MEM', 'ZI004_RCG':'RCG', 'UFI':'ZI002_UFI'}, + 'ZI031':{'ZI006_MEM':'MEM', 'ZI004_RCG':'RCG', 'UFI':'URI'}, }, - // ##### End of swapListOut ##### // ##### Start of txtLength ##### diff --git a/translations/translate.js b/translations/translate.js index af13c5049a..61cc3c5239 100644 --- a/translations/translate.js +++ b/translations/translate.js @@ -363,7 +363,7 @@ translate = { var value = inList[key]; // Debug - // print('key: ' + key + ' value: ' + value); + // print('\nkey: ' + key + ' value: ' + value); if (key in lookup) { @@ -379,6 +379,9 @@ translate = { // Drop all of the undefined values and only continue if we have a value if (row[0]) { + // Debug + // print('Got row[0] from : ' + row) + // Make sure that we don't stomp on already assigned values // unless the first n-1 characters are identical then we replace with the higher value // (used for cases of where the more specific ffn code is a higher value) @@ -388,7 +391,7 @@ translate = { { outList[row[0]] = this.getMaxAsString(outList[row[0]], row[1]); // Debug - // print('Used:' + key + ' = ' + inList[key]); + // print('Used:' + key + ' = ' + inList[key] + ' as ' + row[0] + ' = ' + this.getMaxAsString(outList[row[0]], row[1])); delete inList[key]; } else if (! outList[row[0] + '2'] || outList[row[0] + '2'].slice(0, -1) === row[1].slice(0, -1)) @@ -1629,6 +1632,27 @@ translate = { }, // End addFdName + // compareOutput - Dump out tags or attributes in a JSON format to make it easier to match translated features + compareOutput : function(values,uuidField,layerName='layer',direction='toOsm') + { + var outStr = '"'; + if (values[uuidField]) + { + outStr += values[uuidField].toString().replace('{','').replace('}','').toUpperCase(); + } + else + { + outStr += 'XXX'; + } + outStr += '":{"layer":"' + layerName +'","direction":"' + direction + '",'; + // print('"' + uuidField + '":' + JSON.stringify(values,Object.keys(values).sort())); + outStr += '"tags":' + JSON.stringify(values,Object.keys(values).sort()) + '}' + + print(outStr); + + }, // End compareOutput + + // debugOutput - Dump out tags or attributes to figure out what is going on debugOutput : function(values,layerName,geometryType,elementType,text) {