public override void Visit(GeoWalkContext <LineString> ls) { // Line strings are used as items in polygons, but in an isolated context // they also neeed to be introduced with BeginGeography if (!ls.HasParentCorrespondingTo <Polygon>()) { _bld.BeginGeography(OpenGisGeographyType.LineString); } AddAsBeginFigure(ls.Item.Coordinates[0]); foreach (var position in ls.Item.Coordinates.Skip(1)) { AddAsLine(position); } _bld.EndFigure(); if (!ls.HasParentCorrespondingTo <Polygon>()) { _bld.EndGeography(); } }
public override void Visit(GeoWalkContext <Point> p) { if (p.HasParentCorrespondingTo <Feature>() && FeatureRepresentsCircle((Feature)p.Parent.Item)) { return; } _bld.BeginGeography(OpenGisGeographyType.Point); PointFigure(p.Item); _bld.EndGeography(); }