我正在尝试创建一个UWP应用程序,该应用程序从SQLite数据库获取数据并将其显示在ArcGIS地图上。
我已将形状文件从QGIS导出到SQLite数据库。在这个数据库中,我检索了WKB格式的GEOMETRY,但不确定如何将其转换为GeodatabaseFeature或可以在ArcGIS地图上显示的其他对象。
这是我现在的职能。
private void DisplayDatabase()
{
var tableName = (string)_DatabaseConnection.CreateCommand("SELECT f_table_name FROM geometry_columns").ExecuteDeferredQuery()[0]["f_table_name"];
var geometryData = _DatabaseConnection.CreateCommand($"SELECT * FROM {tableName}").ExecuteDeferredQuery();
foreach (var shape in geometryData)
{
//convert the data to an object
var geometry = shape["GEOMETRY"] as byte[];
//Need code to convert to Feature.
}
}
答案 0 :(得分:0)
我找到了使用WKT的方法,但我确信有办法从WKB到WKT。
一旦进入WKT,您可以使用this类(对于混乱)来转换为JSON,可以在Geometry.FromJson(字符串)方法中使用它来为您提供可以分配给图形的几何然后添加到图形层。
像这样:
var graphic = new Graphic(Geometry.FromJson(ConvertWkt2Json.WKT2JSON(wktGeometry)), new SimpleMarkerSymbol() { Style = SimpleMarkerStyle.Circle, Color = Colors.Red, Size = 17 });
layer.Graphics.Add(graphic);