将 WKB 转换为 Esri 地理数据库要素

Convert WKB to Esri GeodatabaseFeature

我正在尝试制作一个 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.
        }
    }

我找到了一种使用 WKT 的方法,但我确信有一种方法可以从 WKB 转到 WKT。

在 WKT 中,您可以使用 this class(很抱歉弄得一团糟)转换为 JSON,可以在 Geometry.FromJson(string) 方法中使用为您提供可以分配给图形然后添加到图形图层的几何图形。

像这样:

var graphic = new Graphic(Geometry.FromJson(ConvertWkt2Json.WKT2JSON(wktGeometry)), new SimpleMarkerSymbol() { Style = SimpleMarkerStyle.Circle, Color = Colors.Red, Size = 17 });
layer.Graphics.Add(graphic);