Sqlview动态发布地图图层的方法是什么

技术Sqlview动态发布地图图层的方法是什么Sqlview动态发布地图图层的方法是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.SQL Views

Sqlview动态发布地图图层的方法是什么?我相信很多没有经验的人都不知所措。为此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。

1.SQL Views简介

geoserver PostgreSQL OpenLayers(Layers)是目前主流的gis开发工具。Postgresql用于存储地图数据,geoserver用于发布地图数据,openlayers或活页用于访问发布的地图。通常情况下,当shapefile格式的数据导入postgresql数据库时,我们需要通过geoserver发布所有的数据,这样我们就可以访问它。正常情况下,这种操作方式是没有问题的,因为地图作为基础服务,一旦发布就不会改变。但是它对室内地图不起作用。如果一个购物中心有五层,每层有五个地图图层,对于这样的购物中心,所有的25个地图图层都需要在geoserver中发布才能访问该购物中心的所有地图。如果你还能忍受出版这个商场的25层,你还能忍受出版几千个商场的地图吗?如果你不能忍受,你必须找到解决办法。既然发布地图是一个机械重复的任务,我们能不能想办法帮我们完成这些任务?这就是我们的sqlView出来的时候。

首先介绍一下sql View,通过它可以做以下事情:

(1)数据库视图在geoserver中可以发布为完全相同的表,而geoserver的SQLViews不仅可以实现简单的查询发布,还可以输入参数作为查询视图的条件。

(2)SQLViews可以发布数据库的存储过程或函数,以执行更复杂的逻辑操作和查询。

(3)SQL view查询可以通过字符串替换进行参数化,参数值可以在wms和wfs请求中使用,输入值可以通过设置的正则表达式进行验证,消除SQL注入攻击的风险。

(4)SQLViews是数据库操作和查询的结果,wfs_t不能用来操作它,但wfs和WMS可以正常请求或查询。

2.创建带查询条件的SQL Views视图:

(1)登录到地理服务器,单击图层,选择工作区,并创建一个新图层。

(2)创建一个新的SQL视图视图层并发布它。

这里,创建了一个视图来发布传入的表名数据。

tbl的默认值设置为数据库中始终存在的表,设置的正则表达式只允许输入字母数字字符和下划线。

输出结果的类型和坐标系在属性值中设置。

(3)层访问

当您通过wms获取地图时,您只需要通过viewparams传递tbl值。

http://10 . 20 . 135 . 14/geo server/parking/WMS?SERVICE=wmsversversion=1 . 3 . 0 request=GetMapFORMAT=image/pngtransparrent=true layers=parking:vTingcheweiCRS=EPSG:4326 styles=WIDTH=2700 height=1200 bbox=20.02708134918213,110.33805803565978,20 . 0381787

viewparams格式一般为viewparams=p1:v1p2:v2…可以添加几个参数。不同参数之间;分离,单个参数是键值对,即p1是参数名,v1是参数值。

通过wms访问已发布视图的方法如下:

varparams={ layers : ' parking : vtingchewei ',format : ' image/png ' };varviewparams=[' TBL : wanghaigoujia _ B2 _ ting chewei '];params . view params=view params;varvTingchewei=new ol . layer . image({ source : newol . source . imagewms({ URL : ' http://10 . 20 . 135 . 14/geoserver/parking/WMS ',params:params,serverType:'geoserver ',})}));这样,无论有多少商店需要在geoserver中发布五次视图,发布视图的代码都可以预写在geoserver中并打包。这样,该系统可以在任何购物中心使用,而无需发布地图。

3.创建包含function的SQL View视图

解决了图层发布的问题,我们终于可以松一口气了。然而,没想到棘手的问题来了。让领导做室内导航功能。动手吧。我们是努力工作的程序员。那怎么做室内导航呢?在做这个功能之前,我们还是要计划一下。首先,编写最短路径查询算法;然后在查询路径时,只需要将起点和终点的位置输入到算法中进行查询。最后,查询结果由wms或wfs获得并显示在地图上。

写最短路径规划算法时,需要输入:用户所在楼层的道路名称、起点和终点的位置,然后我们会奋战三天三夜,把它完成。

然后,查询,简单易行,只需按照上面所说的,发布一个基于商场所有五层对应楼层的结果路径视图。机智吗?不不不!我只是不知道该怎么想。这时候,肯定需要换一种新的方法,把最短路径规划算法写成一个Function,嵌入到postgresql数据库中。该功能的输入参数为:用户所在楼层、起始位置、结束位置;输出参数是起点和终点直接经过的点的坐标。

通过wms或wfs获取最短路径结果。

上面提到的边肖介绍的用Sqlview实现动态发布地图图层的方法会对你有帮助!

看完以上内容,你掌握了用Sqlview动态发布地图图层的方法了吗?如果您想学习更多技能或了解更多相关内容,请关注行业资讯频道,感谢您的阅读!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/127857.html

(0)

相关推荐

  • Linux系统如何安装ST-Link v2烧录环境

    技术Linux系统如何安装ST-Link v2烧录环境这篇文章主要介绍Linux系统如何安装ST-Link v2烧录环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、首先我们需要安装必要的库和

    攻略 2021年11月18日
  • 行业分析-常用的分析模型

    技术行业分析-常用的分析模型 行业分析-常用的分析模型1. 波特五力分析模型
    用于竞争战略的分析,可以有效的分析客户的竞争环境。
    根据波特的观点,一个行业中的竞争,不止是在原有竞争对手中进行,而是存在

    礼包 2021年11月13日
  • Bytom猜测合约的使用方法是什么?

    技术Bytom猜谜合约使用方法是什么本篇内容介绍了“Bytom猜谜合约使用方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够

    攻略 2021年12月20日
  • Hibernate有哪些核心接口

    技术Hibernate有哪些核心接口这篇文章主要介绍Hibernate有哪些核心接口,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Hibernate是一个开放源代码的对象关系映射框架,它对JDBC

    攻略 2021年12月8日
  • 哪些方面可以用到代理ip

    技术哪些方面可以用到代理ip这篇文章将为大家详细讲解有关哪些方面可以用到代理ip,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。对于代理IP的需求也日益增长,高隐性代理IP

    攻略 2021年10月20日
  • Expect+Shell 定时重启山石防火墙

    技术Expect+Shell 定时重启山石防火墙 Expect+Shell 定时重启山石防火墙expect
    安装expect
    yum install expect
    expect说明
    shell脚本
    存储

    礼包 2021年11月9日