转:利用ArcGIS Server REST API实现对Feature的编辑操作 - 开源IT技术网站

news/2024/5/13 18:56:39/文章来源:https://blog.csdn.net/weixin_30734435/article/details/97894117
 

ArcGIS API for Flex中提供了一些工具实现对Feature的编辑操作,不过其实质是对ArcGIS Server REST API的再包装。为了更大的灵活性,在这里我们谈一下如何直接调用ArcGIS Server REST API来实现对Feature的新增、更新、删除操作。

FeatureServer

对Feature进行操作,首先需要FeatureServer的支持。这里我们使用ArcGIS服务器上的一个FeatureServer,http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/FeatureServer。在浏览器中打开这个rest服务,共有点、线、面三个图层,点击进入点图层Points of Interest后,在页面的最下方可以看到该图层支持查询(Query)、新增(add Features)、更新(Update Features)、删除(Delete Features)和可以同时执行新增、更新和删除操作的应用编辑(Apply Edits)操作。

点击任何一个操作,在新打开的页面中输入一些必要的参数便可执行。对应在页面中输入参数这种方式,本文以对点要素的操作为例,讲述在Flex中如何调用ArcGIS Server REST API、如何传递参数以及如何对返回结果进行处理,从而实现对Featrue的新增、更新和删除操作。

新增点

点击上图的Add Features进入新页面后,其url地址为http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/FeatureServer/0/addFeatures。这个地址即为实现新增feature功能的rest接口,Format选择JSON,在Features中输入[{"geometry":{"y":34,"x":108},"attributes":{"description":"addPoint","type":2}}],点击Add Features按钮开始执行。

如果成功,返回

否则

相应地,在Flex中需要三步来完成上述操作,首先构造一个JSON格式字符串;其次调用对应的Rest接口;最后对返回结果进行处理。

在Flex中构造JSON字符串,可以采用直接构造或者先构造成嵌套的Object,然后转成JSON两种方式。为了灵活性,本文采用后一种方式,构造的代码如下,

var feature:Object = new Object();
//设置几何信息
feature.geometry = new Object();
feature.geometry.x = x;
feature.geometry.y = y;
//设置属性信息
feature.attributes = new Object(); 
feature.attributes["description"] = "addPoint";
feature.attributes["type"] = type;//把对象转成JSON,备注:此处使用的是Flash Builder的JSON类,需要SDK4.5及其以上版本的支持。
//当然也可以使用ArcGIS Flex API带的JSON类,在3.0版本中JSON类该层了JSONUtil。    
var arr:Array = new Array();
arr.push(feature);
var features:String = JSON.stringify(arr);

在Flex中调用ArcGIS Server REST API,通过URLRequest调用一个URL地址就可以了,同时需要将JSON赋值给URLRequest的data属性,设置format为json。至于是选择POST还是GET,这个取决于REST接口支持哪种方式。

//调用FeatureServer支持的addFeature操作,添加元素;
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Fire/Sheep/FeatureServer/0/addFeatures");
request.method = URLRequestMethod.POST;
var data:URLVariables = new URLVariables();
data.f = "json";
data.features = features;
request.data = data;

最后需要对返回的结果进行处理,这里尤其要强调的是,执行后有正确和错误两种返回结果。需要对返回的内容进行判断,才能最终确定是否能正确执行。

loader.addEventListener(Event.COMPLETE, function(event:Event):void{
//对结果进行处理,分成功和失败两种
});    
loader.addEventListener(IOErrorEvent.IO_ERROR,function(event:Event):void{
//执行失败
});    
loader.load(request); 

更新和删除点

和新增点相差无几,就是调用的REST接口和返回结果有所不同而已,当然需要构造对应的JSON字符串。相关代码均在源程序中,在这里就不再详细讲解。

小结

