private static void WriteLine(ref XmlWriter writer, ParcelLineRow record, ref DocumentEntry documentType, Int32 to) { if (IncompleteLine(record)) { return; // incomplete line } if (to == -1) { to = record.GetTo(); } writer.WriteStartElement("line"); writer.WriteElementString("fromPoint", record.GetFrom().ToString()); writer.WriteElementString("toPoint", to.ToString()); writer.WriteElementString("bearing", record.GetBearing(false).ToString(_doubleFormat)); writer.WriteElementString("distance", record.GetChordDistance().ToString(_doubleFormat)); writer.WriteElementString("category", record.Category.ToString()); if (documentType != null) { writer.WriteElementString("type", documentType.Type.ToString()); } double radius = record.GetRadius(); if ((radius != 0.0) && (record.CenterPoint != null)) { writer.WriteElementString("radius", radius.ToString(_doubleFormat)); writer.WriteElementString("centerPoint", record.CenterPoint.ToString()); } writer.WriteEndElement(); }
// This routine does not write out points, but it does write the start location private static void WriteConstructionData(ref XmlWriter writer, ref ParcelData parcelData, ref PointDictionary pointDictionary, ref MapPoint projectedStartPoint, ref Configuration configuration, ParcelLineRow record) { Int32 pointId = record.GetFrom(); if (!pointDictionary.ContainsKey(pointId)) { return; } // Rather than using the point from the dictionary, the client should pass in a projected point. // ESRI.ArcGIS.Client.Geometry.MapPoint startPoint = pointDictionary[pointId]; ESRI.ArcGIS.Client.Geometry.MapPoint startPoint = projectedStartPoint; if (startPoint == null) { return; } writer.WriteStartElement("constructionData"); writer.WriteStartElement("constructionAdjustment"); writer.WriteStartElement("startPoint"); double xM = startPoint.X; double yM = startPoint.Y; if (configuration.HasSpatialReferenceUnit) { xM *= configuration.SpatialReferenceUnitsPerMeter; yM *= configuration.SpatialReferenceUnitsPerMeter; } writer.WriteElementString("unjoinedPointNo", pointId.ToString()); writer.WriteElementString("x", xM.ToString(_doubleFormat)); writer.WriteElementString("y", yM.ToString(_doubleFormat)); writer.WriteEndElement(); // startPoint if (parcelData.CompassRuleApplied) { writer.WriteElementString("type", "0"); // compass rule = 0 } writer.WriteEndElement(); // constructionAdjustment writer.WriteEndElement(); // constructionData }
// This routine does not write out points, but it does write the start location private static void WriteConstructionData(ref XmlWriter writer, ref ParcelData parcelData, ref PointDictionary pointDictionary, ref MapPoint projectedStartPoint, ref Configuration configuration, ParcelLineRow record) { Int32 pointId = record.GetFrom(); if (!pointDictionary.ContainsKey(pointId)) return; // Rather than using the point from the dictionary, the client should pass in a projected point. // ESRI.ArcGIS.Client.Geometry.MapPoint startPoint = pointDictionary[pointId]; ESRI.ArcGIS.Client.Geometry.MapPoint startPoint = projectedStartPoint; if (startPoint == null) return; writer.WriteStartElement("constructionData"); writer.WriteStartElement("constructionAdjustment"); writer.WriteStartElement("startPoint"); double xM = startPoint.X; double yM = startPoint.Y; if (configuration.HasSpatialReferenceUnit) { xM *= configuration.SpatialReferenceUnitsPerMeter; yM *= configuration.SpatialReferenceUnitsPerMeter; } writer.WriteElementString("unjoinedPointNo", pointId.ToString()); writer.WriteElementString("x", xM.ToString(_doubleFormat)); writer.WriteElementString("y", yM.ToString(_doubleFormat)); writer.WriteEndElement(); // startPoint if (parcelData.CompassRuleApplied) writer.WriteElementString("type", "0"); // compass rule = 0 writer.WriteEndElement(); // constructionAdjustment writer.WriteEndElement(); // constructionData }
private static bool IncompleteLine(ParcelLineRow record) { return (record.GetFrom() == 0) || (record.GetTo() == 0) || (record.GetDistance() == 0); }
private static void WriteLine(ref XmlWriter writer, ParcelLineRow record, ref DocumentEntry documentType, Int32 to) { if (IncompleteLine(record)) return; // incomplete line if (to == -1) to = record.GetTo(); writer.WriteStartElement("line"); writer.WriteElementString("fromPoint", record.GetFrom().ToString()); writer.WriteElementString("toPoint", to.ToString()); writer.WriteElementString("bearing", record.GetBearing(false).ToString(_doubleFormat)); writer.WriteElementString("distance", record.GetChordDistance().ToString(_doubleFormat)); writer.WriteElementString("category", record.Category.ToString()); if (documentType != null) writer.WriteElementString("type", documentType.Type.ToString()); double radius = record.GetRadius(); if ((radius != 0.0) && (record.CenterPoint != null)) { writer.WriteElementString("radius", radius.ToString(_doubleFormat)); writer.WriteElementString("centerPoint", record.CenterPoint.ToString()); } writer.WriteEndElement(); }
private static bool IncompleteLine(ParcelLineRow record) { return((record.GetFrom() == 0) || (record.GetTo() == 0) || (record.GetDistance() == 0)); }