private void OmrådekartFraXml(XDocument gridLayerXml) { var mapElements = NinXmlParser.GetChildElements(gridLayerXml.Root, "kartElementer", TillatAntall.EnEllerFlere); foreach (var mapElement in mapElements) { var gridMapElement = NinXmlParser.GetChildElements(mapElement, "OmraadeKartElement", TillatAntall.AkkuratEn); var gridLayerCell = new GridLayerCellCustom(); var gridLayerItemIds = NinXmlParser.GetChildElements(gridMapElement[0], "id", TillatAntall.AkkuratEn); gridLayerCell.CellId = gridLayerItemIds[0].Value; var gridLayerCellGeometries = NinXmlParser.GetChildElements(gridMapElement[0], "geometri", TillatAntall.AkkuratEn); int epsgCode; var geometry = NinXmlParser.ParseGeometry(gridLayerCellGeometries[0], out epsgCode); gridLayerCell.CustomCell = SqlGeometry.STGeomFromText(new SqlChars(geometry), epsgCode); var gridLayerItemValues = NinXmlParser.GetChildElements(gridMapElement[0], "trinnVerdi", TillatAntall.AkkuratEn); gridLayerCell.Value = gridLayerItemValues[0].Value; if (Cells.Count == 0) { MinValue = gridLayerCell.Value; MaxValue = gridLayerCell.Value; } else { string minValue; string maxValue; AreaLayerImpl.GuessMinAndMaxValues(true, gridLayerCell.Value, MinValue, MaxValue, out minValue, out maxValue); MinValue = minValue; MaxValue = maxValue; } Cells.Add(gridLayerCell); } }
public static void ConvertGeometry(GridLayerCellCustom gridLayerCellCustom) { MapProjection reproject = new MapProjection(Config.Settings.Map.SpatialReferenceSystemIdentifier); gridLayerCellCustom.CustomCell = reproject.Reproject(gridLayerCellCustom.CustomCell); }