Example #1
0
        static async Task <IFeature> ToDeserializedFeature(string wkt)
        {
            var  f            = MakeFeature(wkt);
            var  fc           = MakeFeatureCollection(f);
            var  geometryType = GeometryConversions.ToGeometryType(f.Geometry);
            byte dimensions   = GetDimensions(f.Geometry);
            var  flatgeobuf   = await FeatureCollectionConversions.SerializeAsync(fc, geometryType, dimensions);

            return(FeatureCollectionConversions.Deserialize(flatgeobuf)[0]);
        }
Example #2
0
        static async Task <string> RoundTrip(string wkt)
        {
            var  f            = MakeFeature(wkt);
            var  fc           = MakeFeatureCollection(f);
            var  geometryType = GeometryConversions.ToGeometryType(f.Geometry);
            byte dimensions   = GetDimensions(f.Geometry);
            var  flatgeobuf   = await FeatureCollectionConversions.SerializeAsync(fc, geometryType, dimensions);

            var fcOut  = FeatureCollectionConversions.Deserialize(flatgeobuf);
            var wktOut = new WKTWriter(dimensions).Write(fcOut[0].Geometry);

            return(wktOut);
        }
Example #3
0
            public FeatureCollectionConversionsBenchmark()
            {
                var point    = GeometryRoundtripTests.MakeFeature("POINT (1.2 -2.1)");
                var polygon  = GeometryRoundtripTests.MakeFeature("POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))");
                var polygonZ = GeometryRoundtripTests.MakeFeature("POLYGON Z((30 10 1, 40 40 2, 20 40 3, 10 20 4, 30 10 5))");

                var attributes = new Dictionary <string, object>()
                {
                    ["test1"] = 1,
                    ["test2"] = 1.1,
                    ["test3"] = "test",
                    ["test4"] = true,
                    ["test5"] = "teståöä2",
                    ["test6"] = false,
                };

                var pointWithAttributes = GeometryRoundtripTests.MakeFeature("POINT (1.2 -2.1)", attributes);

                pointFixture = new GeometryFixture()
                {
                    fc           = GeometryRoundtripTests.MakeFeatureCollection(point),
                    geometryType = GeometryConversions.ToGeometryType(point.Geometry),
                    dimensions   = GeometryRoundtripTests.GetDimensions(point.Geometry),
                };
                pointFixture.flatgeobuf = FeatureCollectionConversions.Serialize(pointFixture.fc, pointFixture.geometryType, pointFixture.dimensions);

                polygonFixture = new GeometryFixture()
                {
                    fc           = GeometryRoundtripTests.MakeFeatureCollection(polygon),
                    geometryType = GeometryConversions.ToGeometryType(polygon.Geometry),
                    dimensions   = GeometryRoundtripTests.GetDimensions(polygon.Geometry),
                };
                polygonFixture.flatgeobuf = FeatureCollectionConversions.Serialize(polygonFixture.fc, polygonFixture.geometryType, polygonFixture.dimensions);

                polygonZFixture = new GeometryFixture()
                {
                    fc           = GeometryRoundtripTests.MakeFeatureCollection(polygonZ),
                    geometryType = GeometryConversions.ToGeometryType(polygonZ.Geometry),
                    dimensions   = GeometryRoundtripTests.GetDimensions(polygonZ.Geometry),
                };
                polygonZFixture.flatgeobuf = FeatureCollectionConversions.Serialize(polygonZFixture.fc, polygonZFixture.geometryType, polygonZFixture.dimensions);

                pointWithAttributesFixture = new GeometryFixture()
                {
                    fc           = GeometryRoundtripTests.MakeFeatureCollection(pointWithAttributes),
                    geometryType = GeometryConversions.ToGeometryType(pointWithAttributes.Geometry),
                    dimensions   = GeometryRoundtripTests.GetDimensions(pointWithAttributes.Geometry),
                };
                pointWithAttributesFixture.flatgeobuf = FeatureCollectionConversions.Serialize(pointWithAttributesFixture.fc, pointWithAttributesFixture.geometryType, pointWithAttributesFixture.dimensions);
            }