如何发布到ArcGIS REST API的“应用编辑”功能dotnet核心

998
1
05-20-2021 06:34
DeveloperCSharp
新的因素

你好,
我使用ARCGIS API在Angular的帮助下绘制和发布数据。但是在我的angular应用程序中获得的数据是通过asp.net core中的web api传递的。我这样做是为了确保所有的gis api调用都是通过服务器进行的。

我看到以下是发布应用编辑数据的语法(功能服务/层)。

添加= [< feature1 >、< feature2 >)

但我对如何通过我的web api使用http客户端发布数据感到困惑。请提供一个示例请求,通过它我可以将我的数据发布到applyedits端点。我试着把我的模型转换成Json格式,但我不能成功。

0荣誉
1回复
TommyBramble
通过
新贡献者III

这对我很有效:

string url = "{{…url…}}/FeatureServer/0/applyEdits";字符串添加= "[{\“几何\”:{\“x \”:-118年,\“y \”:33},\ "属性\ ":{\“\”:\“\”,\“\”,\“\”,\“Column3 \”,\“value3 \}}]”;var inputParms =新字典<字符串,字符串>();inputParms。添加(“添加”,添加);/ / inputParms。添加(“更新”、“”);/ / inputParms。添加(“删除”,“”);/ / inputParms。Add("attachments", ""); inputParms.Add("f", "json"); //inputParms.Add("token", ""); var input = new FormUrlEncodedContent(inputParms); HttpClient client = new HttpClient(); var response = client.PostAsync(url, input).Result; var responseString = response.EnsureSuccessStatusCode().Content.ReadAsStringAsync().Result;

如果您有安全服务,则需要使用有效的安全令牌填充令牌参数。

responseString包含您可以使用的序列化JSON字符串。在我的测试中,结果是

{“addResults”:[{“objectId”:10“uniqueId”:10“globalId”:空,“成功”:真正}],“updateResults”:[],“deleteResults”:[]}

其他资源:

https://developers.arcgis.com/rest/services-reference/enterprise/apply-edits-feature-service-layer-..。

https://stackoverflow.com/questions/4015324/how-to-make-an-http-post-web-request

https://developers.arcgis.com/rest/users-groups-and-items/generate-token.htm

0荣誉