예제 #1
0
 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();
     }
 }
예제 #2
0
 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();
 }