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(); }
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); } }
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) { }
public override void Visit(GeoWalkContext <MultiLineString> mls) { _bld.BeginGeography(OpenGisGeographyType.MultiLineString); mls.SetExitActivity(() => _bld.EndGeography()); }
public override void Visit(GeoWalkContext <Polygon> pl) { _bld.BeginGeography(OpenGisGeographyType.Polygon); pl.SetExitActivity(() => _bld.EndGeography()); }
public override void Visit(GeoWalkContext <FeatureCollection> fcl) { _bld.BeginGeography(OpenGisGeographyType.GeometryCollection); fcl.SetExitActivity(() => _bld.EndGeography()); }
public override void Visit(GeoWalkContext <MultiPoint> mp) { _bld.BeginGeography(OpenGisGeographyType.MultiPoint); mp.SetExitActivity(() => _bld.EndGeography()); }