All Projects → Oslandia → lopocs

Oslandia / lopocs

Licence: LGPL-2.1 license
Migrated to: https://gitlab.com/Oslandia/lopocs

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to lopocs

Postgis
PostGIS spatial database extension to PostgreSQL [mirror]
Stars: ✭ 925 (+1085.9%)
Mutual labels:  gis, postgis
Lidar
A Python package for delineating nested surface depressions from digital elevation data.
Stars: ✭ 85 (+8.97%)
Mutual labels:  gis, lidar
Geography for hackers
Geography for Hackers - Teaching all how to hack geography, use GIS, and think spatially
Stars: ✭ 25 (-67.95%)
Mutual labels:  gis, postgis
lt-mapper
A Modular Framework for LiDAR-based Lifelong Mapping
Stars: ✭ 301 (+285.9%)
Mutual labels:  lidar, pointcloud
annotate
Create 3D labelled bounding boxes in RViz
Stars: ✭ 104 (+33.33%)
Mutual labels:  lidar, pointcloud
Spatial
Neo4j Spatial is a library of utilities for Neo4j that faciliates the enabling of spatial operations on data. In particular you can add spatial indexes to already located data, and perform spatial operations on the data like searching for data within specified regions or within a specified distance of a point of interest. In addition classes are provided to expose the data to geotools and thereby to geotools enabled applications like geoserver and uDig.
Stars: ✭ 695 (+791.03%)
Mutual labels:  gis, postgis
Geotools
Official GeoTools repository
Stars: ✭ 1,109 (+1321.79%)
Mutual labels:  gis, postgis
geotrellis-pointcloud
GeoTrellis PointCloud library to work with any pointcloud data on Spark
Stars: ✭ 21 (-73.08%)
Mutual labels:  gis, pointcloud
QWAT
TEKSI Water module (project QWAT) - QGIS project
Stars: ✭ 52 (-33.33%)
Mutual labels:  gis, postgis
Tinfour
Delaunay and Constrained Delaunay Triangulations in Java, providing high-performance utilities for modeling surfaces with support for Lidar LAS files, Digital Elevation Models (DEM), finite element analysis, path planning, natural neighbor interpolation, and other applications of Triangulated Irregular Networks (TIN)
Stars: ✭ 119 (+52.56%)
Mutual labels:  gis, lidar
Itowns
A Three.js-based framework written in Javascript/WebGL for visualizing 3D geospatial data
Stars: ✭ 517 (+562.82%)
Mutual labels:  gis, pointcloud
WhiteboxTools-ArcGIS
ArcGIS Python Toolbox for WhiteboxTools
Stars: ✭ 190 (+143.59%)
Mutual labels:  gis, lidar
3dfier
The open-source tool for creating of 3D models
Stars: ✭ 260 (+233.33%)
Mutual labels:  gis, lidar
Tegola
Tegola is a Mapbox Vector Tile server written in Go
Stars: ✭ 754 (+866.67%)
Mutual labels:  gis, postgis
mago3djs
3D Rendering Library
Stars: ✭ 114 (+46.15%)
Mutual labels:  gis, cesiumjs
Wetland Hydro Gee
Mapping wetland hydrological dynamics using Google Earth Engine (GEE)
Stars: ✭ 20 (-74.36%)
Mutual labels:  gis, lidar
gismanager
Publish Your GIS Data(Vector Data) to PostGIS and Geoserver
Stars: ✭ 45 (-42.31%)
Mutual labels:  gis, postgis
postile
Project migrated to: https://gitlab.com/Oslandia/postile
Stars: ✭ 67 (-14.1%)
Mutual labels:  gis, postgis
Whitebox Python
WhiteboxTools Python Frontend
Stars: ✭ 188 (+141.03%)
Mutual labels:  gis, lidar
lodToolkit
level-of-details toolkit(LTK). Convert osgb lod tree to 3mx tree. Convert pointcloud in ply/las/laz/xyz to 3mx/osgb tree.
Stars: ✭ 81 (+3.85%)
Mutual labels:  lidar, pointcloud

Light Opensource logo PointCloud Server

Build status of the master branch Package license

LOPoCS is a point cloud server written in Python, allowing to load Point Cloud from a PostgreSQL database thanks to the pgpointcloud extension.

The current version of LOPoCS provides a way to load Point Cloud from PostgreSQL to the following viewers:

Note that LOPoCS is currently the only 3DTiles server able to stream data from pgpointcloud. This is possible thanks to the python module py3dtiles.

Developments are still going on to improve state-of-the-art algorithms and performances.

Video

Online demonstration

Example using 3Dtiles/Cesium with data from GrandLyon

docs/grandlyon.png

1   Main features

  • Command line tool to load data into PostgreSQL
  • Swagger API
  • Stream patches stored in PostgreSQL
  • Greyhound protocol support
  • 3DTiles standard support (partial)
  • Produce ready to use examples with Potree and Cesium

2   Installation

2.1   Dependencies

Note

The LOPoCS loader uses PDAL's "mortonorder" filter in "reverse" mode. The "reverse" mode was introduced in PDAL version 1.7.1, so make sure you use this version or higher.

2.2   From sources

$ git clone https://github.com/Oslandia/lopocs
$ cd lopocs
$ virtualenv -p /usr/bin/python3 venv
$ source venv/bin/activate
(venv)$ pip install 'numpy==1.14.3'
(venv)$ pip install -e .

3   Configuration

You will find an example of a configuration file for lopocs in conf/lopocs.sample.yml

You have to copy it to conf/lopocs.yml and fill with your values, lopocs will load it if this file exists. Another alternative is to set up the LOPOCS_SETTINGS environment variable to locate your configuration file.

4   Usage

4.1   Prepare database

$ createdb lopocs
$ psql -d lopocs -c 'create extension postgis'
$ psql -d lopocs -c 'create extension pointcloud'
$ psql -d lopocs -c 'create extension pointcloud_postgis'
$ psql -d lopocs -c 'create extension morton'

4.2   Lopocs CLI

You can invoke lopocs in your virtualenv to show help and list available subcommands

$ cd lopocs
$ source venv/bin/activate
(venv)$ lopocs

4.3   Check installation

(venv)$ lopocs check
Pdal ... 1.4.0
Pdal plugin pgpointcloud ... ok
PostgreSQL ... 9.6.3
PostGIS extension ... 2.3.1
PgPointcloud extension ... 1.1.0
PgPointcloud-PostGIS extension ... 1.0

4.4   Demo data

(venv)$ mkdir demos
(venv)$ lopocs demo --work-dir demos/ --sample airport --cesium
(venv)$ lopocs serve

Copy/Paste the link at the end of the log in your browser and you will be able to see this:

docs/airport.png

4.5   Swagger API

Each viewer has specific expectations and communication protocol. So, the API is built to meet these specific needs.

Currently, 2 kinds of formats are supported:

  • 3DTiles
  • Greyhound format (LAZ data with a footer indicating the number of points)

LOPoCS is able to stream data up to 2 viewers:

  • Cesium with the 3DTiles format
  • Potree viewer with the Greyhound format

LOPoCS provides its RESTful API through a Swagger UI by default on http://localhost:5000

docs/api.png

5   Run tests

(venv)$ pip install .[dev]
(venv)$ py.test

6   Licence

LGPL>2: LICENSE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].