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

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

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

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

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

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

0荣誉
1回复
TommyBramble
通过
新的贡献者三世

这对我很有效:

string url = "{{…url…}}/FeatureServer/0/applyEdits";字符串添加= "[{\“几何\”:{\“x \”:-118年,\“y \”:33},\ "属性\ ":{\“\”:\“\”,\“\”,\“\”,\“Column3 \”,\“value3 \}}]”;var inputParms = new Dictionary();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;

如果您有一个安全服务,那么token参数将需要用一个有效的安全令牌填充。

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荣誉