citygml4j / citygml-tools

Collection of tools for processing CityGML files
Apache License 2.0
115 stars 18 forks source link

Failed to retrieve EPSG Code #16

Closed GerfriedC closed 3 years ago

GerfriedC commented 4 years ago

Hi, what does this mean? E:\citygml-tools\citygml-tools-1.4.0>citygml-tools to-cityjson FZKHouse.gml [22:14:36 INFO] Starting citygml-tools. [22:14:37 INFO] Initializing application environment. [22:14:39 INFO] Executing command 'to-cityjson'. [22:14:39 INFO] Found 1 file(s) at 'FZKHouse.gml'. [22:14:39 INFO] [1|1] Processing file 'E:\citygml-tools\citygml-tools-1.4.0\FZKHouse.gml'. [22:14:39 INFO] Writing output to file 'E:\citygml-tools\citygml-tools-1.4.0\FZKHouse.json'. [22:14:42 WARN] Failed to retrieve EPSG code from the CRS name 'urn:adv:crs:ETRS89_UTM32'. [22:14:42 WARN] Cause: org.citygml4j.tools.common.srs.SrsParseException: Unsupported CRS scheme 'urn:adv:crs:ETRS89_UTM32'. [22:14:43 INFO] Total execution time: 07 s. [22:14:43 INFO] citygml-tools finished with 2 warning(s) and 0 error(s). E:\citygml-tools\citygml-tools-1.4.0> The file is here https://github.com/cstb/citygml-energy/blob/v0.9.0/samples/FZKHouse-Lod2-EnergyADE.gml many thanks

clausnagel commented 4 years ago

It simply means that citygml-tools cannot automatically derive the EPSG code from the string urn:adv:crs:ETRS89_UTM32. You can pass the EPSG code manually using the --epsg paramter (see citygml-tools to-cityjson --help). So, in your case, use the following command:

$ citygml-tools to-cityjson --epsg=25832 FZKHouse.gml
GerfriedC commented 4 years ago

Many thanks. This removed the error but did not include the information from the GML. Is Energy ADE export supported? And if yes, what is the correct procedure? many thanks

clausnagel commented 4 years ago

No, the CityGML Energy ADE is not supported by default. There is no "Energy Extension" defined for CityJSON, so how should the energy data be mapped by citygml-tools?

citygml-tools is built on top of citygml4j. Thus, if citygml-tools should support a specific CityGML ADE, then you need a citygml4j module for this ADE. In case of the Energy ADE, there is in fact such a module: https://github.com/citygml4j/energy-ade-citygml4j. You have to put the module into the ade-extensions folder of citygml-tools, then it will be automatically loaded when running citygml-tools. All CityGML-related operations will then account for the Energy ADE data.

If you want to be able to also map a CityGML ADE from and to CityJSON, then you need the following in addition:

  1. A CityJSON schema mapping the ADE to a JSON representation
  2. A CityJSON extension module for citygml4j

There is no schema and no module so far.