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)

相关推荐

  • 软件测试app问题之闪退

    技术软件测试app问题之闪退 软件测试___app问题之闪退闪退的原因分为种:一、软件本身有问题;二、系统出现问题。
    一、软件问题
    (1)app 不兼容系统当前系统版本
    (2)app有了新版本,没有跟新

    礼包 2021年11月24日
  • json基础及示例(json原理以及使用方法)

    技术如何实现json 相关操作本篇文章为大家展示了如何实现json 相关操作,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。//设置key valueJSONObject para

    攻略 2021年12月13日
  • Centos6、7操作系统中怎么开启或关闭ICMP协议

    技术Centos6、7操作系统中怎么开启或关闭ICMP协议小编给大家分享一下Centos6、7操作系统中怎么开启或关闭ICMP协议,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有

    攻略 2021年11月15日
  • 中国标志性建筑,中国最具标志性的建筑有哪些

    技术中国标志性建筑,中国最具标志性的建筑有哪些每个国家都拥有一些标志性建筑,一看到它就能唤起对于它的记忆,标志性建筑也是一个国家的名片和象征。要说中国有哪些标志性建筑中国标志性建筑?不同的思考维度有不同的答案,如果从建筑

    生活 2021年10月27日
  • 77的因数有哪些,1至100的因数有哪些

    技术77的因数有哪些,1至100的因数有哪些1到100之间的质数有(177的因数有哪些,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,8

    生活 2021年10月22日
  • P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G

    技术P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fe

    礼包 2021年11月18日