soe结果为栅格的处理方式
背景
ArcGIS for Server通过rest的形式提供功能在很多的时候,不能满足实际的需求。在日常工作中需要对Server的功能进行扩展,esri提供的一种方式就是使用soe的形式。官方给出的sample中,都是将文本或者矢量的结果序列化成json的形式返回到前端。但是在实际的环境中,处理的结果不完全是矢量的情况,还有栅格图层。比如栅格分析的结果。rasterdataset直接返回到前端是不现实的,一个有效的处理方式,通过Arcobject的导出图片的相关接口,将rasterdatset数据类型保存成图片返回给前端
那么问题就来了,怎么将图片返回到前端呢?通常一般都采用下面的两种方式:
1.base64字符串的形式
通过将生成的图片使用base64编码,生成字符串返回到前端,在前端的image的src标签中添加该字符串。使用这种方式的便利之处在于少发一次请求,直接将字符串通过json的形式返回到前端。
C#生成base64参考该博主写的博客:http://blog.csdn.net/marquess/article/details/2732629
代码片段:html页面中加载base64的字符串
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<img src="data:image/png;base64,adddtwxxxseeexseeext.....>
</html>
2.通过url的形式
arcgis for Server有个操作叫做export map。 该操作就是将图片生成在服务器端的output目录下,默认的路径C:\arcgisserver\directories\arcgisoutput....。该目录为虚拟路径,也就是可以通过url能够访问到,如 outputurl = "http://localhost:6080/arcgis/" + imagePath的形式
参考sample:https://github.com/myyouthlife/DeveloperSumit2014/tree/master/Image_Services_SOE/Image_Services_SOE
总结
在实际的情况写,生成的图片需要叠加到地图上,这就需要传入图片的地图范围,bbox和图片的大小。具体可以参考上面的sample。
soe结果为栅格的处理方式的更多相关文章
- (八)WebGIS中栅格图层的设计
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1. 前言 我们在上一章里了解到WebGIS中栅格图层的本质—— ...
- (七)WebGIS中栅格、矢量图层设计之栅格、矢量图层的本质
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.何为栅格数据,何为矢量数据? 在GIS中,对于数据格式的分类,我们 ...
- ArcGIS Engine开发之地图基本操作(3)
地图数据的加载 一.加载Shapefile数据 Shapefile文件是目前主流的一种空间数据的文件存储方式,也是不同GIS软件进行数据格式转换常用的中间格式.加载Shapefile数据的方式有两种: ...
- ArcEngine 栅格数据
1.ArcEngine中的栅格数据组织方式(详细信息见:http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#/na/009t0000 ...
- AE 栅格数据使用总结
RasterBand)的数据组成,一个波段就是一个数据矩阵.对于格网数据(DEM数据)和单波段的影像数据,表现为仅仅只有一个波段数据的栅格数据集,而对于多光谱影像数据则表现为具有多个波段的栅格数据集. ...
- ArcGIS Engine栅格数据使用总结
jojojojo2002 原文 ArcGIS Engine栅格数据使用总结 简介:ArcGIS Engine栅格数据使用总结,一个栅格数据集由一个或者多个波段(RasterBand)的数据组成,一个波 ...
- MVAPI第一个版本架构图
MVAPI采用矢量与栅格结合的方式进行移动地图的显示. 进过几个月,目前终于可以完成基本的地图显示及操作功能.还有待实现的是各种性能及效果优化.3D地物等. 发一个1.0的架构图留存一下.(虽然目前还 ...
- 玩转X-CTR100 l STM32F4 l 电机正交编码器
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器的电机正交编码器,X- ...
- bootstrap3基本了解
使用 BootCDN 提供的免费 CDN 加速服务(同时支持 http 和 https 协议) Bootstrap 中文网 为 Bootstrap 专门构建了免费的 CDN 加速服务,访问速度更快.加 ...
随机推荐
- SAP 经常使用T-CODE
Plant Maintenance (PM) IW32 - Change Plant Maintenance Order IW33 - Display Plant Maintenance Order ...
- redis命令_INCR
INCR key 将 key 中储存的数字值增一. 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作. 如果值包含错误的类型,或字符串类型的值不能表示为数字,那 ...
- ImageTag小案例
其实不使用ImageIO,就是用一般的BufferedOutputStream+byte[] buffer也可以 关键在于通过response设置页面的MIME Type,自行Google~~~ 源代 ...
- typedef可以成为你的朋友
typedef static char int8;这个声明正确吗? A:err 所以上面那个声明是错误的. typedef为一种类型引入新的名字,而不是为变量分配空间,它并没有引入新的类型,而是为现有 ...
- poj1182食物链--并查集
动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形.A吃B, B吃C,C吃A. 现有N个动物,以1-N编号.每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种.有人用两种说 ...
- Linux压缩解压缩命令学习笔记
Linux中主要的压缩文件有:*.gz *.tar *.tar.gz *.zip *.bz2 *.tar.bz2 .zip这种古老的压缩格式,在window和Linux中都不需要安装软件可 ...
- 集群下使用redis统一session处理
pom依赖(快照版): <dependency> <groupId>org.springframework.session</groupId> <artifa ...
- IE下使用location对象有时会出现“没有权限”的错误
http://jadyyang.blog.sohu.com/145340845.html ——————————————————————————————————————————————————————— ...
- Vector、ArrayList、List使用深入剖析
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.本文试图通过简单的描述,向读者阐述各个类的作用以 ...
- html table 上移下移
js操作表格操方法,增加,修改,删除,一行记录 随机选择行 添加一行 删除选定行 上移选定行 下移选定行 按第一列排序 按数据和排序 <!DOCTYPE html PUBLIC " ...