本文以对点的编辑操作为例,讲述了如何使用ArcGIS Server REST API,当然这种方式不局限于此,适合于所有的REST API。除此之外需要说明的是,上述API支持多个点的同时编辑操作,为了简洁源码中仅仅对单个点进行编辑操作。 开发环境为Flash Builder4.6,ArcGIS API 2.5 for Flex。

源代码下载地址:http://dl.vmall.com/c0bz10cedn

引文来源  利用ArcGIS Server REST API实现对Feature的编辑操作 - 开源IT技术网站

转载于:https://www.cnblogs.com/wenwu/archive/2013/05/23/3094850.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_817248.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《大型网站系统与Java中间件》读书笔记 (中)

前言 只有光头才能变强。 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 回顾上一篇: 《大型网站系统与Java中间件》读书笔记(一)这周周末读了第四章,现在过来做做笔记&#…

.NET技术+25台服务器怎样支撑世界第54大网站

摘要:同时使用Linux和Windows平台产品,大量使用静态的方法和类,Stack Overflow是个重度性能控。同时,取代横向扩展,他们坚持着纵向扩展思路,因为“硬件永远比程序员便宜”。 StackOverflow是一个IT技术问答…

钓鱼网站盯梢微博 360“围剿中奖骗子”

一段时间以来,随着“织围脖”的兴起,微博晋升为全民级互联网应用,而一些曾以短信、聊天工具为主要传播载体的钓 鱼网站也开始悄悄出现在微博上,其伪装方法仍然是老套的——“您中奖了”。对此,360安全卫士官方微博发起…

网站域名续费 服务器续费,域名续费与服务器续费

域名续费与服务器续费 内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。帮助用户完成云服务器备份存储库的创建,快速购买…

hexo博客pc端不能访问手机移动端可以访问_Hexo+Kaze+Gitee Pages 搭建静态博客网站...

前言建网站本身是一个很大的工程,涉及前端页面的搭建,网站数据的存储,还要购置服务器资源,甚至是后期的维护,过程相当繁琐。不过如果仅仅是想搭建个人的网站,写写博客,想要美观,又不…

创意无极限:创意产品闪购网站Fab融资1.05亿美元

据国外媒体报道,美创意产品闪购网站Fab今天宣布,公司成功获得1.05亿投资。这个消息最先是由《华尔街日报》爆出的,之后Fab CEO Jason Goldberg在一篇博文中证实了这一消息。 此轮融资之前就有风声传出,而此次融资成功也确实让Fab如…

网易云音乐刷听歌量网站_【java+selenium】网易云音乐刷累计听歌数

背景应该是在去年的时候,刷知乎看到一个问题,大概是说怎么刷网易云音乐个人累计听歌数,然后有一个高赞回答,贴了一段js代码,直接在浏览器console执行就可以了。当时试了下,直接一下子刷了有好几万。悲剧的是…

釜底抽薪闭数千非法网站 新网用行动担起社会责任

非法网站危害社会,必须严惩不贷。近日,作为域名注册领域的领先企业,新网表率同行,近段时间内关闭了数千家非法网站,对网络违法行为打出了一记重拳。 新网重拳出击 数千非法网站无处遁形(图片来源于网络) 众所周知&…

apache shiro 怎么升级_http协议的网站装ssl升级成https

怀着无比激动的心情写此文,因为作为一个前端刚刚踩完此坑成功跨过81难重生!对就是它:https://minihome.top 大家试一下吧。A.我有什么?我要做什么?有:一个域名minihome.top一个云服务器 ECS(且能访问miniho…

qq空间网页版电脑_(带手机版数据同步)QQ空间日志说说类网站织梦模板 QQ心情日志网站源码下载...

模板名称:(带手机版数据同步)QQ空间日志说说类网站织梦模板 QQ心情日志网站源码下载本套织梦模板采用织梦最新内核开发的模板,这款模板使用范围极广,不仅仅局限于一类型的企业,资讯类的,QQ空间 日志心情类的的网站都可…

