因项目需要,想要在属性查询的时候连同相关的图片一并查出来,但是因为要查询的图层众多,且字段不固定,而且还要方便后期维护,因此一个个单独配置并不是最优的解决方法

为实现这个功能,我想到如下几种解决方法

从后期系统维护方面考虑

数据方面:

一:最原始的方法,数据不进数据库,即不入Oracle或postgres等数据库,那么发服务则是动态服务或者是切片服务,那个shp要素需要添加图片或者更改图片,需要重新将数据处理好之后重新发服务,数据量如果小的话还可以,重发服务,不论是切片还是动态,都相对快,如果数据量大,则十分不方便,耗时太久,需要在shp属性中添加的是图片的url,文本类型

二:数据入库:即gdb或Oracle或postgres,发要素服务或切片服务都可以,要素服务最大的好处就是数据入库,改了数据中某一个属性,要素,都不需要重新发服务,适合数据量大,便于管理,节省服务器空间。此时图片数据存储就有两种方式了,

①同上面相同,存储图片路径,

②存储栅格数据,即图片

数据未入库之前,能存储的数据格式如下:

入库后,能存储的数据格式如下:

此时选择栅格类型,点击确定,关闭属性表,在catalog中找到该图层,管理,注册版本,打勾,启动编辑,重新打开属性表,在新建的栅格格式的字段点一下,右键,加载图片,

选择一个图片,点击确定即可,稍等片刻,出现如图所示界面。然后发服务即可,同样是要素服务或切片服务,此时有一个问题我没有解决,已经发了要素服务的数据是不可以在arcmap中编辑的,但是在数据库中是如下图所示

,只有图片名称,我不知该如何编辑及预览。

代码方面

方法一

没有图片之前的属性查询界面如下

是表格形式,关键代码为:,无需匹配任何字段,方便灵活,缺点是对不懂地图的人不友好,不明白查出来的字段是什么意思,而且对于上面在属性字段中存储照片的方式,该种写代码的方式不能显示出图片,并不能达到预期的效果。

方法二:思路:新建一个数组c,将要素所有内容获取,并push进去,判断有无存储图片地址的字段,若有,在push进去一个img标签,写上src,在调用content的时候,用c.join将数组分割,

关键代码如下

效果如下

达到目的,虽然是个姑娘,但我其实还是直男审美,后续继续美化

20 由属性查询学习到的ArcMap、javaScripts API相关操作的更多相关文章

  1. InfluxDB学习之InfluxDB的HTTP API写入操作

    HTTP API也有两种操作:写入和查询,本文就先给大家介绍一下 InfluxDB的HTTP API的写入操作方式.     在InfluxDB学习的上一篇文章:InfluxDB学习之InfluxDB ...

  2. Python学习,第四课 - 字符串相关操作

    这次主要说说Python中字符串的使用方法详解 capitalize 首字母大写 print('chengshou'.capitalize()) #输出结果:Chengshou title 修改成标题 ...

  3. 【原】iOS学习之苹果开发者账号的相关操作

    1.苹果开发者账号分类 按价格分类 免费 ① 个人申请账号 仅可以用于真机调试 ② 院校账号 仅可以用于真机调试 通过苹果认证的高校可以使用 99$ ① 个人账号 ② 企业(公司)账号 申请所需的条件 ...

  4. 【前端学习笔记】JavaScript JSON对象相关操作

    //JSON方法 //JSON.parse(); var json = '{"name":"zj","age":23}'; JSON.par ...

  5. MySql学习笔记【四、数据相关操作】

    CURD--增改查删 创建数据 INSERT [INTO] tb_name [(col_name,...)] VALUES(val,..) 若列名缺省,表示插入全部列,也可指定部分列名 如: INSE ...

  6. MySql学习笔记【二、库相关操作】

    命令规范 关键字.函数名称大写 数据库.表名.字段名小写 语句须以分号结尾 切换使用数据库 USE database_name 如:USE test 查看数据库列表 SHOW {DATABASES|S ...

  7. InfluxDB学习之InfluxDB的HTTP API查询操作

    在 InfluxDB学习 的上一篇文章:InfluxDB学习之InfluxDB的HTTP API写入操作 中,我们介绍了使用InfluxDB的HTTP API进行数据写入操作的过程,本文我们再来介绍下 ...

  8. Drools 查询学习

    Drools 查询学习查询以 query 关键字开始,以 end 关键字结束,在 package 当中一个查询要有唯一的名称,查询的内容就是查询的条件部分,条件部分内容的写法与规则的 LHS 部分写法 ...

  9. openlayers4 入门开发系列之地图属性查询篇(附源码下载)

    前言 openlayers4 官网的 api 文档介绍地址 openlayers4 api,里面详细的介绍 openlayers4 各个类的介绍,还有就是在线例子:openlayers4 官网在线例子 ...

随机推荐

  1. Filebeat+ELK部署文档

    在日常运维工作中,对于系统和业务日志的处理尤为重要.今天,在这里分享一下自己部署的Filebeat+ELK开源实时日志分析平台的记录过程,有不对的地方还望指出. 简单介绍: 日志主要包括系统日志.应用 ...

  2. 个人认为一个比较完整,基于tp5平台,可快速开发的B2C平台

    现在全民创业,做电商的人很多,大大小小的技术公司也很多,报价也很奇葩,从100到十万的都有,把人都能转晕,有朋友问我,你们创业是不是很赚钱,其实,外行不知道内行的苦,创业控制成本第一,活下来才能赚钱. ...

  3. MySQL学习5 - 数据类型二.md

    一 字符类型 二 枚举类型和集合类型 一 字符类型 #官网:https://dev.mysql.com/doc/refman/5.7/en/char.html #注意:char和varchar括号内的 ...

  4. tangent space与object space

    3d渲染每个网格(Mesh)的面都可配一个材质(Material),要想在一个面上显示出更多的细节,除了模型做的更精致,还可以使用法线贴图(Normal Texture). 法线向量(Normal V ...

  5. 【转】利用apktool反编译apk,并且重新签名打包

    网站:https://ibotpeaches.github.io/Apktool,下载安装好apktool. 我的安装在 C:\Users\Administrator\Downloads\apktoo ...

  6. ActiveMQ简单介绍及安装

    消息中间件 我们简单的介绍一下消息中间件,对它有一个基本认识就好,消息中间件(MOM:Message Orient middleware). 消息中间件有很多的用途和优点: 1. 将数据从一个应用程序 ...

  7. 洛谷P5206 [WC2019]数树 [容斥,DP,生成函数,NTT]

    传送门 Orz神仙题,让我长了许多见识. 长式子警告 思路 y=1 由于y=1时会导致后面一些式子未定义,先抓出来. printf("%lld",opt==0?1:(opt==1? ...

  8. PHP—-模型MODEL 一对多

    假如有两个表,菜品和菜品种类,菜品的关联外键是food_type_id, 所以在菜品的model中应该写 public function foodType(){ return $this->be ...

  9. 巧用Win+R

    calc 启动计算器 charmap 启动字符映射表 chkdsk Chkdsk磁盘检查 cleanmgr 磁盘清理 clipbrd 剪贴板查看器 cmd CMD命令提示符 dvdplay DVD播放 ...

  10. beta冲刺2/7

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(2/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 整理博客 做了点商家数据表格 接下来的计划 做 ...