云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

谷歌云_香港域名注册_优惠券

小七 141 0

QGIS、GeoServer及更多:SAP HANA空间集成

SAP的内存数据库SAP HANA具有地理空间引擎,使SAP HANA成为地理空间矢量数据的预定存储。一旦数据驻留在SAP HANA中,开发人员就可以利用HANA的多模型引擎(如图形和json文档库)以及高级分析功能和嵌入式机器学习(如PAL、APL、EML)。

此外,随着HANA2 SP04的发布,购物领券,空间分析领域取得了一些进展。最突出的特点是在数据库六边形集群。

然而,即使是最复杂的空间分析模型,它已经作为一个后端组件运行增值,值得充分提出,而不是仅仅是"在数据库中"。在SAP,我们提供SAP Analytics Cloud等解决方案,为业务用户提供地图可视化功能。GIS(地理信息系统)部门和开发人员确实需要更广泛的GIS特定功能集。因此,SAP与商业GIS软件的市场领导者Esri建立了强有力的合作关系。SAP HANA的空间组件旨在与Esri ArcGIS无缝集成,并作为Esri客户的认证地理数据库。

作为专有GIS软件的补充,许多客户使用QGIS等开源GIS解决方案运行混合景观。在本文中,我们将描述如何使用GeoServer将SAP HANA与QGIS桌面客户端连接。

技术上,微信淘客,我们将在本地笔记本电脑上设置整个堆栈。所有必要的软件组件(包括SAP HANA Express)都可以免费下载。

本指南重点介绍端到端的场景,并强调了设置的主要构建块。有关详细的技术说明,我们将链接其他文章。但是,如果你沿着直线走,你应该能够在不到30分钟内完成整个设置(不包括下载时间)。

玩得开心,同时弄脏你的手!

在本教程中,您将学习如何

SAP HANA Spatial无缝集成GIS和业务数据

如果您对有关SAP HANA Spatial和Esri ArcGIS集成的更多资源感兴趣,请查看以下博客,其中汇集了最重要的教程和文章:

https://blogs.sap.com/2017/11/15/sap-hana-spatial-resources/

本教程的所有内容都可以免费下载,并且可以安装在内存充足的笔记本电脑上。请在下表中找到各个组件:

安装愉快!

当然,如果您的HANA实例中已经有您喜爱的地理空间数据集,您可以跳过此步骤。只要确保将其存储在STèGeometry列中即可。

如果您正在寻找一个好的数据集,我推荐AirBnB根据知识共享许可证发布的数据。对于我们的例子,我们将使用柏林的摘要文件,它可以从以下URL获得:

上传CSV文件

有多种方式将此CSV内容上传到SAP HANA。我想简单地提到两个:

您可以使用内置的进口声明:https://help.sap.com/viewer/4fe29514fd584807ac9f2a04f6754767/2.0.04/en-US/20f712e17519101490739374741fadcb97.html如果您使用的是Python,那么利用Pandas和SQLAlchemy有一种非常简洁的方法。要遵循此路径,首先需要为SQLAlchemy设置HANA插件:https://github.com/SAP/sqlalchemy-hana/之后,企业管理应用,信息大数据,您可以通过熊猫下载数据:数据框下载=pd.read\U csv文件('http://data.insideairbnb.com/germany/be/berlin/2019-09-19/visualizations/listings.csv')​并坚持在HANA中:hdb\U连接=sqlalchemy.create\u引擎('hana://%s:%s@%s:%s'(hdb\u用户、hdb\u密码、hdb\u主机、hdb\u端口)).connect()测向_下载到sql(name='listings\u airbnb\u berlin',con=hdb\u connection,if\u exists='replace')

Adjust Table Structure

既然HANA中有了纯数据,我们仍然需要维护主键并用纬度和经度值构造一个几何列。最终,您可以使用SAP HANA支持的来自EPSG的4000多个空间参考系统中的任何一个。但是,由于我们处理来自柏林的数据,因此最好使用本地SRS,在本例中,它将是Gauss Kruger(EPSG 31468)。

我们可以通过在SQL控制台上执行以下语句来安装31468:

空间参考系统的创建语句的完整列表

在使用31468之后,我们可以将这两个语句运行到附加一个ST_GEOMETRY类型的列,并用从给定的纬度和经度值派生的几何体填充它:

最后,我们需要向已经存在的ID列添加一个主键约束。GeoServer稍后将需要此命令来发布WFS服务。

完整代码段

鉴于您安装了SRS 31468,可以使用以下Python脚本实现上载和转换数据的完整过程:

恭喜!现在SAP HANA中有一些空间数据正在等待您!

我们希望使用GeoServer以QGIS能够理解的方式填充数据。最常见的是,我们会使用一个Web功能服务(WFS)来实现这一点。我们可以使用WFS公开两个数据集–原始点数据以及包含六边形单元格和密度信息的视图。

使用bin目录中的一个依赖于平台的启动脚本或调用GeoServer目录中的

来运行GeoServer。一旦服务器启动,可以通过

访问默认安装中的管理UI:8080/geoserver

默认用户名/密码为admin/geoserver.

geoserver现在已启动并运行!

暴露HANA表中的数据

我们需要在GeoServer中创建一个工作区、存储和两个层。我们要实现的是,一层公开原始点数据,而第二层公开一些处理过的数据(即六边形聚类)。

通过选择左侧栏上的"工作区"条目创建工作区,然后单击"添加新工作区"

通过选择左侧栏上的"存储区"创建存储区,然后单击"添加新商店"。在下一页选择SAP HANA插件。