今日头条关键词排名怎么搜索_广州今日头条seo优化排名软件

广州今日头条seo优化排名软件 S1h0l1cjk广州今日头条seo优化排名软件 搜索引擎不关心链接的数量,他们只质量。礼品包装很重要,但对人来说也是如此吗需要介绍内容。上,许多人都害怕风险。在着陆页面有零风险和承诺。.是谈谈用户担心的一些问题…

用python爬取网站数据xlwt、bs4_python爬虫系列--批量爬取码云开源网站数据

python所需要的库 requests —这个库用于访问网站,并获取网页数据 bs4 ---- 用户html的标签解析拿出我们所需要的数据 threading — 使用多线程,可以让我们的爬虫执行效率变高 xlwt — excel表格的操作,用户保存我们所爬下的数据 time — 关于…

左边导航栏右边对应图片_谷歌seo查找图片工具—Mailomix

在之前的文章中Jack老师有提到过如何优化文章内容,其中有提到图文并茂的写作方式对于提高网页体验感是非常重要的.但是随之而来的又一个令人头疼的问题就是,很难找到匹配的图片.要么就是图片差强人意距离文章想表达的意思差了那么一点,要么就…

php网站模板上传教程视频教程,网站模板怎么用

网站模板下载下来之后,很多人不知道怎么使用,下面就由MetInfo来详细分析一下网站模板怎么用才正确。首先,大多数网站模板下载下来之后都是压缩包的形式,我们需要解压查看文件夹里面到底是些什么文件如果文件夹里面全是些静态网页文…

newduba首页怎么去掉_织梦程序网站怎么防止被黑

织梦程序网站怎么防止被黑黑帽seo织梦应该是所有傻瓜建站程序中用户最多的一个,千万用户的网站安全问题都依靠在这款开源程序的开发公司,不巧的是织梦开发团队对于程序的更新速度可以说是龟速,在一个又一个漏洞被挖掘公布出来也无动于衷&…

android侧边标签切换_五、前端开发—搭建静态网站侧边栏

五、前端开发—搭建静态网站侧边栏高能预警,这次写的组件会非常的多,一大堆代码正在袭来。。。。。构图解析这次我们做一个网页中页面侧边栏,其中会放一些导航信息。在写代码之前,我们先分析一下,我们想要达成的效果&a…

win10iis服务器如何配置虚拟目录,win10系统iis6部署网站时配置虚拟目录的解决方法...

有关win10系统iis6部署网站时配置虚拟目录的操作方法想必大家有所耳闻。但是能够对win10系统iis6部署网站时配置虚拟目录进行实际操作的人却不多。其实解决win10系统iis6部署网站时配置虚拟目录的问题也不是难事,小编这里提示两点:1、打开iis6&#xff0…

ab测试html,什么是A/B测试,AB测试对SEO的影响!

在SEO工作中,我们经常在预算有限的情况下,面临一些阶段性的任务,几乎没有人可以保证,他所制定的优化策略是完美的,且可以顺利达到预期。这个时候,我们经常性的需要借助一个工具:A/B测试&#xf…

php网站上怎么实现全景,如何仅仅使用CSS3来实现全景图的效果

本篇文章将给大家带来一个css3黑科技:如何仅仅使用css来实现全景图的效果?最终效果演示:demo页面布局基础样式首先定义一些基本的样式和动画.panorama {width: 300px;height: 300px;background-image: url(http://7vilbi.com1.z0.glb.clouddn.com/blog/…

OneAPM联合阿里云技术沙龙举办,让网站/APP比更快还更快

11月28日,在东升凯莱酒店,蓝海讯通与中关村东升科技园加速器、阿里云携手为大家献上一场精彩纷呈的主题为INIT DAY|“比更快还更快”的最前沿技术沙龙。 蓝海讯通OneAPM COO程显锋、阿里云云架构专家张贺翔、海涛旅游CTO李欢、拉勾网高级架构师周亮分别结…