我目前允许用户使用绘图层绘制到 ESRI-Leaflet 地图中,向该层添加一些附加属性,然后将结果提交给要素服务。
这对于单个多边形非常有用。但是,该方法不适用于多部分(多面)多边形或 FeatureCollection 中的混合要素类型。我特别希望提交多部分多边形,而不是遍历可用的功能。有一些依赖于它们是多部分的 GIS 功能。
下面是我目前处理事情的一个样本集。然后,我对多部分的想法的概念。
我的问题是 -
使用 geojsonToArcGIS 时,我可以将结果与 addFeature 一起使用以将多部分多边形添加到要素服务中吗?
我不仅不知道这是否是一种有效的方法,而且我不确定是否有更好的方法来解决这个问题。关于使用 ESRI Leaflet 添加多部分功能集合的在线文档或示例并不多。
目前使用:
var feature = {
type: 'Feature',
geometry: Geometry,
properties: {
LGA: String(lga),
Locality: String(locality),
Region: String(region),
};
service.addFeature(feature, function (error, response) {
if (error) {
console.log('error creating feature' + error.message);
} else {
console.log('Successfully created feature with id ' + response.objectId);
}
});
我想知道是否可以按照以下方式做更多事情,而不是使用上述内容:
//We start with a drawing layer, ingested as drawngeo. Lets assume it has 3 polygons (or lines) at this point.
if (eventtype == "create") {
var drawngeo = drawnItems.toGeoJSON(); //This makes the JSON accessible
drawngeo.features[0].properties.TestKey = "Test"; //Add a custom property, for example.
var drawnesrijson = L.esri.Util.geojsonToArcGIS(drawngeo,"OBJECTID"); //Make it ESRI-JSON
}
service.addFeature(drawnesrijson, function (error, response) { //We have used the ESRI GeoJSON instead
if (error) {
console.log('error creating feature' + error.message);
} else {
console.log('Successfully created feature with id ' + response.objectId);
}
});
如果这有助于人们将来找到它,这里有一些额外的关键字:ArcGIS Online、AGOL、ESRI、ArcGIS Portal。