{"id":23116405,"url":"https://github.com/3dcitydb/extension-test-ade","last_synced_at":"2025-04-04T01:26:04.725Z","repository":{"id":141884465,"uuid":"123325093","full_name":"3dcitydb/extension-test-ade","owner":"3dcitydb","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-15T16:35:55.000Z","size":36887,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-15T17:30:44.726Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/3dcitydb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-28T18:27:19.000Z","updated_at":"2025-03-15T16:36:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"50c9ac27-46d2-47c3-a7d7-3b2e2bd3eb78","html_url":"https://github.com/3dcitydb/extension-test-ade","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3dcitydb%2Fextension-test-ade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3dcitydb%2Fextension-test-ade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3dcitydb%2Fextension-test-ade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/3dcitydb%2Fextension-test-ade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/3dcitydb","download_url":"https://codeload.github.com/3dcitydb/extension-test-ade/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247105486,"owners_count":20884445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-17T04:16:08.506Z","updated_at":"2025-04-04T01:26:04.719Z","avatar_url":"https://github.com/3dcitydb.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"Test ADE extension\n==================\n\n\u003e [!NOTE]\n\u003e This repository hosts the 3DCityDB v4 Test ADE extension. Although 3DCityDB v5 is now available, 3DCityDB v4\n\u003e remains stable and operational. However, it is in **maintenance mode**, meaning no significant new features are\n\u003e planned, though existing bugs will continue to be addressed. Development is now focused on 3DCityDB v5, and we recommend\n\u003e upgrading to benefit from new features and improvements. Please refer to the [3DCityDB v5 user manual](https://3dcitydb.github.io/3dcitydb-mkdocs/)\n\u003e for more information.\n\nThe _Test ADE_ is an artificial CityGML Application Domain Extension (ADE) for testing and\ndemonstrating the ADE support of the 3D City Database that has been introduced with version 4.0. It has been designed\nto cover the most relevant UML modelling elements and techniques that occur in real-world CityGML ADEs such as\nsubtyping or property injection.\n\nThis repository provides a reference implementation of an **ADE extension** that is required by the Importer/Exporter\ntool to handle Test ADE datasets and manage them in the database. The reference implementation shows developers how to\nimplement the ADE-specific APIs of [citygml4j](https://github.com/citygml4j/citygml4j) (see `test-ade-citygml4j` module) and of the Importer/Exporter\n(see `test-ade-citydb` module). Since the Test ADE reflects commonly used ADE modelling elements, the provided code may\nserve as template for implementing extensions for other ADEs.\n\nGeneral steps for supporting an ADE with the 3DCityDB\n-----------------------------------------------------\nAdding support for a CityGML ADE to the 3DCityDB generally involves three steps:\n\n1. Mapping the XML Schema definition of the ADE to a relational schema that integrates with the 3DCityDB core schema\n   (for instance, by reusing `SURFACE_GEOMETRY` to store surface-based spatial properties of features).\n2. Creating an XML-based schema mapping file that captures the mapping between elements of the XML schema and elements\n   of the relational schema (see the [schema mapping](https://github.com/3dcitydb/importer-exporter/blob/master/impexp-core/src/main/resources/org/citydb/core/database/schema/3dcitydb-schema.xml) between the CityGML XML schemas and the 3DCityDB core schema).\n3. Registering the ADE with the metadata tables of the 3DCityDB.\n\nWith the [ADE Manager Plugin](https://github.com/3dcitydb/plugin-ade-manager) we provide a tool that fully automates these steps. It reads the XML schema and\napplies a rule-based transformation to derive a relational schema for the ADE that seamlessly integrates with the\n3DCityDB. Users can redefine default rules or even add new rules, and thus have full control over the mapping result.\nYou can easily test the mapping and registration with the [XML Schema of the Test ADE](https://github.com/3dcitydb/extension-test-ade/blob/master/test-ade-citygml4j/src/main/resources/org/citygml/ade/test/schema/CityGML-TestADE.xsd).\n\nOnce your ADE is registered with the 3DCityDB, you can import or export data from the new ADE tables with a tool of\nyour choice. If you prefer using the Importer/Exporter for this purpose, you have to implement an **ADE extension**\nagainst its ADE API because it does not provide generic ADE support yet. This involves the following two steps:\n\n1. Creating an ADE module for [citygml4j](https://github.com/citygml4j/citygml4j), which is used by the Importer/Exporter for parsing and writing CityGML data.\n2. Implementing the `ADEExtension` interface of the ADE API and providing code for reading and writing data into the ADE tables. \n\nThese steps are not automated yet and thus require coding. Check this repository for a reference implementation of the\nTest ADE. ADE extensions have to be copied into the `ade-extensions` folder within the installation directory of the\nImporter/Exporter to be automatically loaded at program startup.\n\nUML data model\n--------------\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"resources/uml/CityGML-TestADE.png\" width=\"800\" /\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3dcitydb%2Fextension-test-ade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F3dcitydb%2Fextension-test-ade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F3dcitydb%2Fextension-test-ade/lists"}