/// <summary> /// 暂时保存编辑内容,将正在编辑的要素保存到原有要素,并计算地理坐标 /// </summary> public void TmpSaveEdit() { if (_IsEditing) { if (_EditingLayer.GeoType == typeof(PointD)) { foreach (DataRow sRow in _EditingLayer.EditingRecord) { if (!Convert.IsDBNull(sRow[2])) { sRow[1] = _PrjSystem.ToLngLat((PointD)sRow[2]); sRow[3] = ((PointD)sRow[2]).Clone(); } else { sRow[1] = null; } } } else if (_EditingLayer.GeoType == typeof(MultiPolyLine)) { foreach (DataRow sRow in _EditingLayer.EditingRecord) { if (!Convert.IsDBNull(sRow[2])) { sRow[1] = _PrjSystem.ToLngLat((MultiPolyLine)sRow[2]); sRow[3] = LayerTools.GetCenterPoint((MultiPolyLine)sRow[2]); } else { sRow[1] = null; } } } else if (_EditingLayer.GeoType == typeof(MultiPolygon)) { foreach (DataRow sRow in _EditingLayer.EditingRecord) { if (!Convert.IsDBNull(sRow[2])) { sRow[1] = _PrjSystem.ToLngLat((MultiPolygon)sRow[2]); sRow[3] = LayerTools.GetCenterPoint((MultiPolygon)sRow[2]); } else { sRow[1] = null; } } } _EditingLayer.EditingRecord.Clear(); } }