ArcGIS Runtime SDK for Android 和 .NET编辑离线.geodatabase的存储速度问题
ArcGIS Runtime SDK for Android 和 .NET在往离线.geodatabase中写入要素的效率比较低,经测试,相比使用ArcMap从离线.geodatabase转出到GDB的效率慢了几十倍。有没有什么方法能够优化。
下面是.NET的代码例子:
下面是.NET的代码例子:
IEnumerable<Feature> LocalBirdFeatures = ...;
string gdbPath = @"...\...geodatabase";
IEnumerable<Feature> LocalBirdFeatures = await flayer.FeatureTable.QueryAsync(new QueryFilter() { WhereClause = "1=1" });
var gdb = await Geodatabase.OpenAsync(gdbPath);
foreach (var table in gdb.FeatureTables)
{
if (table.Name == "ABC") {//找到指定图层
foreach (Feature ft in LocalBirdFeatures)
{
var feature = new GeodatabaseFeature(table.Schema);
try {
foreach (FieldInfo fi in fieldinfo)
{
feature.Attributes[fi.Name] = ft.Attributes[fi.Name];
}
feature.Geometry = ft.Geometry;
if (table.CanAddFeature(feature))
{
await table.AddAsync(feature);//写入比较慢
}
catch (Exception ex) {}
}
}
}
1 个回复
石羽
赞同来自:
1,SDK for Android 和 .NET的速度差不多;
2,但他们向离线.geodatabase写入的速度,比ArcMap向GDB写入的速度慢很多。
如果是这样,要考虑SDK的设计,可能本质上就很慢。
要回复问题请先登录或注册