位置: 编程技术 - 正文

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

  • 核定征收企业所得税暂行办法
  • 什么情况借钱
  • 2023年小规模物业公司物业费税率
  • 上月开票这月退票要红冲吗?
  • 电子发票可以更改备注吗
  • 销售防疫物资免水洗手液需要什么许可证
  • 没有认证怎么办
  • 加计抵减的税额多长时间
  • 个税返还手续费奖励员工需要交个税吗
  • 个人从海外买东西自用要交税吗
  • 加工皮革出口能申请退税吗
  • 债转股资金
  • 出售闲置材料账务怎么做
  • 盈余公积的用途是什么
  • 专票的税金
  • 去年漏记一笔银行付款怎么办
  • 记账凭证广告费
  • 劳务公司增值税怎么抵扣
  • 房租费简易征收税率
  • 旅游景区税收标准
  • 关于非上市公司的法律
  • 外购存货成本包括哪些
  • 支票发生退票
  • 什么叫净资产收益率
  • 残保金每年什么时候申报缴纳
  • 委托发行股票会亏本吗
  • win11不兼容
  • vue获取当前页面请求头信息
  • 给客户购买礼品怎么记账
  • 废品回收企业回收的废品都是怎么处理
  • 怎么升级鸿蒙系统3.1
  • 抵扣后增值税税率
  • mgaqdesk.exe进程有什么作用 mgaqdesk进程查询
  • 魅族路由器mini刷机
  • 冰河湖怎么去
  • 建筑工程增值税怎么算
  • 季报的利润表本月金额填的是当月数可以吗
  • typescript4.1
  • expdp/impdp oracle数据泵导入导出
  • vue路由实例
  • php file函数
  • 应交税费的期末余额在借方表示什么
  • 活动委托书范本
  • 一般纳税人接受的下列服务中不得抵扣进项税额的有
  • 让渡资产使用权属于收入吗
  • 固定资产清理净损益怎么计算出来的
  • 现金股利和现金利润的区别
  • 公司滞纳金员工承担怎么做账
  • 职工意外险怎么记账
  • 春节法定假加班费政策依据
  • 收到货款发货了没开发票怎么入账
  • 进项税转出金额怎么算
  • 应付账款预付账款应收账款预收账款
  • 跨境电商财务如何报税
  • 农村土地征用补偿价格
  • 开具成品油发票时注意事项是?
  • 转让金融商品应交增值税可以抵扣吗
  • 暂估入账跨年如何红冲
  • 发票未到货已入库会计分录 原材料
  • 在筹建期间的费用属于什么
  • 销售折扣含义
  • 原材料采购未入库会计分录
  • 外购的商品用于生产
  • 选择业务组合的原则是什么
  • mysql的min函数
  • win7旗舰版系统还原无法启动
  • win8已共享但别电脑无权限
  • windows怎么查看
  • 高效管理者的三大技能 罗伯特卡茨
  • linux的问题
  • win7宽带连接错误651怎么办
  • 在linux 上使用QQ聊天程序
  • linux系统的
  • windows7 读不了u盘怎么解决
  • 启动windows安全中心
  • 图形学题目
  • 查找的算法有哪些
  • python调用python脚本
  • 劳动监察执法机构是什么
  • 我国公益性企业有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设