前言
最近在项目现场部署系统,用到了ArcGIS 的Sever进行发布服务并调用,本来想自己网上查一查解决的,但网上的帖子说得都不太清除,以至于最后还是要找公司开发请教。所以今天写这篇博文记录总结一下,也方便大家参考。
软件基础
ArcGIS Sever:用于服务的发布
ArcMap:用于修改图层的样式、数量以及注册数据源(数据所在文件夹或数据库)
这里推荐用10.2版本,原因是这个版本才有能白嫖的Sever。
发布服务
这步的教程网上比较多,写得也足够好,这里不再赘述,仅提供其他人的文章给大家参考:
发布地图服务(MapSever):https://zhuanlan.zhihu.com/p/98645457
发布要素服务(FeatureSever):https://blog.youkuaiyun.com/lovecarpenter/article/details/52462207
注意:地图服务是仅供查看的服务,只能修改图层的显示样式不能对图层本身进行增删改;而要素服务可以进行图层内部图形的增删改,但不能修改图层的显示样式,并且发布要素服务的数据必须是在数据库里,否则发布服务时会报错。
连接数据库
由于ArcGIS支持的数据库比较多,pgsql、oracle等都可以,这部分网上教程也比较多,可以尝试搜索。再此不赘述。这里提供一个连接pgsql的博文供大家参考:
https://www.cnblogs.com/esrichina/p/4389109.html
注意:如果后续想要对图层内容进行增删改,如给某shp图层加一个多边形,一定要在连接的数据库的基础上建立企业级地理数据库,否则你进行插入多边形等操作时,可能会发生程序返回插入成功,但实际图形并没有保存到图层的问题。
要素服务
由于地图服务仅供查看,因此大家把它配到自己的web应用中,能显示出来就行了,没什么需要讲的,所以这里着重讲一下如何调用要素服务对其中图层内容进行增删查改。
新增图形
可以到其图形界面下进行新增,服务地址一般形式:
http://ip:6080/arcgis/rest/services/test/test1/FeatureServer/0/addFeatures
出来的是这个界面:

其中输入Features的格式一般为esrijson格式,如:
[{
"geometry": {
"type":"polygon","rings":[[[112.9779052734375,22.573438264572395],[112.906494140625,22.28655503294358],[112.8680419921875,22.075459351546858],[113.25256347656249,21.993988560906033],[113.80462646484375,22.1823184841715],[113.51074218749999,22.59119025242291],[112.9779052734375,22.573438264572395]]]},
"attribute": {
"attr1": "11",//字符串类型
“attr2”:3//数字类型
}
}]
但这并没有什么实用价值。
一般我们希望我们的web应用可以调用这个接口,这里以js代码调用为例:
var formdata = new FormData()
var data = [{
"geometry"

本文详细介绍了如何使用ArcGIS Server发布地图和要素服务,包括服务发布、数据库连接、地图服务与要素服务的区别。重点讲解了如何通过JavaScript调用API进行图形的新增、更新和删除操作,并提供了相应的示例代码。同时,文中提到了查询图形属性以获取objectid的重要性和方法。
最低0.47元/天 解锁文章
888

被折叠的 条评论
为什么被折叠?



