3dcitydb / extension-test-ade

Apache License 2.0
1 stars 0 forks source link

CityGML ADEs are registered in the database but are not supported #3

Closed ufalakbar closed 2 months ago

ufalakbar commented 3 years ago

I following 3dcitydb ADE Manager from importer/exporter v.4.2.0. but when I register my ADE there is a warning like this:

The following CityGML ADEs are registered in the database but are not supported: RBI3DADE 1.0

I think the problem is in the jar file in the lib folder. when I use the compiled jar of your ADE extension namely test-ade-citydb-1.2.0.jar and test-ade-citygml4j-1.2.0.jar, it doesn't work. but when I use the jar downloaded from websites 3dcitydb.org, then ADE works. How can I use the jar that I build or compile by myself?

yaozhihang commented 3 years ago

Hi, I released a new version of the test ade just now. You can download the package from here https://github.com/3dcitydb/extension-test-ade/releases/tag/v2.0.0 This version is compatible with the latest release of the 3DCityDB v4.2.0 and the importer-exporter v5.0.0. The installer package can be downloaded from here: https://github.com/3dcitydb/3dcitydb-suite/releases/tag/v2021.1.0

ufalakbar commented 3 years ago

sorry, when i try compile using command "gradlew build" I was found 2 jar file for test-ade-citydb-2.0.0.jar and test-ade-citygml4j-2.0.0.jar. then when I open the 3DCitydb Importer/Exporter, i still with the same warning "CityGML ADEs are registered in the database but are not supported".

1 2
ufalakbar commented 3 years ago

I get a warning like this, what is the solution?

i am using 3dcitydb importer/expoter v4.2.0 and test-ade-extension v1.2.0

warning ade 1
ufalakbar commented 3 years ago

i am trying to make java for "transportasi.java" class based on this diagram. is it correct?

class transportasi diagram tranasportasi
yaozhihang commented 3 years ago

sorry, when i try compile using command "gradlew build" I was found 2 jar file for test-ade-citydb-2.0.0.jar and test-ade-citygml4j-2.0.0.jar. then when I open the 3DCitydb Importer/Exporter, i still with the same warning "CityGML ADEs are registered in the database but are not supported".

1 2

You should not use the source code of the test ade extension. You have to use the zip file here instead. https://github.com/3dcitydb/extension-test-ade/releases/download/v2.0.0/extension-test-ade-2.0.0.zip

yaozhihang commented 3 years ago

I get a warning like this, what is the solution?

i am using 3dcitydb importer/expoter v4.2.0 and test-ade-extension v1.2.0

warning ade 1

The warning means that the importer-exporter extension for your ADE RBI3DADE is missing. You have to implement it with java coding.

yaozhihang commented 3 years ago

i am trying to make java for "transportasi.java" class based on this diagram. is it correct?

class transportasi diagram tranasportasi

In this ADE classes, you tries to define ADE classes by extending an existing CityGML classs _TranportationObject. This is very similar to the implementation of the IndustrialBuilding class in the test ADE. Please check the java code here as reference https://github.com/3dcitydb/extension-test-ade/blob/master/test-ade-citygml4j/src/main/java/org/citygml/ade/test/model/IndustrialBuilding.java

ufalakbar commented 3 years ago

I get a warning like this, what is the solution? i am using 3dcitydb importer/expoter v4.2.0 and test-ade-extension v1.2.0

warning ade 1

The warning means that the importer-exporter extension for your ADE RBI3DADE is missing. You have to implement it with java coding.

how to make a .jar file after I finished coding ? i try with "gradlew build" but still not success

clausnagel commented 3 years ago

To get a general understanding how the ADE support of the 3DCityDB works, please first read the following chapters of the user manual:

Afterwards, I strongly recommend that you first get the predefined TestADE extension package installed and running by following this guide. Create a new 3DCityDB instance for this purpose or make sure to remove any ADE extension that you have previously registered for your 3DCityDB (use the ADE Manager Plugin as explained here to remove ADEs).

In general, any ADE extension for the 3DCityDB requires two parts:

  1. Additional tables in the database schema to store the ADE data
  2. An extension for the Importer/Exporter that enables the tool to load and export ADE data based on these tables.

The ADE tables (part 1) can be fully automatically generated using the ADE Manager Plugin as explained here. The ouput is a 3DCityDB ADE extension package that contains the SQL scripts for the ADE tables as well as a so-called schema-mapping.xml file which defines the mapping from XML to the database tables. This 3DCityDB ADE extension package must follow a predefined folder structure as explained here. Once created, you can use the ADE Manager Plugin to automatically create the ADE tables in the database based on the information in the ADE extension package as explained here. Note that the schema-mapping.xml file also gets imported into the database in this step (this will be important below).

The extension of the Importer/Exporter (part 2) must be implemented manually based on the ADE API of the Importer/Exporter. The final JARs must also be placed into the ADE extension package from above into a separate folder called lib. Again, simply check the predefined TestADE extension package to understand the required structure. The ADE extension package containing the JARs must then be copied into the ade-extensions folder inside the installation directory of the Importer/Exporter. Again, all these steps are explained in this guide.

When starting the Importer/Exporter after having completed the above steps, it checks a) whether additional ADE tables have been registered in the 3DCityDB instance and b) whether a corresponding Importer/Exporter extension for these tables is available from the ade-extensions folder. To understand whether the ADE extension package in ade-extensions really matches the ADE tables in the database, the schema-mapping.xml is loaded from the database (see above) and compared with the schema-mapping.xml in the ade-extensions folder. If both files do not perfectly match, the Importer/Exporter will raise a warning that it found an ADE extension in the database which it however cannot support. This is exactly the warning you are receiving. Thus, you have somehow messed up with the schema-mapping.xml files. Or have you not even copied the ADE extension package into the ade-extensions folder?

All of the above is documented in the user manual.

However, how to implement your own Importer/Exporter extension based on the ADE API is actually not well documented. I have uploaded some slides on this topic here. Maybe they can help you to get started.

clausnagel commented 2 months ago

Closing due to inactivity.