internal void GetArgsFromDataSource() { _fullEnvelope = _dataSource.GetFullEnvelope(); _fullGridCount = _dataSource.GetFullGridCount(); _coordType = _dataSource.GetCoordinateType(); _shapeType = _dataSource.GetShapeType(); _fieldNames = _dataSource.GetFieldNames(); _originalCoordType = _coordType; }
public void Project(IRuntimeProjecter projecter, enumCoordinateType toCoordinateType) { _runtimeProjecter = projecter; if (_toCoordinateType == enumCoordinateType.Geographic) { _runtimeProjecter.Project(_fullEnvelop); _toCoordinateType = enumCoordinateType.Projection; } }
public RstReader(string filename) { _geoImage = IGeoImage.GeoOpen(filename); GeoImage g = _geoImage as GeoImage; _fullEnvelope = new Envelope(g.MinX, g.MinY, g.MaxX, g.MaxY); _coordType = g.IsProjected ? enumCoordinateType.Projection : enumCoordinateType.Geographic; _sref = SpatialReferenceFactory.GetSpatialReferenceByWKT(g.ProjectDescription, enumWKTSource.GDAL); _byteCountPerPixel = GetBandCount(_geoImage.DataType); }
public CachedVectorData(string shpFileName, GeoDo.Project.IProjectionTransform coordTransform) : this(shpFileName) { if (coordTransform != null) { _coordTransform = coordTransform; Project(_features); _coordType = enumCoordinateType.Projection; } }
public MemoryDataSource(string name, enumShapeType shapeType, enumCoordinateType coordType, Envelope fullEnvelope ) : base(name) { _shapeType = shapeType; _coordType = enumCoordinateType.Geographic; _gridDefinition = new GridDefinition((float)(fullEnvelope.Width + float.Epsilon), (float)(fullEnvelope.Height + float.Epsilon)); _fullEnvelope = fullEnvelope; _gridStateIndicator = new GridStateIndicator(_fullEnvelope.Clone() as Envelope, _gridDefinition); _fullGridCount = _gridStateIndicator.Width * _gridStateIndicator.Height; _grid = new Grid(0, _fullEnvelope.Clone() as Envelope, new Feature[] { }); }
public void Project(IRuntimeProjecter projecter, enumCoordinateType toCoordinateType) { if (_coordType == enumCoordinateType.Geographic) { _coordType = toCoordinateType; _currentRuntimeProjecter = projecter; // _currentRuntimeProjecter.Project(_fullEnvelope); // if (_grids == null || _grids.Count == 0) { return; } int n = _grids.Count; for (int i = 0; i < n; i++) { TryProject(_grids[i]); } } }
public void Render(System.Drawing.Graphics g, QuickTransformArgs quickTransform) { Envelope currentExtent = _environment.ExtentOfProjectionCoord; if (!currentExtent.IsInteractived(_class.FullEnvelope)) { return; } IMapRuntime runtime = _environment as IMapRuntime; IRasterDataSource ds = _class.DataSource as IRasterDataSource; enumCoordinateType coordType = ds.GetCoordinateType(); Envelope evp = null; if (coordType == enumCoordinateType.Geographic) { evp = ToGeoEnvelope(runtime, currentExtent); } Bitmap bm = ds.Reader.Read(evp, runtime.Host.CanvasSize.Width, runtime.Host.CanvasSize.Height); if (bm != null) { g.DrawImage(bm, 0, 0); } }
ProErr RBootARMMoveXY(enumCoordinateType CoordinateType, enumAreaType AreaType, int SerialNumbler) { int i = 0; int LocationX = HoldingSingelRead(ARM_06); int LocationY = HoldingSingelRead(ARM_11); int LocationZ = HoldingSingelRead(ARM_16); ProErr Err = ProErr.ProNOErr; i = 0; Err = CoordinateTransformation(CoordinateType, AreaType, SerialNumbler); if (Err != ProErr.ProNOErr) { return(Err); } if ((LocationX != CoordinateTransX) || (LocationY != CoordinateTransY)) { if ((LocationZ > Z_High0)) { HoldingSingelWrite(ARM_15, Z_High0); do { osDelay(10); } while ((HoldingSingelRead(ARM_16) != Z_High0) && (i++ < Math.Abs(Z_High0 - LocationZ) / 3u)); if (i >= Math.Abs(Z_High0 - LocationZ) / 3u) { Err = ProErr.ProArmZErr; return(Err); } LocationZ = RTStatus.RbootArmPosition[2u] = HoldingSingelRead(ARM_16); } HoldingSingelWrite(ARM_05, CoordinateTransX); HoldingSingelWrite(ARM_10, CoordinateTransY); i = 0; int X; int Y; do { osDelay(10); X = HoldingSingelRead(ARM_06); Y = HoldingSingelRead(ARM_11); } while ( ((X != CoordinateTransX) || (Y != CoordinateTransY)) && (i++ < ( Math.Abs(CoordinateTransX - LocationX) > Math.Abs(CoordinateTransY - LocationY) ? Math.Abs(CoordinateTransX - LocationX) : Math.Abs(CoordinateTransY - LocationY) ) / 3u ) ); if (i >= ( Math.Abs(CoordinateTransX - LocationX) > Math.Abs(CoordinateTransY - LocationY) ? Math.Abs(CoordinateTransX - LocationX) : Math.Abs(CoordinateTransY - LocationY) ) / 3u ) { if (X != CoordinateTransX) { Err = ProErr.ProArmXErr; } if (Y != CoordinateTransY) { Err = ProErr.ProArmYErr; } return(Err); } LocationX = RTStatus.RbootArmPosition[0] = HoldingSingelRead(ARM_06); LocationY = RTStatus.RbootArmPosition[1u] = HoldingSingelRead(ARM_11); } return(Err); }
ProErr CoordinateTransformation(enumCoordinateType CoordinateType, enumAreaType AreaType, int SerialNumbler) { ProErr Err = ProErr.ProNOErr; switch (CoordinateType) { case enumCoordinateType.CoordSampleHead: { switch (AreaType) { case enumAreaType.AreaReagentAdd: CoordinateTransX = XY_HeadSample[0, 0] - 8450 * (SerialNumbler - 1); CoordinateTransY = XY_HeadSample[0, 1] + 0; break; case enumAreaType.AreaSampler: Err = NoXYTrans(SerialNumbler); if (Err != ProErr.ProNOErr) { return(Err); } CoordinateTransX = XY_HeadSample[1, 0] + (int)(/*6400.0f / 72 * 32*/ 2844.44f * NoX + 0.5f); CoordinateTransY = XY_HeadSample[1, 1] + (int)(/*6400.0f / 72 * 32*/ 2844.44f * NoY + 0.5f); break; case enumAreaType.AreaDigestion: Err = ProErr.ProCoordinateErr; break; default: break; } } break; case enumCoordinateType.CoordFingers: { switch (AreaType) { case enumAreaType.AreaReagentAdd: CoordinateTransX = XY_HeadFingers[0, 0] + 6150 * (SerialNumbler - 1); CoordinateTransY = XY_HeadFingers[0, 1] + 0; break; case enumAreaType.AreaSampler: Err = ProErr.ProCoordinateErr; break; case enumAreaType.AreaDigestion: Err = NoXYTrans(SerialNumbler); if (Err != ProErr.ProNOErr) { return(Err); } CoordinateTransX = XY_HeadFingers[1, 0] + (int)(/*6400.0f / 72 * 32*/ 2844.44f * NoX + 0.5f); CoordinateTransY = XY_HeadFingers[1, 1] + (int)(/*6400.0f / 72 * 32*/ 2844.44f * NoY + 0.5f); break; default: break; } } break; default: break; } return(Err); }