ArcGIS GeoEvent Server的GE定义(GeoEvent Definition)的注意事项
版权声明:转载请注明作者(独孤尚良dugushangliang)出处: https://blog.csdn.net/dugushangliang/article/details/90057163
GE定义如下图所示。
图中红框所示的是GE自带的两个GE定义,这个只能查看,不能删除和修改。其他的是自建的,所以可以修改或删除。Name要求唯一不重复,Filed根据实际需要设置。字段的类型有下图所示的选项。
因为传入到GE的数据严格来说是字符串文本,所以GE需要分辨类型。对于“123”识别成123还是简单的,但日期相关信息能不能识别成日期格式的数据,就不好说了。幸运的是有一个解决办法。
在输入模块设置参数的时候,有一个选项可以设置。以下图为例,当我传输数据给GE的时候,“2019-05-10 12:34:56”根据所选的GE定义走指定的日期字段,系统再根据这个参数试图把字符串以这个格式解析成日期值。
其他数据类型同理,如果格式不匹配,则数据无法传入到GE中。那么如何确认GE是否可以像我们所希望的那样解析数据呢?建议先试着以根据传输数据创建GE定义的方式,测试我们传输的数据会被GE解析成什么数据类型,再根据这些经验做相应的调整。
关于GE定义的各个字段的先后顺序,有必要说明下。
如果是Text传输,比如参阅我这篇文章:https://blog.csdn.net/dugushangliang/article/details/90053176使用TCP socket收发text文本信息,那么数据必须严格依照GE的顺序。如果是WebSocket收发json格式数据,则要求较为宽松。
个人经验总结出GE有以下几种要求:
1.传输数据需要符合输入设定的分隔符,如\n分条,,分字段。请注意,逗号是英文逗号,如果使用中文符号不要问我为什么不管用。\n实际上是二进制的,socket传输数据是以二进制格式传输,所以传送数据转成二进制后再加上b'\n\,不然输入不成功。如果是WebSocket发送json格式的,则不受限于\n,因为一条json就是一条消息,只要符合json格式即可。
2.传输text数据必须符合GE定义的字段顺序及类型。如GE定义的字段为:日期-经度-纬度-备注事项,其相应类型为:日期-双精度-双精度-字符串,则传入GE的文本必须也类似于:2019-05-10 12:34:56,123.456,32.789,江苏省南京市,如果某字段允许为空,则只需要用英文逗号分隔表示即可。如这个GE定义的四个字段都允许为空,则我可以输入三个英文逗号,,,代表我输入了一条数据,这是这条数据的四个字段值都是空的。
3.传输text数据时,不严格符合相应的GE定义的数据不会被传输。如有n个字段,则传输的text数据必须有n-1个属性分隔符(本例是默认的英文逗号),且n-1个分隔符分隔出来的n个传输值必须符合其对应的字段类型。如:2019-05-10 12:34:56,123.456,32.789,江苏省南京市,025-12345678这条数据就不能通过日期-经度-纬度-备注事项这个GE定义传入到GE Server中。
4.如果GE定义中有的字段可以为空,如上文所述的GE定义的备注事项可以为空,则可以输入:2019-05-10 12:34:56,123.456,32.789。如果可为空字段不是最后一个,则可通过英文逗号分隔符表示。如:,,,南京表示南京对应第四个字段。
5.传输json数据,则只要json的键名和GE定义中的字段名对应,且相应的数据类型也对应即可。
6.或许实际操作中可能有些出入,不排除是因为环境不同或者鄙人测验不到位,可以多交流,再做补充。
独孤尚良dugushangliang——著
ArcGIS GeoEvent Server的GE定义(GeoEvent Definition)的注意事项相关推荐
- ArcGIS Maritime Server 开发教程(七)Maritime Server 正确的开发模式
ArcGIS Maritime Server 开发教程(七)Maritime Server 正确的开发模式 本章导读:前面几个章节已经非常细节的分析和测试了 Maritime Server 的相关功能 ...
- ArcGIS Maritime Server 开发教程(九)二三维水深服务
ArcGIS Maritime Server 开发教程(九)二三维水深服务 本章导读:ArcGIS 软件体系是使用 ArcGIS Bathymetry 桌面扩展构建和管理水深数据库,并且利用 Imag ...
- ArcGIS Maritime Server 开发教程(八)ArcGIS Bathymetry 扩展模块
ArcGIS Maritime Server 开发教程(八)ArcGIS Bathymetry 扩展模块 本章导读:ArcGIS Bathymetry 扩展是 ArcGIS Maritime 解决方案 ...
- ArcGIS Maritime Server 开发教程(四)Maritime Service 开发实践
ArcGIS Maritime Server 开发教程(四)Maritime Service 开发实践 本章导读:Maritime Service 属于 MapService 的一个扩展,大部分功能继 ...
- ArcGIS Image Server简介以及OL2中的加载
概述: 本文讲述Arcgis Image Server相关以及在OL2中如何加载Arcgis Server发布的影像服务. ImageService简介: ArcGIS Image Server为用户 ...
- 实验1 应用SQL Server进行数据定义和管理
实验1 应用SQL Server进行数据定义和管理 [实验目的] 1)熟悉SQL Server的配置和管理. 2)掌握数据库的定义和修改方法. 3)掌握表的定义和修改方法. 4)掌握使用SQL语句进行 ...
- arcgis for server 登陆manager失败解决办法
版本是 arcgis for server 10.02 症状 1. manager网页无法打开http://localhost:6080/arcgis/manager/ 2. 查看服务无法启动,启动后 ...
- SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题
SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题 原文:SQL SERVER中用户定义标量函数(scalar user defined fu ...
- [ ArcGIS for Server 10.1 系列 ] - 分布式部署GIS Servers
I.部署环境: 版本: ArcGIS for Server 10.1 OS:Windows 2008 R2 VM:VMWare vSphere 4.1 Ii.安装AD域服务器,建立特定域,如:form ...
- ArcGIS License Server Administrator 10.2 无法启动许可的解决办法
刚刚重装了电脑,安装ArcGIS的时候,安装完desktop之后又安装了License Manager,结果把破解文件替换完之后,发现ArcGIS License Server Administrat ...
最新文章
- 关于学习Python的一点学习总结(21->并行迭代)
- LeetCode Add Binary(二进制加法)
- linux如何把nfs数据导出来,linux – NFS导出已经挂载NFS的目录(在服务器上)
- 每日一博 - 延时任务的多种实现方式解读
- Vue第二章,在项目中使用element-ui组件
- Vue项目中v-for无法渲染数据
- GDB调试多进程|多线程程序
- Android安全笔记-Android签名文件及初略架构
- c语言程序设计点亮第一个LED,实验2__C语言程序设计及_LED跑马灯实验.ppt
- python构建知识库_使用Mediawiki构建个人知识库
- fedora 20 中关闭防火墙
- 用Entlib的配置程序块遇到的问题
- 访问 Confluence 6 的计划任务配置
- 秀恩爱分得快-模拟题
- java 中uuid生成算法_UUID生成算法,UUID还是snowflake
- LANDrop局域网文件传输神器
- Metasploit扫描漏洞模块
- 国科大学习资料--人工智能原理与算法-2021年期末考试题解析(学长整理)
- c语言杀我,ballball各位大佬救救我吧
- Android短信数据库简析