{"id":892,"date":"2026-10-27T14:52:47","date_gmt":"2026-10-27T14:52:47","guid":{"rendered":"https:\/\/blog.smileconsult.de\/?p=892"},"modified":"2026-10-27T14:52:48","modified_gmt":"2026-10-27T14:52:48","slug":"automatisierter-export-von-seevermessungsdaten-ueber-die-json-automatisierungs-schnittstelle-von-gismo","status":"publish","type":"post","link":"http:\/\/blog.smileconsult.de\/?p=892","title":{"rendered":"Automatisierter Export von Seevermessungsdaten \u00fcber die JSON-Automatisierungs-schnittstelle von GISMO"},"content":{"rendered":"\n<p>Um die Abgabe der Seevermessungsdaten zu optimieren, haben wir in der BSH-Seevermessung einen Workflow zum Export der Daten erstellt. Hierf\u00fcr wird an die JSON-Automatisierungsschnittstelle in GISMO eine Aufgabennummer \u00fcbergeben und die notwendigen Informationen, wie z.B. Geometrien und Metadaten, extrahiert.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Anpassung einer JSON-Vorlage zur Metadatenextraktion<\/h2>\n\n\n\n<p>Die Vorlage kann in GISMO \u00fcber die grafische Oberfl\u00e4che erstellt werden. F\u00fcr die beschriebene Exportaufgabe verwenden wir die folgende Struktur:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;\n    {\n        \"DatabaseServerConnectionSCS\": {\n            \"server\": \"****\",\n            \"port\": \"****\",\n            \"scs_user\": \"****\",\n            \"scs_password\": \"****\",\n            \"connectionVar\": \"mySCSConnection\"\n        }\n    },\n    {\n        \"Database\": {\n            \"connectionVar\": \"mySCSConnection\",\n            \"databaseVar\": \"myDatabase\",\n            \"databaseName\": \"****\"\n        }\n    },\n    {\n         \"MetadataList\": {\n             \"databaseVar\": \"currentDatabase\",\n             \"metadataListVar\": \"myMetadataList\",\n             \"metadataFilters\": &#091;\n                 {\n                     \"MetadataFilterText\": {\n                         \"value\": \"****\",\n                         \"metadataKey\": \"****\",\n                         \"exclude\": false,\n                         \"mode\": \"equals\"\n                     }\n                 },\n                 {\n                     \"MetadataFilterText\": {\n                         \"value\": \"****\",\n                         \"metadataKey\": \"****\",\n                         \"exclude\": false,\n                         \"mode\": \"contains\"\n                     }\n                 }\n             ]\n         }\n     },\n     {\n         \"MetadataListExport\": {\n             \"metadataListVar\": \"myMetadataList\",\n             \"filename\": \"****.txt\",\n             \"metadataKeys\": \"****,****,****\",\n             \"format\": \"CSV\"\n         }\n     }\n]<\/code><\/pre>\n\n\n\n<p>Im Block &#8222;DatabaseServerConnectionSCS&#8220; werden die Verbindungsinformationen angelegt.<\/p>\n\n\n\n<p>Anhand der \u00fcbergebenen Aufgabennummer wird \u00fcber ein Python-Skript festgestellt, welche Datenbank angesprochen werden muss. Im zweiten Block &#8222;DatabaseList&#8220; wird die Verbindung zu dieser Datenbank hergestellt.<br>Daraufhin wird eine Metadatenliste erzeugt, die anhand eines Textfilters nur den Datensatz f\u00fcr die Aufgabennummer herausgibt.<br>Im Anschluss wird diese Metadatenliste in Form einer Textdatei abgespeichert und so f\u00fcr die Weiterverarbeitung bereitgestellt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Automatisierte Extraktion der Geometrien<\/h2>\n\n\n\n<p>Anhand verschiedener Kriterien wird \u00fcber das Python-Skript eine zweite JSON-Vorlage f\u00fcr den Datenexport angepasst. Je nach Aufnahmeverfahren und Kunden werden die Daten in unterschiedlichen Formaten (bspw. &#8222;.xyz&#8220;, &#8222;.txt&#8220; oder &#8222;.nc&#8220;) ben\u00f6tigt. Mit dieser Vorlage wird pro ben\u00f6tigten Datenformat die Extraktion ausgef\u00fchrt.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#091;\n    {\n        \"DatabaseServerConnectionSCS\": {\n            \"server\": \"****\",\n            \"port\": \"****\",\n            \"scs_user\": \"****\",\n            \"scs_password\": \"****\",\n            \"connectionVar\": \"mySCSConnection\"\n        }\n    },\n    {\n        \"DatabaseList\": {\n            \"connectionVar\": \"mySCSConnection\",\n            \"databaseListVar\": \"myDBList\",\n            \"databaseFilters\": &#091;\n                {\n                    \"DatabaseFilter\": {\n                        \"value\": \"****\",\n                        \"exclude\": false,\n                        \"mode\": \"equals\"\n                    }\n                }\n            ]\n        }\n    },\n    {\n        \"DatabaseListLoop\": {\n            \"databaseListVar\": \"myDBList\",\n            \"variableName\": \"currentDatabase\",\n            \"loop\": &#091;\n                {\n                    \"MetadataList\": {\n                        \"databaseVar\": \"currentDatabase\",\n                        \"metadataListVar\": \"myMetadataList\",\n                        \"metadataFilters\": &#091;\n                            {\n                                \"MetadataFilterText\": {\n                                    \"value\": \"****\",\n                                    \"metadataKey\": \"****\",\n                                    \"exclude\": false,\n                                    \"mode\": \"equals\"\n                                }\n                            },\n                            {\n                                \"MetadataFilterText\": {\n                                    \"value\": \"****\",\n                                    \"metadataKey\": \"****\",\n                                    \"exclude\": false,\n                                    \"mode\": \"equals\"\n                                }\n                            }\n                        ]\n                    }\n                },\n                {\n                    \"MetadataListLoop\": {\n                        \"metadataListVar\": \"myMetadataList\",\n                        \"variableName\": \"currentMetadata\",\n                        \"currentMetadataTitle\": \"currentMetadataTitle\",\n                        \"currentMetadataIndex\": \"currentMetadataIndex\",\n                        \"currentMetadataListLength\": \"currentMetadataListLength\",\n                        \"loop\": &#091;\n                            {\n                                \"MetadataLayerLoad\": {\n                                    \"metadataVar\": \"currentMetadata\",\n                                    \"layerVar\": \"myLayer\"\n                                }\n                            },\n                            {\n                                \"CoordinatesEdit\": {\n                                    \"operation\": \"*\",\n                                    \"value\": \"-1\",\n                                    \"editX\": false,\n                                    \"editY\": false,\n                                    \"editZ\": true,\n                                    \"layerVar\": \"myLayer\"\n                                }\n                            },\n                            {\n                                \"LayerSave\": {\n                                    \"filename\": \"****.txt\",\n                                    \"format\": \"XYZ\",\n                                    \"layerVar\": \"myLayer\",\n                                    \"configFilename\": \"\"\n                                }\n                            }\n                        ]\n                    }\n                }\n            ]\n        }\n    }\n]<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Ausf\u00fchrung des Skripts<\/h2>\n\n\n\n<p>GISMO-Skripte k\u00f6nnen \u00fcber einen Kommandozeilenaufruf des json_script_runner.bat ausgef\u00fchrt werden.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>json_script_runner.bat -file \"D:\\GISMO_JSON\\***\\workflow\\export.json\"<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Um die Abgabe der Seevermessungsdaten zu optimieren, haben wir in der BSH-Seevermessung einen Workflow zum Export der Daten erstellt. Hierf\u00fcr wird an die JSON-Automatisierungsschnittstelle in GISMO eine Aufgabennummer \u00fcbergeben und die notwendigen Informationen, wie z.B. Geometrien und Metadaten, extrahiert. Anpassung einer JSON-Vorlage zur Metadatenextraktion Die Vorlage kann in GISMO \u00fcber die grafische Oberfl\u00e4che erstellt werden. &hellip; <a href=\"http:\/\/blog.smileconsult.de\/?p=892\" class=\"more-link\"><span class=\"screen-reader-text\">Automatisierter Export von Seevermessungsdaten \u00fcber die JSON-Automatisierungs-schnittstelle von GISMO<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-892","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p86aow-eo","_links":{"self":[{"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=\/wp\/v2\/posts\/892","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=892"}],"version-history":[{"count":3,"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=\/wp\/v2\/posts\/892\/revisions"}],"predecessor-version":[{"id":895,"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=\/wp\/v2\/posts\/892\/revisions\/895"}],"wp:attachment":[{"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=892"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=892"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.smileconsult.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=892"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}