位置: 编程技术 - 正文

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

  • 增值税计入成本吗?
  • 资管产品增值税由谁承担
  • 营业执照办理税务登记需要什么资料
  • 施工二级资质是什么意思
  • 个体工商户季度不超过30万免增值税吗
  • 个体户4年不注销的后果消
  • 非流动资产处置损失包括哪些
  • 51电子发票客户端后使用教程
  • 应付福利费直接计入未分配利润
  • 小企业营业外支出
  • 收到小规模企业农产品普票可以抵扣进项税吗?
  • 研发新产品成功案例简短
  • 增值税发票收款人复核人空白可以吗
  • 专票密码区压线可以报销吗
  • 营改增小规模纳税人增值税纳税实务实训
  • 医疗器械 税点
  • 租金收入的印花税税率是多少
  • 空调折旧年限的最新规定2018
  • 小微企业减免税代码是多少
  • 挂名财务负责人会坐牢吗
  • 大专生可以考公务员职位列表
  • 折扣销售怎么确认
  • 出口退税和增值税抵扣一样吗
  • 员工付款的手续费怎么算
  • 购买商品接受劳务的现金流包括哪些
  • 主营业务收入平均增长率计算公式近两年
  • linux命令df -h结果详解
  • 凤尾蕨的养殖方法
  • urlerror什么意思
  • springboot上传文件大小设置
  • php mysql_real_escape_string函数用法与实例教程
  • 企业期末营业利润分录
  • 企业人员工资怎么避税
  • vue中使用echars
  • php中false的作用
  • php timeout
  • 社会保险费征收机构责令限期缴纳
  • symerr函数
  • 退回的税控盘费用如何做会计分类
  • php面向对象的三大特征
  • php引用返回用法怎么用
  • 获取企业微信用户身份信息授权失败
  • php.ini中date.timezone设置详解
  • 基于php判断客户是否存在
  • mysql分区实现
  • 个人佣金收入怎样交税
  • 食堂增值服务有哪些
  • 门窗安装属于土建还是安装?
  • mysql命令行如何命令行导出查询结果并导入
  • mongodb用户权限
  • SQLite优化方法
  • 找到一款
  • 会计核算的职能包括哪些
  • 应交增值税转入未交增值税怎么算
  • 金税四期监控银行卡
  • 收到分红的会计科目
  • 多计提的个人所得税退给员工怎么处理
  • 材料盘盈如何入账
  • 应收账款多记账怎么做调整分录
  • 企业在银行的信用卡
  • 税控维护费是什么意思
  • 测试账户收入怎么处理
  • 企业预付账款的分录
  • Centos下Mysql安装图文教程
  • win10每次开机都假死机
  • 怎么把iphone作为u盘
  • windowsxp怎么卸载
  • centos8安装锐速
  • windows7访问windows10
  • linux系统解压tar.gz文件
  • excel乱码怎么转换
  • ExtJS4 动态生成的grid导出为excel示例
  • 利用python读取文件
  • python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
  • js输出100以内能被5整除的数
  • python如何获取
  • python二叉树的遍历算法
  • 海关进口增值税如何入账
  • 陕西省电力app
  • 税务师 领证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设