• GeoServer 3D Extension&3dtiles


    Development of an extension of GeoServer for handling 3D spatial data:https://www.cnblogs.com/2008nmj/articles/16784290.html

    Author: Hyung-Gyu Ryoo(Pusan National University)

    论文:https://scholarworks.umass.edu/cgi/viewcontent.cgi?article=1004&context=foss4g

    视频:av.tib.eu/media/40966

    摘要:最近,好几个开源的软件工具,例如CesiumJS和iTowns已经开发出来用于处理三维的空间数据。这些工具主要聚焦在WebGL三维空间数据的可视化。一个可以存储、分享和查询3D空间数据的开源服务器还未开发出来。GeoServer,作为一款具有代表性的开源空间数据服务器之一,提供了许多强大的功能。特别是,它支持从各种数据源连接和发布空间数据。GeoServer还支持Web要素服务(WFS),这是Open Geospatial Consortium为请求地理空间要素数据而建立的标准协议。然而,GeoServer仅提供二维几何图形的功能,因此它很少提供处理三维空间数据的功能。因为JTS拓扑套件是GeoServer的重要组件,不支持3D空间操作,它也不支持实体几何图形。在本文中,我们讨论了GeoServer的扩展模块,这些模块是我们为处理三维空间数据而实现的。首先,我们的模块不是JTS,而是采用了基于ISO 19107标准的几何模型,并支持来自Simple Feature CGAL库的3D空间操作。基于此几何模型,我们实现了新的内部数据结构,表示来自GeoServer中Feature接口的空间信息。其次,我们还扩展了DataStore模块,以处理和存储GeoJSON、GML和PostGIS等多个数据源的3D空间信息。最后,我们扩展了WFS模块,通过GeoServer共享三维空间数据。

    1. Introduction

    最近,一些处理3D空间数据的开源软件工具,如CesiumJS(AGI 2017)和iTown(Oslandia 2016)都得到了积极开发。其中大多数主要关注于在客户端环境中可视化3D空间数据。然而,用于向这种可视化工具提供三维空间数据的通用空间数据服务器尚未开发,因此客户很难为三维空间信息提供服务。为了向用户提供地理空间web服务,有必要开发一个能够共享和查询三维空间数据的空间数据服务器。

    GeoServer(GeoServer 2001)是一个典型的开源空间数据服务器,它提供了多种符合开放标准的空间数据源。它支持处理空间数据的文件格式,例如GeoJSON(Butler等人,2008)和shapefile(ESRI 1998),以及地理空间数据库管理系统(DBMS),例如PostGIS(PostGIS 2001)和Oracle spatial and Graph(Oracle 2016)。GeoServer允许用户以插件的形式添加新的数据存储。基于这些不同的空间数据源,GeoServer是地理空间web服务中的一个重要组件,它通过实现开放地理空间联盟(OGC)建立的开放地理空间web服务,例如web地图服务(Service 2006)、web要素服务(WFS/FES 2005)和web处理服务(Service 2015),提供共享和查询空间数据的功能。

    尽管GeoServer作为通用空间数据服务器功能强大,但在处理3D空间数据方面存在局限性。例如,无法将由闭合曲面包围的实体的空间信息存储到数据存储中,也无法从数据源加载这些信息。GeoServer可以使用三维坐标处理和存储点、曲线和曲面。然而,GeoServer几乎不支持三维空间查询,因为它只执行忽略z坐标的空间查询处理。

    这些限制源于GeoServer中表示空间信息的数据结构。JTS拓扑套件(Java Topology Suite)是用Java(Tech 2000)编写的基本库,是GeoServer用于几何图形的核心组件。在JTS的顶部,GeoServer为各种2D几何图形提供了许多空间操作和实用功能。在大多数实现中,假设特征的几何属性表示为JTS库的几何。换句话说,GeoServer与JTS紧密耦合。因此,有必要替换GeoServer的JTS,以在3D中提供全功能特征。

    Figure 1: Overview of our extension of GeoServer to support 3D spatial data

     在本文中,我们介绍了我们对GeoServer的扩展,以支持图1所示的3D空间数据(STEMLab 2015,STEMLab 2016)。我们对GeoServer和开源社区的贡献总结如下:

    • We have taken the initiative to implement a fully functional open-sourced data server for 3D spatial data.

    • We carefully examined GeoServer from bottom to top to determine how to add a 3D extension.

    • We identified requirements and issues for a 3D spatial data server based on GeoServer.

    • We built a feasible full stack composed of open source software

    本文的结构如下。我们在第2节中调查了相关工作并提出了3D空间数据服务器的需求。在第3节中,我们介绍了使用基于ISO 19107空间模式(ISO/TC211 2003)的几何模型在GeoServer中存储3D几何体的数据结构实现。第4节描述了可以基于第3节实现的数据结构存储和查询3D几何图形的数据存储。在第5节中,我们描述了对Web Feature Service协议的支持,以共享3D空间信息。在第6节中,我们总结了本文,并讨论了当前的局限性和未来的工作。

    2. Related Work

    有几个DBMS可以存储三维空间数据并对空间信息执行查询处理。Oracle Spatial and Graph是一个具有代表性的商业数据库,支持大多数空间操作和3D空间数据类型,包括实心几何图形。PostGIS是一种广泛使用的开源空间数据库,部分支持3D空间数据类型和操作。尽管空间数据库管理系统是操作空间数据的基础,但为了满足各种地理空间应用程序的需要,需要通用的接口和工具。例如,用户可能需要覆盖和操作来自不同数据源的多个层,而不必担心每个数据存储上的不同实现。

    源代码:https://github.com/STEMLab/geoserver-3d-extension/commits?author=hgryoo

    Commits on Jul 23, 2018 Merge pull request #1 from STEMLab/geoserver3d-web-ui

    Commits on Sep 15, 2017  added kvp

    Commits on May 23, 2017  added transaction handlers && testing wfs 1.1

    Commits on May 21, 2017 added FeatureColllectionTypeBinding for ISO &&  added gs-main-iso in wfs

    Commits on May 17, 2017  testing WFS 1.1 GetFeature

    Commits on May 16, 2017   set as community module and added Retyping && added wfs ui

    Commits on May 10, 2017 added LayerPage for 3D and Resource configuration page

    Commits on May 9, 2017  init web-iso

    Commits on Jan 7, 2017   tested intersects gml2 iso

    Commits on Dec 29, 2016 getfeature ok, bbox => duplicatingfilter should be fixed.

    Commits on Dec 28, 2016 testing GetFeature BBOX Filter...

    Commits on Dec 27, 2016 added WFSConfiguration

    Commits on Dec 26, 2016  make new service WFS(1.1.1) && added urlmapping

    Commits on Dec 24, 2016 tested new WFS Module for 3D operations

    Commits on Sep 28, 2016  Initial commit

    Geotools-3D-Extension:https://github.com/STEMLab/geotools-3d-extension

    Prerequisites:CMAKE、Boost、CGAL、SFCGAL

    >>GeoServer 3Dtiles:https://blog.csdn.net/xiangshangdemayi/article/details/124006619?spm=1001.2014.3001.5502

  • 相关阅读:
    使用keepalived实现双机热备
    MYSQL ERROR CODE 错误编号的意义
    Mysql slow query log
    eclipse svn 分支合并到主干
    Timer的schedule和scheduleAtFixedRate方法的区别解析
    Java内部类引用外部类中的局部变量为何必须是final问题解析
    nginx中有关命令和日志切割,配置文件加载的详细阐述
    流媒体中ffmpeg 命令的使用
    windows下搭建nginx服务器及实现nginx支持https配置流程
    mysql 中sql语句的执行顺序
  • 原文地址:https://www.cnblogs.com/2008nmj/p/16786953.html
Copyright © 2020-2023  润新知