Git Product home page Git Product logo

3dcitydb-web-map's Introduction

3D City Database

The 3D City Database is a free 3D geo database to store, represent, and manage virtual 3D city models on top of a standard spatial relational database. The database model contains semantically rich, hierarchically structured, multi-scale urban objects facilitating complex GIS modeling and analysis tasks, far beyond visualization. In 2012, the 3D City Database received the Oracle Spatial Excellence Award for Education and Research.

The schema of the 3D City Database is based on the OGC City Geography Markup Language (CityGML), an international standard for representing and exchanging virtual 3D city models issued by the Open Geospatial Consortium (OGC).

The 3D City Database has been realized as PostgreSQL/PostGIS and Oracle database schema, supporting following key features:

  • Full support for CityGML versions 2.0 and 1.0
  • Complex thematic modelling including support for Application Domain Extensions (ADE)
  • Five different Levels of Detail (LODs)
  • Appearance information (textures and materials)
  • Digital terrain models (DTMs)
  • Representation of generic and prototypical 3D objects
  • Free, also recursive aggregation of geo objects
  • Flexible 3D geometries (Solid, BRep)

The 3D City Database comes as a collection of SQL scripts that allow for creating and dropping database instances.

Who's using the 3D City Database?

The 3D City Database is in use in real life production systems in many places around the world such as Berlin, Potsdam, Hamburg, Munich, Frankfurt, Dresden, Rotterdam, Vienna, Helsinki, Singapore, Zurich and is also being used in a number of research projects.

The companies Virtual City Systems and M.O.S.S., who are also partners in development, use the 3D City Database at the core of their commercial products and services to create, maintain, visualize, transform, and export virtual 3D city models. Furthermore, the state mapping agencies of the federal states in Germany store and manage the state-wide collected 3D city models (including approx. 51 million building models) in CityGML LOD1 and LOD2 using the 3D City Database.

License

The 3D City Database is licensed under the Apache License, Version 2.0. See the LICENSE file for more details.

Note that releases of the software before version 3.3.0 continue to be licensed under GNU LGPL 3.0. To request a previous release of the 3D City Database under Apache License 2.0 create a GitHub issue.

Latest release

The latest stable release of the 3D City Database is 4.4.0.

You can download the latest release as well as previous releases from the releases section.

System requirements

Setting up an instance of the 3D City Database requires an existing installation of a PostgreSQL, Oracle, or PolarDB database. The following database versions are supported.

  • PostgreSQL >= 11 with PostGIS >= 2.5
  • Oracle >= 19c
  • PolarDB for PostgresSQL >= 1.1 with Ganos >= 4.6

It is recommended that you always install the latest patches, minor releases, and security updates for your database system. Database versions that have reached end-of-life are no longer supported by the 3D City Database.

Documentation and literature

A complete and comprehensive user manual on the 3D City Database and its tools is available online.

An Open Access paper on the 3DCityDB has been published in the International Journal on Open Geospatial Data, Software and Standards 3 (5), 2018: Z. Yao, C. Nagel, F. Kunde, G. Hudra, P. Willkomm, A. Donaubauer, T. Adolphi, T. H. Kolbe: 3DCityDB - a 3D geodatabase solution for the management, analysis, and visualization of semantic 3D city models based on CityGML. Please use this reference when citing the 3DCityDB project.

Database setup

To create a new database instance of the 3D City Database, simply execute the CREATE_DB.bat batch script under Windows respectively the CREATE_DB.sh shell script under UNIX/Linux/MacOS environments. These scripts are available for both PostgreSQL and Oracle and can be found in the subfolders "3dcitydb/ postgresql/ShellScripts" and "3dcitydb/oracle/ShellScripts".

The connection details for your database account have to be edited in the CONNECTION_DETAILS script prior to running the CREATE_DB script (or any other shell script provided in these folders).

The shell scripts can usually be executed on double click. For some UNIX/Linux distributions, you will have to run the script from within a shell environment. Please open your favorite shell and first check whether execution rights are correctly set for the script.

To make the script executable for the owner of the file, enter the following:

chmod u+x CREATE_DB.sh

Afterwards, simply run the script by the following command:

./CREATE_DB.sh

The setup procedure requires the following mandatory user inputs:

  1. Spatial Reference System ID (SRID) to be used for all geometry objects,
  2. EPSG code of the height system (optional),
  3. String encoding of the SRS used for the gml:srsName attribute in CityGML exports.

