将WKB转换为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,你就可以使用这个类(很抱歉出现混乱)转换为JSON,该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);

最新更新