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)
{