For Oracle, one additional input is required:

  1. Decision whether the database instance should be versioning enabled.

Afterwards, the script will start the setup procedure and invoke additional SQL scripts in the background. Please refer to the user manual of the 3D City Database for a comprehensive step-by-step guide.

Database deletion

To drop an existing database instance of the 3D City Database, simply execute the shell script DROP_DB for your database (PostgreSQL or Oracle) and operating system. Make sure that you have entered the correct connection details in the script CONNECTION_DETAILS beforehand.

Using with Docker

The 3D City Database is also available as Docker image. You can either build an image for PostgreSQL or Oracle yourself using one of the provided Docker files or use a pre-built PostgreSQL image from Docker Hub at https://hub.docker.com/r/3dcitydb/3dcitydb-pg.

A comprehensive documentation on how to use the 3D City Database with Docker can be found in the online user manual.

Contributing

  • To file bugs found in the software create a GitHub issue.
  • To contribute code for fixing filed issues create a pull request with the issue id.
  • To propose a new feature create a GitHub issue and open a discussion.

Cooperation partners and supporters

The 3D City Database has been developed by and with the support from the following cooperation partners:

More information

OGC CityGML is an open data model and XML-based format for the storage and exchange of semantic 3D city models. It is an application schema for the Geography Markup Language version 3.1.1 (GML3), the extensible international standard for spatial data exchange issued by the Open Geospatial Consortium (OGC) and the ISO TC211. The aim of the development of CityGML is to reach a common definition of the basic entities, attributes, and relations of a 3D city model.

CityGML is an international OGC standard and can be used free of charge.

3dcitydb-web-map's People

Contributors

bwibo avatar clausnagel avatar jbo023 avatar mulfvik avatar son-hnguyen avatar tugark avatar yaozhihang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

3dcitydb-web-map's Issues

Connecting to cesium from other PC

Hi,

I'm trying to connect to the cesium WMS example from another machine inside my local network.

I just downloaded the zip file extracted it and startet with node server.js.
Its printing that everything is working on localhost:8000.

Also i'm able to access the WMS example via localhost but not from my other PC.
Ports are open, no proxys.

How to access the WMS example?

Greetings

WMS Layer / Globe Turns Blue

Hello,

