public async Task<DataContainer> PostConvertSearchResults(JObject content) { var name = "israelHiking"; var feature = content.ToObject<Feature>(new GeoJsonSerializer()); if (feature.Attributes.GetNames().Contains("name")) { name = feature.Attributes["name"].ToString(); } var featureCollection = new FeatureCollection(new Collection<IFeature> {feature}); var dataContainer = await _dataContainerConverterService.ToDataContainer(featureCollection.ToBytes(), name + ".geojson"); foreach (var latLngZ in dataContainer.routes.SelectMany(routeData => routeData.segments.SelectMany(routeSegmentData => routeSegmentData.latlngzs))) { latLngZ.z = await _elevationDataStorage.GetElevation(latLngZ); } return dataContainer; }
public void ConvertGeoJsonToDataContainer_ShouldConvertToDataContainer() { var collection = new FeatureCollection { Features = { new Feature(new Point(new Coordinate(1, 2, 3)), new AttributesTable()) } }; var dataContainer = _converterService.ToDataContainer(collection.ToBytes(), "geojson").Result; Assert.AreEqual(0, dataContainer.routes.Count); Assert.AreEqual(1, dataContainer.markers.Count); }