/// <summary> /// Initializes static members of the <see cref="GisTools"/> class. /// </summary> static GisTools() { CoordinateConversionManager = new CoordinateConversionManager(); GridCellManager = new GridCellManager(); GeoJsonUtils = new GeoJsonUtils(); GeometryTools = new GeometryTools(); }
public CoordinateConversionManager GetCoordinateConversionManager(Boolean refresh) { if (_coordinateConversionManager.IsNull() || refresh) { _coordinateConversionManager = new CoordinateConversionManager(); } return(_coordinateConversionManager); }
public void GetConvertedPoint_FromWgs84ToSweref99_ReturnConvertedPoint() { CoordinateConversionManager conversionManager = new CoordinateConversionManager(); IPoint point = new Point(10, 15); ICoordinateSystem fromCoordinateSystem = new CoordinateSystem(CoordinateSystemId.WGS84); ICoordinateSystem toCoordinateSystem = new CoordinateSystem(CoordinateSystemId.SWEREF99_TM); IPoint convertedPoint = conversionManager.GetConvertedPoint(point, fromCoordinateSystem, toCoordinateSystem); Assert.AreEqual(-38133.05646984861, convertedPoint.X, 0.001); Assert.AreEqual(1664414.4300254737, convertedPoint.Y, 0.001); }
public void GetConvertedPoint_FromWgs84ToGoogleMercator_ReturnConvertedPoint() { CoordinateConversionManager conversionManager = new CoordinateConversionManager(); IPoint point = new Point(10, 15); ICoordinateSystem fromCoordinateSystem = new CoordinateSystem(CoordinateSystemId.WGS84); ICoordinateSystem toCoordinateSystem = new CoordinateSystem(CoordinateSystemId.GoogleMercator); IPoint convertedPoint = conversionManager.GetConvertedPoint(point, fromCoordinateSystem, toCoordinateSystem); Assert.AreEqual(1113194.9079327357, convertedPoint.X, 0.001); Assert.AreEqual(1689200.1396078924, convertedPoint.Y, 0.001); }
/// <summary> /// Get a feture collection from file /// </summary> /// <param name="userContext"></param> /// <param name="fileName">File to get</param> /// <param name="coordinateSystemId">State returned coordinate system. None return data as is.</param> /// <returns></returns> public static FeatureCollection GetMapDataFeatureCollection(IUserContext userContext, string fileName, CoordinateSystemId coordinateSystemId) { var directory = GetMapDataDirectory(userContext); try { var decompressedStream = new GZipStream( new FileStream(GetMapDataFilePath(directory, fileName, true), FileMode.Open), CompressionMode.Decompress); using (var streamReader = new StreamReader(decompressedStream)) { //Read json from file var featureCollection = JsonConvert.DeserializeObject( streamReader.ReadToEnd(), typeof(FeatureCollection)) as FeatureCollection; streamReader.Close(); if (featureCollection == null) { return(null); } var currentCoordinateSystem = GisTools.GeoJsonUtils.FindCoordinateSystem(featureCollection); //Check if requested crs equals file crs if (coordinateSystemId == CoordinateSystemId.None || currentCoordinateSystem.Id == coordinateSystemId) { return(featureCollection); } //Convert coordinates before returning var cm = new CoordinateConversionManager(); return(cm.Convert(featureCollection, currentCoordinateSystem, new CoordinateSystem(coordinateSystemId))); } } catch { return(null); } }
public CoordinateConversionManagerTest() { _coordinateConversionManager = null; }