We have problems adding a WMS-Layer (https://geodienste.hamburg.de/HH_WMS_DOP20?version=1.3.0&service=WMS&request=GetSchemaExtension)to our Web-Map (https://test1.co-zukunft.de/Hamburg_Gesamt_v2/3dcitydb-web-map-1.4.0/3dwebclient/index.html).The globe turns blue after confirming „Add WMS layer“. The layer is specified as „1“. The additional Parameters and ProxyURL field are left empty. Other WMS Services are not working as well.

The WMS Layer can be added to the Web-Map when running on localhost:8000 and /proxy/ specified in the proxyURL field.

Mixed content shouldn’t be the problem as both pages are in HTTPS. WMS version 1.3.0 seems to work, at least when the Web-Map is running local.

Is there something else to consider?

Thank you for your time

Regards
Malte

GLTF renders on localhost but not on remote server

I have the problem, that my 3DCityDB created GLTF tiles load fine on localhost:

grafik

but when I transfer the files to the production server I do not get the 3D representation, instead I seem to see the footprints only:

grafik

Any hint what could be the problem? Logs show a lot of errors like this:

grafik

Connect to Cesium?

Hello everyone,
I need a suggestion. I would like to reproduce this kind of filters (see image) inside 3dwebclient, is that possible?
image
https://demos.cesium.com/NewYork/?view=-74.01434315131563%2C40.695538271606274%2C911.0269385112978%2C20.314857971210465%2C-32.080897112325566%2C0.07807235685294786
Anyone knows how can i do? Also, once finished my Scene, i would like tho generate the link and share it but all is connect with the local host, also with the RESTAPI local host 3000. Any suggest?
Thank you

WMS not loading

Hi!

I have sucsessfully installed 3dcity web map on a Tomcat 9.0 and it works verty well! but I am having problems when trying to load up WMS.. I get this error:
An error occurred in "WebMapServiceImageryProvider": Failed to obtain image tile X: 68 Y: 10 Level: 6.

I have fixed the CORS filter in Tomcat according to this: https://tomcat.apache.org/tomcat-9.0-doc/config/filter.html

Is there something else I should look?

Thanks a lot for your time and for this great 3D webmap!

Regards!
Abel Gonzalez

CityGML on Cesium ion with terrain

Hello,
I want to visualize CityGML on Cesium ion with terrain.

I set in the preferences of 3D City Database Importer/Exporter:

  • altitude mode: clamp to ground,
  • altitude offset: use generic attribute "GE_LoDn_zOffset", call Google's elevation API when no data available.

(I actually used all the combinations and neither worked, however this is the one that makes the most sense to me.)

Below is what happens:

terrain

If I remove the terrain from the globe and if I mark in the preferences of 3D City Database Importer/Exporter "move each object to bottom height 0", the buildings are placed on the globe right, as below:

no-terrain

Is there anything I can do to solve this problem?

Thanks.

webpack Support

Hi there

I am using your full stack to generate our webmaps, starting from our citygml Files via your database solution up to the webclient.

Regarding the webclient, I am wondering whether you have any plans on making it webpack capable?

I do have a somewhat unstable beta version that uses webpack and builds a nice application (using all the node magic and node Cesium); however, it also needed some tweaks and some hacks to get it going. One particular hack I just had to make involved changing the CitydbUtils.js to not export a global variable, but rather the 'module.exports = {}' way.

However, before I invest a lot of work, I'd like to know whether you're planning to do this as well and if so, how we could collaborate on this.

On another note - thank you so much for all the work you've put into this. You're really doing a great job with the web map and I enjoy using your tools.

Best regards,

Lukas

Update to current Cesium Version

Hi there

I've seen that you've got a branch that suggests you're updating to Cesium 1.41. However, the current version is 1.44 and I think we'd benefit from updating to the most recent sources (also bearing in mind the changes they're adding to e.g. the STK Terrain, which now leads to Cesium ION). I've updated the 3dcitydbwebmap to Cesium 1.44 in my fork which you can find here: https://github.com/Tugark/3dcitydb-web-map/tree/update-cesium

The main changes are the loadJson, loadBlob, loadXml which have been removed (they've been deprecated for long, and now they are removed). These kinds of requests are now handled by Cesium.Resource. No big fixes, but needs to be done nonetheless :-)

It does work, however, I did not open a pullrequest because of 4 reasons:

  1. I don't know if you're accepting pull requests at all
  2. I could not test everything, however I have not noticed any issues so far
  3. I am not sure if there are more deprecated functions within the CityDB Client, but so far, I did not encounter any issues.
  4. Unfortunately, my editor uses a syntax "cleaner", which leads to quite a messy commit, since it did not only update all the required changes, but also removed unneccessary new lines or whitespaces.

If you'd like to update to 1.44, I could create another branch without the syntax cleaner, so a pull request would be cleaner.

Best,
Lukas

Issues with retireval and visualisation of attributes

Hi!

I am retrieving attributes via PostgREST. Some issues I have notices in the current version (1.8.3):

  1. The labels (and associated behavious) seem inverted: you choose horizontal, and you get a vertical view (see attached images).

  2. The vertical (i.e. horizontal) one seems broken (see example).

Annotation1

Annotation2

Unable to get gltf models displayed on map

Hi,
I am trying to get the LoD2 example data of https://geobroker.geobasis-bb.de/gbss.php?MODE=GetProductInformation&PRODUCTID=0414a37a-a749-4ee6-9f59-a41226919c58 in web-map working - but unfortunately l can only see the rectangle of bounding box border.
Is this a bug/misconfiguration /corrupt material? I'm lost on that one.
Works fine with Google Earth Pro.

My Settings are based on default except:
KML/COLLADA/glTFExport:General:Show bounding box borders [X]
KML/COLLADA/glTFExport:General:Write JSON file [X]
General:Logging:Console:Log level "DEBUG"

I did following:

  • Imported LoD2 data into PostGIS (EPSG:25833)
  • Exported to COLLADA/glTF visible from 0
    • Bounding Box 369194.628:5805164.942, 369283.314:5805275.978 (created by Database => Bounding box)
    • Automatic tiling
    • LoD2
    • All Objects
  • Result:
    [13:47:02 INFO] Initializing database export...
    [13:47:02 INFO] Checking for spatial indexes on geometry columns of involved tables...
    [13:47:02 INFO] 1 (1x1x1) tiles will be generated.
    [13:47:02 INFO] Exporting to file: /.../test6/Tiles/0/0/test_Tile_0_0_collada.kml
    [13:47:02 DEBUG] 268 candidate objects found for Tile_0_0.
    [13:47:02 INFO] Exported CityGML features:
    [13:47:02 INFO] BUILDING: 7
    [13:47:02 INFO] Processed geometry objects: 246
    [13:47:02 INFO] Total export time: 00 s.
    [13:47:02 INFO] Database export successfully finished.
  • Unfortunately converting to glTF does not work inside 3D City Database Importer/Exporter. There are no error message but no glTF files as well.
    Therefore I converted all files by COLLADA2glTF (latest version) by myself (default options)
  • Added Layer to web-map with only MasterJSON and name provided

Result:

  • added successfully (?) - But only bounding box border is visible
  • No errors in console
  • test_Tile_0_0_collada.kml file processed
  • gltf files processed
  • found glTF models in _cesiumviewer._dataSourceCollection._dataSource
  • tested with Vivaldi, Firefox

Wrong Calculation of visible Tiles

Hey,

if i zoom to buildings, the tiles will be unload. I think the calculation of the wgs84ToWindowCoordinates in CitydbKmlTilingManager is wrong.
i saw it in charlottenburg, where i've 800 Tiles. If i zoom to one building, this tile, which have several buildings is gone. maxLodPixels is unessasry (i set it to -1 or 100000).
next example la goule (schweiz) with one tile:

networklinkItem.lowerLeftCorner =
x: 4309415.609526696
y: 525468.2715535653
z: 4656961.495218058
are this meters?

pixelCoveringSize is 0

bbox of this tile should be
6.95203757241971, 47.14848812644286, 7.14881825627412, 47.25313192874594

i use a older version of web map (which use cesium 1.16) because i've more of these problemes in the new versions (which use ccesium 1.18)

here is a screenshot
http://fs5.directupload.net/images/160229/7h3buyrr.png

Migration of WebClient projects using GoogleFusionTables

On December 3, 2019, Google Fusion Tables is being shut down, as announced here.

In the past, I've been using GoogleFusionTables a lot for providing thematic data for web client projects. Due to the shutdown, this data needs to be migrated to another service.
Google provides the Fusion Tables Archive Tool to copy existing tables to GoogleSpreadsheets or CSV (if Spreadsheet row limit of 5 Mio. rows is exceeded). This makes it easy to create a backup of your data and should be done anyway.

However, both GoogleSpreadsheet and CSV are currently not supported by the 3D Web Client.

How can thematic data be provided to the 3D web client in the future?

unable to view textures of buildings

hi
exported using 3dcitydb importer-exporter successfully(?);
kml renders correctly in google earth pro - building textures display correctly;
collada glTF exports - files seem to be exported correctly (during export process, dialog popup indicates texture images being exported), however, in web client, only geometry export displays (wireframes) when added as layer; when export collada with texture, buildings display as blacked-out boxes;
apprec any pointers
TIA
synpc

export:
Capture_xp

google earth:
Capture_ge

webclient collada:
Capture_col

3D web client NY City buildings rotated by 90 Degrees

First, thanks to everyone who has contributed their work to this wonderful application.

Secondly, I successfully set up the 3D web client to run on my MacOS localhost:8000/. However, when I load the sample NYC building model, all of them were rotated by 90 degrees. I follow the readme.md but could not find what I did wrong. Can anyone help?

NYC_BuildingRotated90Degree

WMS problem when sharing

Hi!

It seams that 3DcityDB webmap wont include all WMS I added when sharing the map. Only one of my WMS is condired. Is there a way to fix this issue?

Thanks for your time!

Regards, Abel

Querying 3D tiles

Hi!

this is not necessary an issue, but rather a info request.

When uploading a 3D Tile in the 3DCityDB web viewer (1.8.2), you can select a feature, however no info is shown. I can (could) indeed store some simple attributes in the 3D Tiles (or at least the gmlid), but the this is not retrieved upon selecting/clicking on the object.

Has the gmlid to be called in another way?
Is this the expected behaviour - at least for now?

Best regards

GA

npm version and webpack build

Hi there

(Beware, this could be a longer posting ;-))
As mentioned e.g. in #28 (comment), I worked on a webpack-friendly version of the library. The first version is done; however, I cannot easily open a pull-request since in order to have a working, clean library, we need to seperate the client from the library. See below for some thoughts about future developments.

What I've done is that I created a module of the library itself; this is prepared to be published as an npm package. As such, we would be able to use the 3dcitydb-web-map by using npm install 3dcitydb-web-map and develop it just like other libraries out there. You can find the module repository with a brief README here: https://github.com/Tugark/3dcitydb-npm

Since we also have the basic client (inside ./3dwebclient, mainly script.js), I also created this client as a webpack build. I exchanged the "official" script.js" with an index.js which includes all required node_modules as well as the above npm-version of the 3dcityb-library. This can then be compiled to app.js through webpack, while also copying the webworkers to the correct repositories. Please find the client and a README here: https://github.com/Tugark/3dcitydb-client

This is of course more a proof-of-concept and can certainly be optimized in various ways. I suggest that, should you find the time, checkout the repos, so we can work on this further. For getting ready, follow this approach:

  • Clone the npm-module
  • Rename the folder to 3dcitydb (or change package.json in the client later on)
  • Run npm install
  • Clone the client into a directory next to the 3dcitydb (or change package.json to point to the cloned npm module)
  • Run npm install
  • Run npm run-script build, this creates a webpack build within the /dist/ folder.
  • Access index.html inside the /dist/ folder, if it all went well, you should see a working version.

Should you need assistance, I can help you out.


As for the advantages - using such an approach (npm module, webpack) has several advantages:

  • Separation of library and client, making it more easily maintainable and detachable
  • Possibility to easily leverage webpack and other build tools' capacities and advantages
  • No need to bundle 3rdparty libraries such as Cesium directly into the codebase
  • Possibility to include NPM packages and much more
  • Possibility to easily extend the usage of the library to be incorporated in other frameworks such as React or others without compromising their approach
  • Reduced file size through webpack build processes (e.g. my webpack build is a single 3.0MB javascript file (could be optimized, see above!), whereas the official version loads around 9.9MB of javascript, with Cesium taking 7MB alone)
  • Easier version control and provision through npm
  • The possibility to build standalone versions still exists, of course; we would just have to set up the build pipeline

Of course, there are also disadvantages, such as

  • Change in development process
  • Probably a bit more difficult for less experienced users to create applications
    However, the last point can also be mitigated by supplying a prebuilt, standalone version. Given the fact that less experienced users will mostly use the standalone client provided by you, this aspect can also be neglected.

I hope that my posting wasn't too long :-) Please let me know what you think of the approach and whether you think that we could change the library to be npm-module based (perhaps something like webclient 2.0 to avoid breaking changes or so). I do hope that we can develop this approach further since I think it would help the amazing work you've put in so far to be even more widely used and also be more future-oriented.

Should you find bugs and issues, please report them to me.

Happy coding and best,
Lukas

Multiple building usages not displayed using postgREST API

Hello,
I am encountering some difficulties in setting up the connection between my PostgreSQL database (containing a cityGML model) and the web-map client.
I am using The postgREST API interface to read building attributes from a DB view (vertical table). The SQL statement to create the view splits the building usage attribute value into multiple rows as per image below.

Before:
image

After:
1598371626214_image

Unfortunately, when I use the link to the DB view to display the attributes in the web-map client, it only displays one single usage.
1598371813321_image

How can I display all the usages as in the db view?

Also, do you know if it is possible to retrieve the corresponding text description from the SIG3D code list that I used in the usage_codespace field?
1598371961836_image
1598371984129_image

Thank you for your support!

Editing capabillity?

Hi Guys!
First of all thank you for the great work you have done and shared!
I work at Nackas Municipality in Sweden and we are looking for a 3D software where we could freely show our 3D data and construction plans for the public. The main idea is that the public will be able to register their comments on the map-web by inserting an icon etc.
Is there a plugin or module that permits to archive this?

Thank you for your time!
Abel Gonzalez

GIS tools

Hi there!

It would be fantastic if there would be a set of tools for online users to work. For example:

  • Button for height, area and length measurement
  • Button for uploading models
  • Editing capability

Regards,
Abel

texture or not?

Hi,

I am a new user of 3d City DB, an happy one you can trust me.

I have a little question about objects wich can be loaded in 3D city wen map.
I have make several tries to load objects created with import / export tool, but i can not see them in my browser.
I have no problem with extruded object, but only with collada / glTF (appearance = Rhino texturing)

Is it possible to load this kind of object in 3D city db wep map, or in cesium more generaly?

Thanks.

Clement

Direct access through WFS

Hi there,

In order to make the 3DcityDB more dynamic in it's usage, I am trying to create a webviewer which connects directly to the WFS, in stead of the intermediate export. This way, we can query the DB dynamically, without the need of preparing an export of a certain region first.

When trying to access the WFS through openlayers, it gives me an error 500, which is probably caused by an HTTPS request being interpreted as an HTTP request.

Is there a place in the code for the WFS that forces to convert the request to HTTPS?
Is there anyone who has already tried this approach of loading the WFS directly? Examples seem sparse.

Permanent layer in 3D web client?

Hello.
I have succesfully added my 3D building model layer to the web client. However, when I reload the web page, the layer added was gone. I am wondering can I make the layer attcach permanently in my 3D web client that everytime I open my web page the layer is still there?
Thank You.

Pagespeed

This is problem and a solution but there might be a better way to fix it permanently in the source code.

The CitydbUtil.js function retrieveURL uses the location of other script files to get the script's base url.
For example if a script is defined as:

<script src="/some/url/js/CitydbKmlHighlightingManager.js"></script>

then the retrieveURL returns /some/url/js/.

The problem is when Pagespeed is used by the web host for optimisation. Pagespeed can 'optimise' this:

<script src="/newtrend/static/cesium/js/CitydbWebworker.js"></script>
<script src="/newtrend/static/cesium/js/CitydbSceneTransforms.js"></script>
<script src="/newtrend/static/cesium/js/CitydbKmlHighlightingManager.js"></script>   
<script src="/newtrend/static/cesium/js/CitydbKmlTilingManager.js"></script>

into

<script src="/newtrend/static/cesium/js/CitydbWebworker.js+CitydbSceneTransforms.js+CitydbKmlHighlightingManager.js+CitydbKmlTilingManager.js.pagespeed.jc.oPQAHrW-xj.js"></script>

and retrieveURL does not work with that.

A solution for an Apache web host is to add this

ModPagespeedDisallow "*/CitydbKmlHighlightingManager.js"
ModPagespeedDisallow "*/CitydbKmlTilingManager.js"

to the pagespeed.conf file. Or this:

<IfModule pagespeed_module>
    ModPagespeedDisallow "*/CitydbKmlHighlightingManager.js"
    ModPagespeedDisallow "*/CitydbKmlTilingManager.js"
</IfModule>

to the httpd.conf file. Then pagespeed leaves the script declaration as is. There are other formats for other host types.

I hope this helps.

Elevation

Hello,

if i insert a elevation Model, the building tiles are move at perspective change. Do someone know what is the Problem?
I've change the elevation parameters at export but it doesnt solve the problem.

see screenshots
https://pl.vc/5rtkr
https://pl.vc/1p0q1

        var terrainProvider = new Cesium.CesiumTerrainProvider({
            url: '//assets.agi.com/stk-terrain/world',
            requestVertexNormals: true
        });

        Cesium.BingMapsApi.defaultKey = 'ApOW9LMkerqWIVSnFauilSeaZyp8df66byy1USCTjgTdMvhb4y1iAhEsUHQfCgzq';
        this.viewer = new Cesium.Viewer('cesiumContainer', {
            baseLayerPicker: false,
            animation: false,
            timeline: false,
            infoBox: false,
            scene3DOnly: true,
            navigationHelpButton: false,
            fullscreenButton: false,
            terrainProvider: terrainProvider
        });

        var extent = new Cesium.Rectangle.fromDegrees(this.VIEWBOUNDARY[0],this.VIEWBOUNDARY[1],this.VIEWBOUNDARY[2],this.VIEWBOUNDARY[3]);
        this.viewer.camera.setView({ destination: extent });
        Cesium.Camera.DEFAULT_VIEW_RECTANGLE = extent;
        Cesium.Camera.DEFAULT_VIEW_FACTOR = 0;
        this.webMap = new WebMap3DCityDB(this.viewer);
        this.webMap.activateViewChangedEvent(true);
        this.webMap.activateMouseClickEvents(true);

this.webMap.addLayer({'url': '../overlays/charlottenburg-ext-kmz-800/cb_extruded.json'})

Problems with 3D-Web-Client and LOD3

Hey,
I have CityGML LOD3 data, imported into the 3DCityDB.
I used the KML/Collada/glTF Export to export my buildings as Collada/glTF in LOD3 (without generating a glTF Modell).
The generated kml-file can be displayed in Google Earth perfectly fine, but when I load the MasterJSON in 3DCityDB-Wep-Map-Client, it only shows a blue box on the ground and no buildings.
I tried the same with LOD2 buildings and it worked with the Wep-Map-Client.
Does anyone know what I did wrong? The CityGML files are valid. I also modified the Alttitude/Terrain settings in the Preferences but it's still not working.
Thanks in advance for any help

Converting and using glb files (instead of gltf)

As this is only mentioned rather quickly in the (current) Documentation, I was wondering whether you can share some experiences when converting (and using) glb files instead of gltf. Is a simple conversion of the gltf generated by the Importer/Exporter enough, or are some other tweaks necessary in viewer?

So far, I have had no success using the Collada2Gltf (version 2.15) to convert Collada to glb. I generate to glb, but I cannot visualise them correctly in the viewer. But I haven't tried (yet) other conversion tools directly from gltf to glb.

If you (or someone else) is willing to share some experience gathered so far, you are welcome! :-)

Best regards,

GA

Bounding Box

Is there a way to access the bounding box and edit it's properties (e.g. colour)?

Layers dont follow when export view

Hi there1

I have tried to create a map based on WMS and it works fine but when "Generate Scen Link" I see that the WMS dont follow up in the created link.
Is this a problem or maybe I am missing something?
Regards!
Abel

ThematicData on object

Hi!

I've been struggling to get data seen in cesium while using PostgREST:

My Building object
image

My PostgREST result
image

Layer details in Cesium:
URL -> localhost:8000/buildings_collada_master.json
ThematicDataUrl -> http://localhost:3000/api_building
CityObjectsJsonUrl -> localhost:8000/buildings.json

Anyone had similar problems with PostgREST?

visualize a local file

I've been reading through the documentation and it seems to me that the only way to visualize a city model is to upload the spreadsheet/kml/etc. export to a remote server (i.e. Dropbox). Is that correct or I'm missing some info?

Save as Startup file

Hello,

your software works great. I can see all my tile layers.

Can I save my configuration in a file so that when starting the application again I will see my layers.

Now I have to configure the application every time I start it.

Thanks

Best regards Gerhard

wms not working?

Hi there!

I have tried to connect a WMS från owr QGIS server and Geoserver and din´t work. The whole globe turned blue. Is there something I am doing wrong?
Thanks for your time!
Abel Gonzalez

How to delete, edit and save an objekt?

Hi !

First of all thank you for this great product! I am using 3DcityDB and still learning a lot!

I wonder how to delete, edit or uppdate an objekt. The Impoter/exporter does´nt show this possibilities..

Is there a tool for editing objects on the fly ? Im am using CityEditor and is great, but still you have to export from 3DcityDB--- import in SketchUp-- edit-export and finally import to the 3DcityDB and then this does´n replace the existing object..

Regards
Abel

PostgreSQL API response documentation

Hi,
I already have an API for quering data from PostgreSQL that I want to use for the thematicDataSource . The json response from API looks like this at the moment
{"gmlid":"UUID_BYGGNAD_1a7dbc23-63f9-4e1c-be52-2bc4fb8e1150","fastighetsnyckel":"040096351"} and the client loggs in console
Map(0) {} [[Entries]] No properties size: (...)
So my question is how the API respons should look like for the client to accept and render it in the info box? Should it be json?
Thank you!
I would be happy to help out with documentation bit when this is solved.

3DcityDB vektors in the code

HI!

I hope you are doing great! I have made som changes in the CSS code on 3dcity webmap and I am very exited about the results. See my 3D webmap here: https://3d.sokigo.com/demo

I would like to add exported (från 3DcityDB) collada objects direct in the default map. Using the Cesium exemples for Json and KML does´nt work for me.

My JSON sample:

viewer.dataSources.add(Cesium.GeoJsonDataSource.load('data/stockholm/lod1_collada_MasterJSON.json', {
name: "lod1",
maxSizeOfCachedTiles: 400,
maxCountOfVisibleTiles: 400
}));

Can you provide examples code on how to archive this?

Regards!
Abel

No allowed resource Access Control Allow Origin

Hi,

i'm trying to import a json file in "add/Configure Layer" but it gave me "no Access-Control-Allow-Origin head is present on the requested resource".
This file was uploaded on Google Drive, Dropbox and GitHub even. It gave me the same error and i'm about to give up.
Someone had the same problem?

Loading Cesium 3D tiles broken?

Hi!

I am wondering whether the Cesium 3D tiles support is broken, or I am doing something wrong.
In the current version (1.8.3) I get an error message (Failed to load ....)
The same exact tileset can be loaded and visualised using version 1.8.0 (I have both versions of the 3DcityDB-web-map running and sharing the same data source).

I add for simple testing a zipped version of the dataset.

BR

tileset.zip

I'm having trouble with JQuery alias conflict

After added this to my page:

<script src="/resources/3dcity/Intersection/IntersectionAPI.js"></script>
<script src="/resources/3dcity/3dcitydb-web-map.js"></script>  
<script src="/resources/3dcity/CitydbUtil.js"></script>  
<script src="/resources/3dcity/CitydbWebworker.js"></script>
<script src="/resources/3dcity/CitydbSceneTransforms.js"></script> 
<script src="/resources/3dcity/CitydbKmlHighlightingManager.js"></script>   
<script src="/resources/3dcity/CitydbKmlTilingManager.js"></script>  
<script src="/resources/3dcity/CitydbKmlDataSource.js"></script>    
<script src="/resources/3dcity/CitydbKmlLayer.js"></script> 
<script src="/resources/3dcity/Cesium3DTilesDataLayer.js"></script>
		


<!-- Mashup Data Source Service -->
<script src="/resources/3dcity/ds/core/DataRecord.js"></script>
<script src="/resources/3dcity/ds/core/DataSourceCapability.js"></script>
<script src="/resources/3dcity/ds/core/QueryResult.js"></script>
<script src="/resources/3dcity/ds/core/ReadableDataSource.js"></script>
<script src="/resources/3dcity/ds/core/WritableDataSource.js"></script>
<script src="/resources/3dcity/ds/core/DataSource.js"></script>
<script src="/resources/3dcity/ds/core/SQLDataSource.js"></script>
<script src="/resources/3dcity/ds/application/GoogleSheets.js"></script>
<script src="/resources/3dcity/ds/application/PostgreSQL.js"></script>
<script src="/resources/3dcity/ds/core/MashupDataSource.js"></script>
<script src="/resources/3dcity/ds/application/DataSourceController.js"></script>

and...

var webMap = new WebMap3DCityDB( viewer );	
webMap.activateViewChangedEvent(false);
webMap.activateMouseMoveEvents(false);
webMap.activateMouseClickEvents(false);
	
var dataLayer = new CitydbKmlLayer({
	url : '/resources/data/Railway_Scene_LoD3/Railway_Scene_LoD3_collada_MasterJSON.json'
});

Cesium.when( webMap.addLayer(dataLayer), function(loadedcitydbLayer){
	loadedcitydbLayer.zoomToStartPosition();
}).otherwise( function( error ){ console.log( error ) });		

I have the example loaded, but after this all my calls to JQuery alias $ gives me a Uncaught TypeError: $ is not a function error.

Are you overriding the JQuery alias? How to solve this?

Note: This only happen when the objects are loaded to screen. I.e. if just load and not zoom to it then all goes fine and I still be able to use jQuery.

Adding gltf, CZML

Hi!

I hope your are doing great!
I am trying to add ordinary cesium layers such as GLTF and CZML on same way I use to do on Cesium as soon as I put a code inside skript.js the whole map keep loading.. May be a there is another way? This a working layer on Cesium:

var scene = viewer.scene;

var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(
Cesium.Cartesian3.fromDegrees(14.55677,61.02010, 187));
var model = scene.primitives.add(Cesium.Model.fromGltf({
url : 'data/mora/mora_bygg.gltf',
modelMatrix : modelMatrix,
scale : 1.0,
castShadows: false,
receiveShadows: false,
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
scene: scene
}));

Regards?
Abel Gonzalez

how to show single gltf on the client

i have exported only a single building from the 3d city db, and it create a kml file and a folder include dae and gltf. i add a layer which url is the kml's path ,but it seems not success .how can i add a single gltf on the client

b3dmBerlinExample,An error occurred while rendering. Rendering has stopped

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.