コード例 #1
0
        string GetGeoJsonText(FeatureCollection feature)
        {
            var    writer  = new NetTopologySuite.IO.GeoJsonWriter();
            string geoJson = writer.Write(feature);

            return(geoJson);
        }
コード例 #2
0
        private Geometry MapGeometry(NetTopologySuite.Geometries.Geometry geometry)
        {
            var writer       = new NetTopologySuite.IO.GeoJsonWriter();
            var geometryJson = writer.Write(geometry);

            var geometryObj = JObject.Parse(geometryJson);

            var coordinatesJson = geometryObj["coordinates"].ToString(Formatting.None);
            var typeJson        = geometryObj["type"].ToString(Formatting.None).Replace("\"", "");

            return(new Geometry(typeJson, coordinatesJson));
        }
コード例 #3
0
        public static Geometry MapFromNTSGeometry(NetTopologySuite.Geometries.Geometry geometry)
        {
            if (geometry == null)
            {
                return(null);
            }

            var writer       = new NetTopologySuite.IO.GeoJsonWriter();
            var geometryJson = writer.Write(geometry);

            var geometryObj = JObject.Parse(geometryJson);

            var coordinatesJson = geometryObj["coordinates"].ToString(Formatting.None);
            var typeJson        = geometryObj["type"].ToString(Formatting.None).Replace("\"", "");

            return(new Geometry(typeJson, coordinatesJson));
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: bikedataproject/app
        static void Main(string[] args)
        {
            var points = System.Text.Json.JsonSerializer.Deserialize <Point[]>(File.ReadAllText("track_1.json"));

            var features = new FeatureCollection();

            features.Add(new Feature(new LineString(points.Select(x => new Coordinate(x.Longitude, x.Latitude)).ToArray()),
                                     new AttributesTable()));


            var pointsConverted = points.Select <Point, (double longitude, double latitude, double accuracy, long timeOffset)>(p => (p.Longitude, p.Latitude, p.Accuracy, 0)).ToList();

            var filtered = pointsConverted.Filter(toleranceInMeter: 20);

            var coordinates = filtered.Select(x => new Coordinate(x.longitude, x.latitude)).ToArray();

            features.Add(new Feature(new LineString(coordinates), new AttributesTable()));

            var geojsonWriter = new NetTopologySuite.IO.GeoJsonWriter();

            File.WriteAllText("track_1.json.geojson", geojsonWriter.Write(features));
        }
コード例 #5
0
        public void Export(string fileName)
        {
            var writer = new NetTopologySuite.IO.GeoJsonWriter();

            StreamWriter geoJsonFile = new StreamWriter(fileName, false, Encoding.UTF8);

            // Start geojson feature collection
            geoJsonFile.WriteLine("{ \"type\": \"FeatureCollection\", \"features\": [");

            bool first = true;

            foreach (var diagramObject in _diagram.DiagramObjects)
            {
                if (!first)
                {
                    geoJsonFile.Write(",");
                }

                var geometryJson = writer.Write(diagramObject.Geometry);
                var propertyJson = writer.Write(CreatePropertiesJsonObject(diagramObject));

                string line = "{ \"type\": \"Feature\", \"geometry\":" + geometryJson + ",\"properties\":" + propertyJson + "}";

                geoJsonFile.WriteLine(line);

                if (first)
                {
                    first = false;
                }
            }

            // End geojson feature collection
            geoJsonFile.WriteLine(" ] }");

            geoJsonFile.Close();
        }