You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@baremaps.apache.org by ad...@apache.org on 2023/01/04 15:27:07 UTC

[incubator-baremaps-site] branch 3d-tiles created (now 7ce49ca)

This is an automated email from the ASF dual-hosted git repository.

adrabble pushed a change to branch 3d-tiles
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps-site.git


      at 7ce49ca  Add the 3d tiles example

This branch includes the following new commits:

     new 7ce49ca  Add the 3d tiles example

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-baremaps-site] 01/01: Add the 3d tiles example

Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

adrabble pushed a commit to branch 3d-tiles
in repository https://gitbox.apache.org/repos/asf/incubator-baremaps-site.git

commit 7ce49ca0ec808b2e9678d103302114c591350df7
Author: Antoine Drabble <an...@gmail.com>
AuthorDate: Wed Jan 4 16:26:54 2023 +0100

    Add the 3d tiles example
---
 _data/menu.yaml            |  7 ++++++
 examples/3d-tiles/index.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++
 examples/index.md          |  4 +++
 3 files changed, 74 insertions(+)

diff --git a/_data/menu.yaml b/_data/menu.yaml
index 246fa4b..8617fa1 100644
--- a/_data/menu.yaml
+++ b/_data/menu.yaml
@@ -19,6 +19,13 @@ items:
         url: /examples/import-contour-into-postgis/
       - page: Serve vector tiles from PostGIS
         url: /examples/serve-vector-tiles/
+<<<<<<< Updated upstream
+=======
+      - page: Extrusion of vector tiles from OSM data
+        url: /examples/extrusion/
+      - page: Create 3d tiles and visualize them with Cesium
+        url: /examples/3d-tiles/
+>>>>>>> Stashed changes
       - page: Create an IP to location web service
         url: /examples/ip-to-location/
       - page: Create a geocoding web service
diff --git a/examples/3d-tiles/index.md b/examples/3d-tiles/index.md
new file mode 100644
index 0000000..fc637b7
--- /dev/null
+++ b/examples/3d-tiles/index.md
@@ -0,0 +1,63 @@
+---
+layout: default
+title: Create 3d tiles and visualize them with Cesium
+permalink: /examples/3d-tiles/
+---
+
+# Create 3d tiles and visualize them with Cesium
+
+In this tutorial, we demonstrate how to import OSM data into PostGIS and then serve them as 3d tiles to view them in Cesium.
+
+## Dataset
+
+OpenStreetMap (OSM) is a free and editable map of the world.
+It is maintained by a community of passionate volunteers in a way which is similar to Wikipedia.
+Every week, OpenStreetMap publishes a [full dump](https://planet.openstreetmap.org/) of its data in two flavours: a large XML file of about 90GB and a more compact binary file of about 50GB in the  [Protocol Buffer Format](https://developers.google.com/protocol-buffers) (PBF).
+As processing such large files can take several hours, [Geofabrik](http://www.geofabrik.de/data/download.html) regularly publishes smaller extracts of OSM for specific regions.
+In this example we will use a tiny extract of OSM for [Liechtenstein](https://en.wikipedia.org/wiki/Liechtenstein), which is suitable for fast experiments.
+
+## Importing OpenStreetMap Data
+
+A workflow is a directed acyclic graph of steps executed by Baremaps.
+To download and import the sample OSM data in Postgres, execute the following [workflow](https://raw.githubusercontent.com/apache/incubator-baremaps/main/examples/openstreetmap/workflow.json).
+
+```
+baremaps workflow execute --file examples/tdtiles/workflow.json
+```
+
+Depending on the size of the OpenStreetMap file, the execution of this command may take some time.
+Eventually, the output produced by the command should look as follows.
+
+```
+[INFO ] 2023-01-04 16:06:53.098 [main] Execute - Executing the workflow workflow.json
+[INFO ] 2023-01-04 16:06:53.235 [pool-2-thread-1] DownloadUrl - Downloading https://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf to liechtenstein-latest.osm.pbf
+[INFO ] 2023-01-04 16:06:53.820 [pool-2-thread-1] DownloadUrl - Finished downloading https://download.geofabrik.de/europe/liechtenstein-latest.osm.pbf to liechtenstein-latest.osm.pbf
+[INFO ] 2023-01-04 16:06:53.821 [pool-2-thread-2] ImportOpenStreetMap - Importing liechtenstein-latest.osm.pbf into jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps
+[INFO ] 2023-01-04 16:06:53.825 [pool-2-thread-2] HikariDataSource - HikariPool-1 - Starting...
+[INFO ] 2023-01-04 16:06:53.898 [pool-2-thread-2] HikariPool - HikariPool-1 - Added connection org.postgresql.jdbc.PgConnection@6e426130
+[INFO ] 2023-01-04 16:06:53.899 [pool-2-thread-2] HikariDataSource - HikariPool-1 - Start completed.
+[INFO ] 2023-01-04 16:06:55.743 [pool-2-thread-2] ImportOpenStreetMap - Finished importing liechtenstein-latest.osm.pbf into jdbc:postgresql://localhost:5432/baremaps?&user=baremaps&password=baremaps
+[INFO ] 2023-01-04 16:06:55.743 [pool-2-thread-3] ExecuteSql - Executing indexes.sql
+[INFO ] 2023-01-04 16:06:56.623 [pool-2-thread-3] ExecuteSql - Finished executing indexes.sql
+[INFO ] 2023-01-04 16:06:56.623 [main] Execute - Finished executing the workflow workflow.json
+```
+
+## Serve 3d tiles to a Cesium web application
+
+In order to generate 3d tiles Baremaps uses [JTS Delaunay Triangulation](https://locationtech.github.io/jts/javadoc/org/locationtech/jts/triangulate/DelaunayTriangulationBuilder.html) to
+triangulate vector tiles into 3d meshes. Then it uses [jgltf](https://github.com/javagl/JglTF) to generate a GLB that can be embedded into a 3d tile.
+
+To start the 3d tiles server, use the following command:
+
+```
+baremaps tdtiles serve --database jdbc:postgresql://localhost:5432/baremaps?user=baremaps&password=baremaps
+```
+
+Well done, a local http server should have started.
+You can now visualize the 3d tiles in your browser ([http://localhost:9000/](http://localhost:9000/))!
+Notice that the changes in the configuration files are automatically reloaded by the browser.
+
+
+## Conclusion
+
+In this tutorial, we learnt how to import OpenStreetMap data in PostGIS and then serve 3d tiles with Apache Baremaps.
\ No newline at end of file
diff --git a/examples/index.md b/examples/index.md
index ceddea0..cbcd783 100644
--- a/examples/index.md
+++ b/examples/index.md
@@ -21,6 +21,10 @@ For the creation of custom vector tiles you can follow these guides:
 - The [NaturalEarth](/examples/import-naturalearth-into-postgis/) example shows how to produce low resolution vector tiles.
 - The [Contour](/examples/import-contour-into-postgis/) example shows how to produce contour lines from a digital elevation model.
 
+For the creation of 3d tiles you can follow this guide:
+
+- The [3d Tiles](/examples/3d-tiles/) example shows how to create 3d tiles from OSM data and serve them to a Cesium web application.
+
 For the creation of an IP to location service follow this guide:
 
 - The [IP to location](/examples/ip-to-location/) example shows how to create and serve an IP to location service in a simple web application.