前端调用ArcGIS Server GeometryService服务

1. 使用ArcGIS Server GeometryService服务做空间分析

arcgis js api提供了比较便利的GeometryService api接口,本节主要记录一下用原始接口调用形式实现服务调用。

1.1 服务接口(缓冲区分析服务)
const restUrl = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Utilities/Geometry/GeometryServer/buffer"

在这里插入图片描述

1.2 需要提交的数据

geometries是esri专用geomtery格式,unit是esri专用度量编码

在这里插入图片描述

const geometries = JSON.stringify({
	geometryType: 'esriGeometryPolygon',
	geometries: [{
		rings: geolayer.rings,
		spatialReference: geolayer.spatialReference,
	}],
})
const geometryData = {
	f: 'pjson',
	outSR: 4490,
	inSR: 4490,
	bufferSR: 4490,
	distances: 200,
	unit: 9001,
	unionResults: true,
	geodesic: true,
	geometries: geometries
}
1.3 fetch实现post接口调用

ArcGIS Server GeometryService既可以用get请求实现也可以用post请求实现,这里示例为post请求实现方式,数据传输形式为formdata

let formdata = new FormData()
formdata.append('f', 'pjson')
formdata.append('outSR', outSar)
formdata.append('inSR', inSar)
formdata.append('bufferSR', 4490)
formdata.append('distances', 200)
formdata.append('unit', 9001)
formdata.append('unionResults', true)
formdata.append('geodesic', true)
formdata.append('geometries', geometries)
fetch(restUrl, {
	method: "POST",
	body: formdata
}).then((response) => {
	return response.json().then(data=>{
		console.log(data)
	}).catch(err=>{
		console.log("error :",err)
	})
})
1.4 axios实现post接口调用
axios.post(restUrl, formdata).then((res) => {
    console.log(res.data);
})
1.5 数据结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值