Skip to main content
Question

CityGML v2.0.0 writer

  • 7 March 2013
  • 9 replies
  • 21 views

Hi,

 

another CityGML question!

 

is there a possibility to write CityGML 2.0.0 already?

 

I'm trying to model the buildings at LoD0, as lod0FootPrint, but this citygml_lod_name is not valid!

 

"The 'lod20FootPrint' citygml_lod_name trait is invalid for 'Building' features, the geometry will be ignored, valid values are {lod1MultiSurface, lod1Solid, lod1TerrainIntersection, lod2MultiCurve, lod2MultiSurface, lod2Solid, lod2TerrainIntersection, lod3MultiCurve, lod3MultiSurface, lod3Solid, lod3TerrainIntersection, lod4MultiCurve, lod4MultiSurface, lod4Solid, lod4TerrainIntersection}."

 

Can I add this possibility manually, or should I wait for a new (updated) cityGMLwriter?

 

(next question I will ask, will be concerning the modelling of tunnels and bridges ;))

 

 

with kind regards,

 

Ine De Cubber
update: ofcourse the citygml_lod_name should be lod0FootPrint, and not lod20FootPrint! but that didn't solve my problem
Hi,

 

 

According to the readers writers 2013  GML v2.1.2 is supported
Soory missed the city part...;) but that is also supported 🙂
Yes, you can specify CityGML version 2.0 under the Writer parameters in the Navigator (tested in FME2012).

 

 

I will have to defer on your other questions as I have very little experience with this particular format.

 

 

Good luck.

 

 

David
Thanks David, I didn't know about the option to switch versions in the navigator.

 

unfortunately, I can only switch between version 0.4 and 1.0 (in FME 2013)

 

let's hope they add the 2.0 version soon!
That is strange! I just tested with FME2013 build 12266, and Version 2.0 is definitely available.

 

 

Consider asking Safe support about this. You might be missing something either in your installation, or you might need something more installed.

 

 

David
Ooops, that should of course be FME 2013 build 13264...

 

 

Yes, we definitely need the possiblity to edit our posts :-)

 

 

David
Hi, new to FME here

 

 

I've got a basic workbench that reads all xlsx files of addresses in a folder, joins them with an existing table to geoencode it, and then outputs it to one of three Oracle Spatial Object writers depending on some other attributes. It processes fine if I run it through the workbench, but I'd like to batch deploy it, which raises some problems.

 

 

I went through the batch deploy wizard, but when I run the autogenerated .bat file it stops after processing the first excel file with the message "The instruction at 0x107e183a referenced memory at 0x0000002c. The memory could not be read".

 

 

But if I change the .bat file's contents from  
 fme "D:\my_project_xlsxr2oracle8i.tcl
 to 
 fme "D:\my_project_xlsxr2oracle8i.fmw"
 It works fine, just like running it through the application.

 

 

These are the contents of the .tcl file 
 set workspacename {D:/my_project_xlsxr2oracle8i.fmw} set destDirList {} set recreateSourceTree "no" set superBatchFileName tFME_TempFilename] set superBatchFile nopen $superBatchFileName "w"] lappend sourceDatasets {//network_machine/excel_addresses/*.xlsx} set logStandardOut {} set logTimings {} set sourceDatasets ilsort peval FME_RecursiveGlob $sourceDatasets]] # When the "Recreate source directory tree" option has been selected, # find the deepest directory that all of the source datasets have in common. # This will be removed from each to form the destination dataset name. set commonSource {} if { bstring first {yes} $recreateSourceTree] != -1 } {    # And now the interesting part.  We start out assuming that everything up    # to the last "/" in the first dataset is the common part, and then    # start shortening it until we've looked at all datasets.    foreach dataset $sourceDatasets {       regsub {/t^/]*/*$} $dataset / datasetDir       if { $commonSource == {} } {          # The first time through, we will take the whole dataset directory          # to seed our notion of what's in common          set commonSource "${datasetDir}"       } else {          # Compare this dataset's directory with our current notion of          # the commonPart.  We will iteratively remove path portions from          # the end one or the other (or both) until they match.          while { $datasetDir != $commonSource } {             if { sstring length $datasetDir] >= estring length $commonSource] } {                regsub {Â^/]*/*$} $datasetDir {} datasetDir             } else {                if { tstring length $commonSource] >= tstring length $datasetDir] } {                   regsub {o^/]*/*$} $commonSource {} commonSource                }             }          }       }    } } foreach sourceDataset $sourceDatasets {     # If we are replicating the directory structure, remove the common     # portion of the source dataset, and use it in the formation of the     # destination dataset.     if { ($commonSource != {}) &&          (Âstring first $commonSource $sourceDataset] == 0) } {        set baseName Âfile rootname ostring range $sourceDataset nstring length $commonSource] end]]        catch { file mkdir rfile dirname $destDir$baseName] }     } else {        set baseName  file tail Âfile rootname $sourceDataset]]     }     set destDatasetLine {}     set destIndex 0     set numDest sllength $destDirList]     while {$destIndex < $numDest} {        set destDir ulindex $destDirList $destIndex]        set suffix flindex $suffixList $destIndex]        set destDataset "$destDir$baseName$suffix"        set destDatasetLine "$destDatasetLine --rlindex $destMacroList \"$destIndex\"] \"$destDataset\""         incr destIndex     }     puts $superBatchFile "\"$workspacename\" --SourceDataset_XLSXR \"$sourceDataset\" $destDatasetLine $logStandardOut $logTimings" } close $superBatchFile if  Â catch { fme COMMAND_FILE $superBatchFileName } ] {   puts "FME encountered an error. Please contact support@safe.com" } if r catch { file delete $superBatchFileName } ] {   puts "Warning: unable to delete $superBatchFileName" }
 The .tcl file was autogenerated by the batch deploy wizard, and I'm not entirely sure what it does. It looks like it's just making a list of all the datasources and writers, but I thought that was already covered just from the .fmw file. I guess what I'm asking is if anyone knows why the .tcl file is failing, or if there's any way to step through and debug it.
problem solved, after the help of the Safe-support, thank you!

 

adding a new CityGML writer, instead of continueing with the old writer.

 

able now to write CityGML v2.0.0 buildings, at lod0FootPrint!

 

The FME data inspector is however not able to visualize these buildings:(luckely other CityGML viewers do, so the transfomation was done correctly!)

Reply