位置: 编程技术 - 正文

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存储过程声明变量)

  • 房产税计税依据包括土地价值吗
  • 出口免税收入的计税依据
  • 开一般户需要提交人行吗
  • 工会经费入账
  • 补提上年度所得税影响本年所得税吗
  • 私企捐助民办学校怎么办
  • 现金折让怎么做会计分录
  • 企业贷款核销条件
  • 支付货款订金入什么科目核算与会计分录
  • 把扣款挂到其它应收款的会计分录怎么做?
  • 公司代扣代缴个人所得税能查到吗
  • 异地交纳的五险一金可以在个人所得税扣除吗?
  • 电子承兑都是银行承兑吗
  • 孵化器虚拟地址多少钱一个啊
  • 小规模开票后的分录怎么做
  • 股票回购会计处理
  • 如何理解结算方式以及结算方式有哪些?
  • 以前年度记账错误
  • 应发工资包含罚款吗
  • 单位出纳的业务有哪些
  • 企业内部股权划拨流程
  • 企业职工福利有哪些
  • mac开机按command+r没反应
  • win10 usb恢复
  • 如何在电子税务局添加开票人
  • 桌面美化神器
  • linux不允许root登录
  • 收到退款发票的分录
  • PHP:pg_execute()的用法_PostgreSQL函数
  • 对于以长期投资为目的
  • mac 查看当前用户
  • 孕妇不能吃哪些水果?
  • php通信协议
  • 库存现金日记账的登记依据
  • php功能实现
  • 承兑汇票和现汇
  • 增值税纳税人的相关规定
  • 什么是增值税普票和专票
  • 应收账款怎么做账
  • thinkphp6多表关联查询
  • 财务中常有提到的问题
  • 支付宝商户服务电话
  • 企业投资收益要交增值税吗
  • 生产部门包括
  • 固定资产减值准备借贷方向
  • 资产负债表与利润表的关联性可在存货与销售成本
  • 收入费用表格式
  • 付款方和发票抬头不一致会计处理
  • 怎么去银行买承兑
  • 事业单位非税收入帐务处理
  • 收到供应商上年的发票
  • 建安企业无收入证明模板
  • 公司与股东的往来款
  • 行政性罚款有哪些
  • 建筑业发票的相关要求
  • 企业固定资产内部控制风险防范体系的构建原则
  • 以前年度应收账款少记怎么处理
  • 未分配利润转增股本要交税吗怎么交
  • 工资尾数差异财务怎么算
  • sql you
  • mysql 正则表达式 是否包含字母
  • win10预览版21277
  • 如何屏蔽网络?
  • centos6 rpm
  • 在linux操作系统中,/etc/rc.d/init.d
  • unity如何合并物体
  • easyui下拉列表
  • unity game optimization
  • python的特点及应用范围
  • javascript数组的本质
  • jQuery插件安装教程
  • Android调整按钮位置
  • 税务局稽查科有什么处理企业的办法
  • 黄金税率是多少
  • 税务局的前身是什么
  • 国家税务局扬州
  • 济南槐荫税务局办税大厅电话
  • 纳税人接受教育
  • 南京税务举报
  • 湖南国税网上营业厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设