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 加速服务,访问速度更快.加 ...
随机推荐
- c#动态类型
class Program { static void Main(string[] args) { dynamic test = new ExpandoObject(); test.Name = &q ...
- Atitit.执行cli cmd的原理与调试
Atitit.执行cli cmd的原理与调试 1. /c 与/k1 2. /k 参数,有利于调试1 3. -------code2 4. 打开程序后与openner脱离关系3 5. 返回参数 St ...
- python之版本管理
linux 环境下怎样对不同的python环境进行 方便的切换呢?update-alternatives工具能够非常方便的帮我们完成这个任务.而windows环境下可通过anaconda来完成. 1. ...
- 浅谈HTTPS协议和SSL、TLS之间的区别与关系
HTTP可能是我们见到过最多的一个字符串了,应该没有之一,而对于HTTPS到来和趋势,我们又开始看到SSL/TLS,所以对于一般不只做技术的人来说这或许还是一个疑问,那么子凡就趁最近在折腾这方面来给大 ...
- linux命令之高级使用 service
service命令,顾名思义,就是用于管理Linux操作系统中服务的命令. 1. 声明:这个命令不是在所有的linux发行版本中都有.主要是在redhat.fedora.mandriva和centos ...
- python练习题3--for
题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析: 假设该数为 x. 1.则:x + 100 = n2, x + 100 + 168 = m2 ...
- linux怎么发邮件
邮箱配置: tail /etc/mail.rc #要写在一行 set from=gb17735517416@163.com smtp=smtp.163.com smtp-auth-user=gb ...
- JQ 时间插件
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/ueditor/u ...
- 客户端-服务器端互动比较与原生实例(比较ajax,server-sent event,websocket/netsocket)
昨日学习了websocket的原生实例,觉得有必要把几种常见的客户端-服务器端无刷新交互形式列举比较: 一.Ajax:客户端决定何时主动向Server端发请求 如:无刷新评论.无刷新更换图片. 主要目 ...
- 禁用LinkButton的方法
1.服务器端,使用Enabled属性即可 <asp:LinkButton ID="lbtn" runat="server" Enabled="f ...