位置: 编程技术 - 正文

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

  • 物流辅助服务税率
  • 从价从量复合计征
  • 一般纳税人劳务公司可以开3%的发票吗
  • 税务异常有哪些类型
  • 增值税发票税控开票软件怎么下载
  • 增值税抵扣可以跨月吗
  • 员工报销款可以公转私吗
  • 抵扣联多长时间的勾选认证
  • 应交增值税明细科目如何结转
  • 存货清查会计分录例题盘亏
  • 对方公司注销用现金还货款怎么入帐?
  • 过期的食品退回去厂里怎么处理
  • 销售加工费怎么做账务处理
  • 承兑汇票私人贴现账务怎么处理
  • 固定资产入错账套怎么做账
  • 没办税务登记公示怎么办
  • 运输公司结转成本
  • 小微企业2018年所得税税率
  • 计提费用的时候可以计提税金吗
  • 应交税费应交增值税
  • 营改增后房产税计入什么科目
  • 机票上的exemptcny这个是什么意思?
  • 酒店式公寓配套服务包括哪些
  • 固定资产怎么填报
  • 通用日记账核算方法
  • 企业出租包装物收取的押金应通过其他应收款账户核算
  • 发票冲红可以冲红数量不变金额减少
  • 安全生产费怎么算
  • 公司支付的赔偿款计入什么会计科目
  • mac系列电脑
  • 银行多收的开户费怎么办
  • 财政补助收入核算内容
  • iphone11 iphone10区别
  • 个人承包建筑工程转让协议
  • 客户尾款不付会计分录
  • svchost一直在下载什么
  • neoCopy.exe - neoCopy是什么进程 有什么用
  • 所得税减免与纳税的关系
  • 企业重组的主要形式是什么?
  • 安装人员食宿费谁承担
  • 广告费和业务宣传费税前扣除基数
  • 出售无形资产计入
  • 一般纳税人未取得增值税专用发票怎么处理
  • thinkphp5自定义标签
  • re.findall()用法
  • 波白克岛的小尖塔岩石,英格兰多塞特 (© James Osmond/Alamy)
  • php批量导入数据库
  • 基建账并账规定
  • 资金平衡表的编制方法
  • 云服务器 chia
  • [深度学习] 基于切片辅助超推理库SAHI优化小目标识别
  • php导出带样式的数据库
  • 结转成本相关内容有哪些
  • 一般纳税人开普票税率是多少
  • 什么叫房屋租购同权
  • 购入研发设备可以全额抵扣吗
  • 银行汇票哪个科目
  • sql提取数据库表中的数据
  • sql查询结果数量
  • mysql 高效分页
  • XP系统提示QQprotect.exe损坏文件的解决方法图文教程
  • win8右下角图标不见了
  • macbookair屏幕变成横版
  • window10重启按什么键
  • 如何设置鼠标移入并停止时触发接口
  • 开机密码怎么删除
  • 电脑cf截图保存在哪里
  • pebble框架
  • android消息队列使用
  • android:gravity和android:layout_gravity的区别
  • python咋写
  • javascript自动化
  • nodejs init
  • unity热更新框架对比
  • android+
  • js特殊字符有哪些
  • python dask
  • 非税收入发票盖什么章
  • 税务系统今天不能用
  • 成都那些地方属于正东方向
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设