CityGML Support in Cesium

Thank you!

It seems work...more or less...I can visualize contents but without Z value....

There is something else that I have to update?

Can you post the KML or KMZ file you are using? I’d like to test it out in the branch and see what the problem is. I really wanted to have this branch finished by 2014, but other work obligations have kept me from spending time on new Cesium features. That being said, I’m still hoping to get it in sooner rather than later.

Hi

For my testing I have used the KML provided by Thomas

this is the URL where you can find it https://dl.dropboxusercontent.com/u/24313387/KML/BerlinExcerpt_geometry.kml

Dear Mattew

Can you post the KML file that you have used (the one from US) to do the screenshot in the previous post?

I want to try it and see if, using your file, I can visualize extruded polygons…

have a nice weekend

Umberto, I just realized I never got around to sending you that file. The good news is that the file you originally posted now works. The kml branch now has all of the geometry changes that were previously in other branches. I’m hopefully to get KML into an official release sometime in the next couple of months.

hi
i want to create city 3d with czml
please show sample and link for download
the sample is http://cesiumjs.org/2014/03/03/Cesium-version-b26-released/
thanks

Hi Mattew

There are some (good, I hope!) news about the development of the KML-visualizer??

Thank you so much!

Umberto

Yes, there is good news! While KML support is not officially in master yet, the KML branch now supports many of the extrusion features, making it possible to load many city-oriented KML files into Cesium. I attached one of the files I used for testing, which is in Nashville, TN. There are still a few major features that need to be implemented (NetworkLink, ScreenOverlays, GroundOverlays), but if I find some time I might open a pull request to get our existing support into master and then add the other features incrementally over time. If you have some files that don’t work as expected, let me know and I can take a look at them.

On thing I will note is that we don’t handle the height reference property of KML yet, but I think I have a good way to implement it as soon as soon as I carve out some time.

Nashville_Polygon_GEO_WGS84_Terrain.kmz (147 KB)

Wow! Thank you very much!!

More or less, do you have any idea of when this component will be moved into the master brach?

Dear Matthew and Team,

Thank you for the information. I have tested a few KML/KMZ files along with Nashville dataset in ‘KML branch’ and all are working perfectly fine.

Looking forward for official release of KML support in Cesium.

Best Regards,
Kanishk

Dear Cesium Team,

Is there any update on KML Network Link feature under KML branch? I tried to modify existing KMLDataSource.js under KML branch and run a KML file with a network link. Cesium is parsing the Network Link, but the objects from Network link are not adding to the main KMLDataSource. Due to that, the objects are not visible to the Cesium globe.

If we look closely into the code,

} else if (nodeName === ‘NetworkLink’) {

parent = new DynamicObject(createId(node));

parent.name = getStringValue(node, ‘name’);

var linkUrl = getStringValue(node, ‘Link’).trim();

var networkLinkSource = new KmlDataSource(dataSource._proxy);

when(networkLinkSource.loadUrl(linkUrl), function() {

dataSource._composite.addCollection(networkLinkSource.getDynamicObjectCollection(), 0);

});

}

I believe, the last line is not able to add networkLinkSource.getDynamicObjectCollection() into the dataSource.

Would it be possible for you to suggest any other way to implement the same functionality. As I need to work on Network Links for my project, I am also trying to find any new method to implement the same. If I come across any solution, I would be happy to contribute the same under KML branch.

My second query is, when are you planning to merge the KML feature into the master branch?

Thanks in advance!

Kanishk Chaturvedi

KML network links still need a lot of work and will probably not receive too much attached until after Cesium 1.0. We don’t have a timeframe for when they will be included in an official Cesium release, the earliest I could see it going in would be the end of the year. Pull requests are always welcome if you would like to update the branch to the head of master as well as fix any issues you are uncovering.

Hi Matthew,

As you mentioned about the CityGmlDataSource Object to be added for supporting CityGML files in Cesium. I would love to see it added as i intend to parse my CityGML datasets on the fly so that these can be viewed on Cesium globe. Can you please suggest something on this…

Thanks,

Amol

Your best bet for CityGML right now would be to convert to KML and then use the kml development branch. KML itself should be available in an official Cesium release later this year. Official CityGML support is still a while away. Of course we are always looking for contributors so if someone wants to work on it that would be awesome.

Thanks for the quick response Matthew,

I am new to cesium and that really helped a lot. I have converted my test dataset to kml and now trying to display it to cesium globe using CesiumLanguageConvertor.

Still, I would be really happy to see if rendering of CityGML datasets can be done on the fly as i also need to update CityGML dataset on the fly with the output of analysis on Front End. So next time when we load the dataset we should be able to see the changes without any preprocessing i.e. to convert CityGML to KML.

If any such development is planned in near future i would be happy to contribute.

Thanks!!!

Amol Konde.

Matt, where does your buildings in “Nashville, TN” come from? Is there a place every state/city has?

I’m actually not sure where the Nashville buildings came from, it was an old Google Earth demo I had laying around. It’s almost certainly a converted shapefile. With the open data movement in full swing, a lot of cities and states publish stuff on their own websites so google is usually your best bet. Of course OpenStreetMap has good data as well, but that’s very area-specific, OSM is what we used for the New York demo

Hi,
   I want to manage 3d models in database so can you suggest me some options?
And i want to render 3d models in web browser also.

Regards,
Jujhar

Hi,

you might want to have a look at our Open Source 3D geodatabase called
"3DCityDB" at www.3dcitydb.org. The most recent release (Version 3.2)
can be downloaded here: https://github.com/3dcitydb/3dcitydb/releases
and provides a Cesium based 3D web client to view 3D city models of
arbitrary size.

Some demos are shown here:
https://github.com/3dcitydb/3dcitydb-web-map
(scroll down to the bottom of the page).

Recently the Department of Information Technology & Telecommunications
of the New York City administration released an official CityGML based
3D city model which can be downloaded from here:
http://www1.nyc.gov/site/doitt/initiatives/3d-building.page

It took me just a couple of hours processing time to read the model into
3DCityDB and to export it as KML+COLLADA+glTF and to create this demo
(yes, this is just one hyperlink):
http://www.3dcitydb.org/3dcitydb-web-map/1.0/3dwebclient/index.html?title=3DCityDB-Web-Map-Client&batchSize=3&latitude=40.708906803146775&longitude=-74.01602285505336&height=612.2346239942241&heading=43.420051073303&pitch=-38.567968526122726&roll=0.16750366456149554&layer_0=url%3Dhttp%3A%2F%2Fwww.3dcitydb.net%2F3dcitydb%2Ffileadmin%2Fmydata%2FNYC_LOD2_KML%2FNYC_LOD2_KML_collada_MasterJSON.json%26name%3DNew%20York%20City%26active%3Dtrue%26spreadsheetUrl%3D%26cityobjectsJsonUrl%3D%26minLodPixels%3D120%26maxLodPixels%3D1000000000%26maxSizeOfCachedTiles%3D400%26maxCountOfVisibleTiles%3D200

Best regards
Thomas

Hi Thomas,

I use this example in .net:

https://github.com/jumpinjackie/cesium-dotnet-examples

and I export my data to 3D Tiles by 3DCityB but I don’t know how can I add my data in .NET.

And I’mgoing to make my 2D olygon in SHP format to cityGML format for making Tiles by 3DcityDB.

May you help me in this problems.