位置: 编程技术 - 正文

Sqlview动态发布地图图层的方法(动态sql怎么执行)

编辑:rootadmin

推荐整理分享Sqlview动态发布地图图层的方法(动态sql怎么执行),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:动态sql怎么写,sql动态执行,动态sql作用,动态sql写法,动态sql写法,动态sql写法,动态sql怎么写,动态sql语句,内容如对您有帮助,希望把文章链接给更多的朋友!

1.SQL Views简介

Geoserver+postgresql+openlayers(leaflet)是目前主流的gis开发工具。Postgresql用于存储地图数据,geoserver用于发布地图数据,openlayers或者leaflet用于访问发布地图。正常情况下当shapefile格式的数据导入postgresql数据库中之后,我们需要通过geoserver把所有的数据发布出去,这样才能访问。常规情况下这种操作方式是没有问题的,因为地图作为基础服务,一旦发布出去是不会变化的。但是对于室内地图来说就不行了,假如一个商场有5层,每一楼层又层有5个地图图层,对于这样一个商场需要把这个地图图层在geoserver中全部发布出来才能访问该商场的全部地图。假如发布这一个商场的个图层你还能忍受的话,那发布成千上万个商场的地图你还能忍受吗?既然忍受不了那就要想办法解决。由于发布地图是机械的重复的工作,我们是否能想一些办法来帮我们完成这些工作呢。这时候就是我们的sqlView出场了。

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

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

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

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

(4)SQLViews是对数据库操作与查询的一个结果,不能使用wfs_t去操作它,但是wfs,wms都可以正常请求或者查询。

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

(1)登录geoserver,点击图层,选择工作空间,新建图层。

(2)新建SQL Views视图图层,并发布。

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

Sqlview动态发布地图图层的方法(动态sql怎么执行)

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

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

(3)图层访问

在通过wms获取地图的时候只需要把tbl的值通过viewparams传递过去就行了

View视图

解决了图层发布的问题,终于可以松一口气了。但是,没想到棘手的问题还在后面。领导让做室内导航功能。做就做吧,谁让咱是苦逼的码农呢。那该怎么做室内导航呢,做这个功能之前,咱还是要规划一下的。首先要写最短路径查询算法;然后查询路径的时候只需要把起点和终点的位置输入算法查询即可;最后把查询的结果通过wms或wfs方式获取,显示在地图上。

编写最短路径规划算法的时候我们需要的输入有:用户所在楼层的道路名,起点和终点的位置,然后我们吭哧吭哧,大战3天三夜,搞定。

接着查询,好办,直接按照上面的放吧,把该商场的5个楼层都发布一个基于对应楼层的结果路径视图,机智吧?NO,NO,NO!简直遇事情不懂脑子啊。这个时候肯定需要换一个新的方法,把最短路径规划算法写成一个Function嵌入到postgresql数据库中,该function的输入参数为:用户所在楼层,起点位置,终点位置;输出参数为起点和终点直接经过的点坐标。

最后,通过wms或者wfs的方式获取得到的最短路径结果即可。

以上所述实现小编给大家介绍的Sqlview动态发布地图图层的方法,希望对大家有所帮助!

SQL Server存储过程中编写事务处理的方法小结 本文实例讲述了SQLServer存储过程中编写事务处理的方法。分享给大家供大家参考,具体如下:SQLServer中数据库事务处理是相当有用的,鉴于很多SQL初学

MyBatis实践之动态SQL及关联查询 序言MyBatis,大家都知道,半自动的ORM框架,原来叫ibatis,后来好像是年apache软件基金组织把它托管给了goolecode,就重新命名了MyBatis,功能相对以前更强

SQL Server查看未释放游标的方法 一直以来对SQLSERVER的游标都不怎么感冒,也很少使用SQLServer里面的游标,前几天有一位网友问如何检查数据库里面没有释放的游标,觉得有点意思,就

标签: 动态sql怎么执行

本文链接地址:https://www.jiuchutong.com/biancheng/312893.html 转载请保留说明!

上一篇:SQL SERVER 将XML变量转为JSON文本

下一篇:SQL Server存储过程中编写事务处理的方法小结(sqlserver存储过程声明变量)

  • 一个工程中可以有多个主函数
  • 国外收到怎么说
  • 所得税残疾人工资加计扣除
  • 为客户购买的机票怎么退
  • 如何查看发票是否被抵扣
  • 办理外经证后缴税怎么交
  • 个体户2019年定额征收额度是多少
  • 发票过期了还能抵扣吗
  • 小规模免税农产品怎么做账
  • 快递售后是干嘛的
  • 销售给客户红包,说给的现金,如何把控
  • 票据行为为什么没有付款
  • 短期投资款取消退回计入什么科目?
  • 支付境外费用需要交哪些税
  • 预付设备款如何缴纳印花税
  • 营改增成功案例
  • 物业费收入的增值税税率是多少
  • 支付的租金计入什么会计科目
  • 个人从上市公司取得的分红个税怎么申报
  • 企业税前扣除凭证包括以下哪些方面
  • 企业工资和社保缴费基数
  • 无形资产的出租租金通过什么科目核算
  • 网络销售平台优势有哪些
  • 生物资产全套账务处理
  • 无偿赠送的原材料怎么处理
  • 经常访问的网站怎么恢复
  • linux常用命令详解
  • 腾讯手游助手如何退出登录
  • php判断ua
  • 物流公司的收入来源有哪些
  • 金融商品转让属于什么服务
  • 房地产企业销售额扣除土地价款
  • 城镇土地使用税的计算公式
  • php远程下载源码
  • 阿里云盘 icloud
  • 发行股票溢价计入
  • react框架和vue哪个用的人多
  • 2021年前端还火吗
  • 前端css要掌握到什么程度
  • 跨平台 gui
  • 开具红字发票资料清单
  • 劳动仲裁支付的个人款项怎么做账
  • 在建工程完工后转入哪里
  • 科技项目经费预算取费细则
  • db2数据库备份文件为bkd格式
  • 用vue做的企业项目
  • python 邮件服务
  • sql中的row_number
  • 工资总额主要包括
  • mysql命令行删除库中的所有表
  • 小规模纳税人所得税怎么计算
  • 小规模免税收入怎么做账
  • 建筑施工企业检查的内容包括什么
  • 公司注册取消验资
  • 加油票抬头开错了
  • 土地闲置费属于政府性基金收入
  • 记账凭证是什么填制的?A.由经办人
  • mysql多表连接的方式
  • win7系统计算机管理功能打不开
  • 部署与布署哪个正确
  • 如何在macbook中设置软件权限
  • macbook怎么开hdr
  • 教大家如何重做作业
  • linux ./ 命令
  • xp如何升级到sp3
  • windows7怎么打开注册表
  • cocos3.0
  • 怎么快速
  • js中密码由字母和数字组成,长度为4-20
  • nodejs cicd
  • [置顶]马粥街残酷史
  • Vuforia How To Use Android Plugins in Unity Apps
  • jquery设置滚动条
  • 中国税务稽查官网
  • 税务局约谈严重吗
  • 深圳在线ca办理平台
  • 历年房产税
  • 主要领导负责人
  • 体育局和什么局合并了
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设