/// <summary>Получить метку</summary> /// <param name="record"></param> /// <param name="projection"></param> /// <returns></returns> public static Placemark GetKml(this MyRecord record, ProjectionInfo projection) { var feature = new Placemark(); var geom = record.GetGeometry() as TPolygon; feature.Geometry = geom.GetKml(projection); feature.Name = "test"; return(feature); }
private Placemark GetKml(MyRecord record) { return(new Placemark() { Name = record.Rule.Entpath, Geometry = GetKmlGeometry(record.GetGeometry()), Description = new Description() { Text = record.GetFieldsString() } }); }
/// <summary>Добавить сущность</summary> /// <param name="rec">Запись</param> /// <returns></returns> public Feature AddFeature(MyRecord rec) { var geom = rec.GetGeometry(); var type = FeatureType.TABFC_NoGeom; if (geom == null) { return(AddFeature(type, new List <List <Vertex> >(), GetFieldValues(rec), null)); } switch (geom.GetGeometryType()) { case GeometryType.Point: type = FeatureType.TABFC_Point; break; case GeometryType.LineString: type = FeatureType.TABFC_Polyline; break; case GeometryType.Polygon: case GeometryType.MultiPolygon: type = FeatureType.TABFC_Region; break; case GeometryType.No: break; case GeometryType.GeometryCollection: break; default: throw new ArgumentOutOfRangeException(); } if (geom.IsValid()) { return(AddFeature(type, GetParts(geom), GetFieldValues(rec), null)); } return(type == FeatureType.TABFC_NoGeom ? AddFeature(type, new List <List <Vertex> >(), GetFieldValues(rec), null) : null); }