Пример #1
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();
 }
Пример #2
0
        public override void Visit(GeoWalkContext <Feature> f)
        {
            var feature = f.Item;

            if (FeatureRepresentsCircle(feature))
            {
                var coords = (GeographicPosition)((Point)feature.Geometry).Coordinates;
                var p      = SqlGeography.Point(coords.Latitude, coords.Longitude, GeoToSql.ReferenceId);
                var radius = Convert.ToDouble(feature.Properties["radius"]);
                var circle = p.BufferWithCurves(radius);
                _pendingCircles.Add(circle);
            }
        }
Пример #3
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();
     }
 }
 public virtual void Visit(GeoWalkContext <FeatureCollection> fcl)
 {
 }
 public virtual void Visit(GeoWalkContext <Feature> f)
 {
 }
 public virtual void Visit(GeoWalkContext <GeometryCollection> gcl)
 {
 }
 public virtual void Visit(GeoWalkContext <MultiPolygon> mpl)
 {
 }
 public virtual void Visit(GeoWalkContext <Polygon> pl)
 {
 }
 public virtual void Visit(GeoWalkContext <MultiLineString> mls)
 {
 }
 public virtual void Visit(GeoWalkContext <LineString> ls)
 {
 }
 public virtual void Visit(GeoWalkContext <MultiPoint> mp)
 {
 }
 public virtual void Visit(GeoWalkContext <Point> p)
 {
 }
Пример #13
0
 public override void Visit(GeoWalkContext <MultiLineString> mls)
 {
     _bld.BeginGeography(OpenGisGeographyType.MultiLineString);
     mls.SetExitActivity(() => _bld.EndGeography());
 }
Пример #14
0
 public override void Visit(GeoWalkContext <Polygon> pl)
 {
     _bld.BeginGeography(OpenGisGeographyType.Polygon);
     pl.SetExitActivity(() => _bld.EndGeography());
 }
Пример #15
0
 public override void Visit(GeoWalkContext <FeatureCollection> fcl)
 {
     _bld.BeginGeography(OpenGisGeographyType.GeometryCollection);
     fcl.SetExitActivity(() => _bld.EndGeography());
 }
Пример #16
0
 public override void Visit(GeoWalkContext <MultiPoint> mp)
 {
     _bld.BeginGeography(OpenGisGeographyType.MultiPoint);
     mp.SetExitActivity(() => _bld.EndGeography());
 }