• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Data.Extent类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中DotSpatial.Data.Extent的典型用法代码示例。如果您正苦于以下问题:C# Extent类的具体用法?C# Extent怎么用?C# Extent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Extent类属于DotSpatial.Data命名空间,在下文中一共展示了Extent类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Identify

        private void Identify(IEnumerable<ILayer> layers, Extent strict, Extent tolerant)
        {
            foreach (IMapLayer layer in layers)
            {
                IGroup grp = layer as IGroup;
                if (grp != null)
                {
                    Identify(grp, strict, tolerant);
                }
                else
                {
                    var gfl = layer as IMapFeatureLayer;
                    if (gfl != null)
                    {
                        if (gfl.DataSet.FeatureType == FeatureType.Polygon)
                        {
                            _frmFeatureIdentifier.Add(gfl, strict);
                        }
                        else
                        {
                            _frmFeatureIdentifier.Add(gfl, tolerant);
                        }
                    }

                    var rl = layer as IMapRasterLayer;
                    if (rl != null)
                    {
                        _frmFeatureIdentifier.Add(rl, strict);
                    }
                }
            }
        }
开发者ID:nikson898,项目名称:dot-spatial,代码行数:32,代码来源:MapFunctionIdentify.cs


示例2: ToSequence

static double[] ToSequence(Extent extent)
{
    const int horizontal = 72;
    const int vertical = 36;
    var res = new double[horizontal * vertical * 2];

    var dx = extent.Width / (horizontal - 1);
    var dy = extent.Height / (vertical - 1);

    var minY = extent.MinY;
    var k = 0;
    for (var i = 0; i < vertical; i++)
    {
        var minX = extent.MinX;
        for (var j = 0; j < horizontal; j++)
        {
            res[k++] = minX;
            res[k++] = minY;
            minX += dx;
        }
        minY += dy;
    }

    return res;
}
开发者ID:haoas,项目名称:DotSpatial.Plugins,代码行数:25,代码来源:MainForm.cs


示例3: CreateGridFromExtents

        /// <summary>
        /// This function creates the HDR of Gridfile
        /// </summary>
        /// <param name="inExtents"> Extension of grid</param>
        /// <param name="cellSize">Size cell of the grid</param>
        /// <param name="projection">Projection (the same that shapefile)</param>
        /// <param name="noDataValue">No value definition</param>
        /// <param name="outGridPath">Path of the output</param>
        /// <param name="outGrid">Name of the output grid</param>
        public static void CreateGridFromExtents(
            Extent inExtents, double cellSize, ProjectionInfo projection, double noDataValue, string outGridPath, out IRaster outGrid)
        {

            double height = Math.Abs(inExtents.MaxY - inExtents.MinY);
            double width = Math.Abs(inExtents.MaxX - inExtents.MinX);
            int numberRows = Convert.ToInt32(Math.Ceiling(height / cellSize)) + 1;
            int numberCols = Convert.ToInt32(Math.Ceiling(width / cellSize)) + 1;

            // outGrid = Raster.CreateRaster(@outGridPath, null, demRaster.NumColumns, demRaster.NumRows, 1, demRaster.DataType, rasterOptions);
            outGrid = Raster.CreateRaster(@outGridPath, null, numberCols, numberRows, 1, typeof(float), new String[] { });
            outGrid.NoDataValue = noDataValue;
            outGrid.Projection = projection;
            outGrid.CellHeight = cellSize;
            outGrid.CellWidth = cellSize;
            //if (inExtents.MinX < 0)
            //    outGrid.Xllcenter = inExtents.MinX + (cellSize / 2.0);
            //else
            outGrid.Xllcenter = inExtents.MinX;// -(cellSize / 2.0);

            //if (inExtents.MinY < 0)
            //    outGrid.Yllcenter = inExtents.MinY + (cellSize / 2.0);
            //else
            outGrid.Yllcenter = inExtents.MinY;// -(cellSize / 2.0);
        }
开发者ID:shoaib-ijaz,项目名称:geosoft,代码行数:34,代码来源:Clip2.cs


示例4: RasterBounds

 /// <summary>
 /// Creates a new raster bounds that is georeferenced to the specified envelope.
 /// </summary>
 /// <param name="numRows">The number of rows</param>
 /// <param name="numColumns">The number of columns</param>
 /// <param name="bounds">The bounding envelope</param>
 public RasterBounds(int numRows, int numColumns, Extent bounds)
 {
     _affine = new double[6];
     _numRows = numRows;
     _numColumns = numColumns;
     Extent = bounds;
 }
开发者ID:DIVEROVIEDO,项目名称:DotSpatial,代码行数:13,代码来源:RasterBounds.cs


示例5: ToolDialog

 /// <summary>
 /// The constructor for the ToolDialog
 /// </summary>
 /// <param name="tool">The ITool to create the dialog box for</param>
 /// <param name="dataSets">The list of available DataSets available</param>
 /// <param name="mapExtent">Creates a new instance of the tool dialog with map extent.</param>
 public ToolDialog(ITool tool, List<DataSetArray> dataSets, Extent mapExtent)
 {
     // Required by the designer
     InitializeComponent();
     DataSets = dataSets;
     _extent = mapExtent;
     Initialize(tool);
 }
开发者ID:ExRam,项目名称:DotSpatial-PCL,代码行数:14,代码来源:ToolDialog.cs


示例6: ProjToPixel

 /// <summary>
 /// Converts a single geographic envelope into an equivalent Rectangle
 /// as it would be drawn on the screen.
 /// </summary>
 /// <param name="env">The geographic IEnvelope</param>
 /// <returns>A Rectangle</returns>
 public static Rectangle ProjToPixel(this IBasicMap map, Extent env)
 {
     var mapFrame = map.MapFrame as MapFrame;
     if (mapFrame != null) 
         return mapFrame.ProjToPixel(env);
     else
         return Rectangle.Empty;
 }
开发者ID:joelmuzz,项目名称:DotSpatial,代码行数:14,代码来源:IBasicMapExtensions.cs


示例7: ExtentParam

 /// <summary>
 /// Creates a new instance of an Extent Param with the specified name
 /// and the specified projection as the default projection that will
 /// appear if no changes are made.
 /// </summary>
 /// <param name="name"></param>
 /// <param name="defaultExtent"></param>
 public ExtentParam(string name, Extent defaultExtent)
 {
     Name = name;
     Value = defaultExtent;
     ParamVisible = ShowParamInModel.No;
     ParamType = "DotSpatial Extent Param";
     DefaultSpecified = true;
 }
开发者ID:DIVEROVIEDO,项目名称:DotSpatial,代码行数:15,代码来源:ExtentParam.cs


示例8: Reproject

static Extent Reproject(Extent extent, ProjectionInfo source, ProjectionInfo target, int depth = 0)
{
    var xy = ToSequence(extent);
    DotSpatial.Projections.Reproject.ReprojectPoints(xy, null, source, target, 0, xy.Length / 2);
    var res = ToExtent(xy);

    return res;
}
开发者ID:haoas,项目名称:DotSpatial.Plugins,代码行数:8,代码来源:MainForm.cs


示例9: SetAreaRectangle

 public void SetAreaRectangle(Extent extent, ProjectionInfo rectangleProjection)
 {
     var xMin = extent.MinX;
     var yMin = extent.MinY;
     var xMax = extent.MaxX;
     var yMax = extent.MaxY;
     var box = new Box(xMin, xMax, yMin, yMax);
     SetAreaRectangle(box, rectangleProjection);
 }
开发者ID:CUAHSI,项目名称:HydroClient,代码行数:9,代码来源:AreaSettings.cs


示例10: LiDARDataSet

        public LiDARDataSet(string filename)
        {
            //here read the maxX, maxY from the las file header
            //and change the Extent property
            LasReader Reader = new LasReader(filename);
            Reader.initialize();
            ulong PointNum = Reader.getNumPoints();
            int ArrayLength = (int)PointNum;
            //Range_double range = Reader.getBounds();
            //Reader.getBounds
            //Bounds_double ll = Reader.getBounds();
            Schema schema = Reader.getSchema();
            PointBuffer data = new PointBuffer(schema, (uint)PointNum);

            // get the dimensions (fields) of the point record for the X, Y, and Z values
            int offsetX = schema.getDimensionIndex(DimensionId.Id.X_i32);
            int offsetY = schema.getDimensionIndex(DimensionId.Id.Y_i32);
            int offsetZ = schema.getDimensionIndex(DimensionId.Id.Z_i32);
            Dimension dimensionX = schema.getDimension((uint)offsetX);
            Dimension dimensionY = schema.getDimension((uint)offsetY);
            Dimension dimensionZ = schema.getDimension((uint)offsetZ);

            // make the iterator to read from the file
            StageSequentialIterator iter = Reader.createSequentialIterator();
            uint numRead = iter.read(data);

            int xraw = data.getField_Int32(0, offsetX);
            int yraw = data.getField_Int32(0, offsetY);

            // LAS stores the data in scaled integer form: undo the scaling
            // so we can see the real values as doubles
            double MinX, MaxX, MinY, MaxY;
            MinX = MaxX = dimensionX.applyScaling_Int32(xraw);
            MinY = MaxY = dimensionY.applyScaling_Int32(yraw);

            for (int i = 1; i < ArrayLength; i++)
            {
                xraw = data.getField_Int32((uint)i, offsetX);
                yraw = data.getField_Int32((uint)i, offsetY);

                // LAS stores the data in scaled integer form: undo the scaling
                // so we can see the real values as doubles
                double x = dimensionX.applyScaling_Int32(xraw);
                double y = dimensionY.applyScaling_Int32(yraw);

                if (x < MinX) MinX = x;
                if (x > MaxX) MaxX = x;
                if (y < MinY) MinY = y;
                if (y > MaxY) MaxY = y;
            }
            setupExtent = new Extent(MinX, MinY, MaxX, MaxY);
        }
开发者ID:ExRam,项目名称:DotSpatial-PCL,代码行数:52,代码来源:LiDARDataSet.cs


示例11: GetBitmap

        /// <summary>
        /// The geographic envelope gives the region that the image should be created for.
        /// The window gives the corresponding pixel dimensions for the image, so that
        /// images matching the resolution of the screen can be used.
        /// </summary>
        /// <param name="envelope">
        /// The geographic extents to retrieve data for
        /// </param>
        /// <param name="window">
        /// The rectangle that defines the size of the drawing area in pixels
        /// </param>
        /// <returns>
        /// A bitmap captured from the main image
        /// </returns>
        public Bitmap GetBitmap(Extent envelope, Rectangle window)
        {
            if (window.Width == 0 || window.Height == 0)
                return null;

            if (Bounds == null || Bounds.Extent == null || Bounds.Extent.IsEmpty())
                return null;

            // Gets the scaling factor for converting from geographic to pixel coordinates
            double dx = (window.Width / envelope.Width);
            double dy = (window.Height / envelope.Height);

            double[] a = Bounds.AffineCoefficients;

            // gets the affine scaling factors.
            float m11 = Convert.ToSingle(a[1] * dx);
            float m22 = Convert.ToSingle(a[5] * -dy);
            float m21 = Convert.ToSingle(a[2] * dx);
            float m12 = Convert.ToSingle(a[4] * -dy);
            float l = (float)(a[0] - .5 * (a[1] + a[2])); // Left of top left pixel
            float t = (float)(a[3] - .5 * (a[4] + a[5])); // top of top left pixel
            float xShift = (float)((l - envelope.MinX) * dx);
            float yShift = (float)((envelope.MaxY - t) * dy);

            Bitmap tempResult = null;
            Bitmap result = null;
            Graphics g = null;
            try
            {
                tempResult = new Bitmap(window.Width, window.Height);
                g = Graphics.FromImage(tempResult);
                g.Transform = new Matrix(m11, m12, m21, m22, xShift, yShift);
                g.PixelOffsetMode = PixelOffsetMode.Half;
                if (m11 > 1 || m22 > 1)
                    g.InterpolationMode = InterpolationMode.NearestNeighbor;
                if (!g.VisibleClipBounds.IsEmpty)
                    g.DrawImage(_myImage, new PointF(0, 0));
                result = tempResult;
                tempResult = null;
            }
            catch (OverflowException) { } //Raised by g.DrawImage if the new images extent is to small
            finally
            {
                if (tempResult != null) tempResult.Dispose();
                if (g != null) g.Dispose();
            }
            return result;
        }
开发者ID:joelmuzz,项目名称:DotSpatial,代码行数:62,代码来源:InRamImage.cs


示例12: GetPointArray

        /// <summary>
        /// This method simulates loading the array of points from the LAS file.
        /// Right now it is generating random points that are within the 
        /// view extent.
        /// </summary>
        /// <param name="boundingBox">the view extent</param>
        /// <returns>array of the points in [x y x y ... order]</returns>
        public double[] GetPointArray(Extent boundingBox)
        {
            double[] pointArray = new double[1000];
            Random rnd = new Random();
            double xMin = boundingBox.MinX;
            double yMin = boundingBox.MinY;

            for (int i = 0; i < 1000; i++)
            {
                double randomX = xMin + rnd.NextDouble() * boundingBox.Width;
                double randomY = yMin + rnd.NextDouble() * boundingBox.Height;
                pointArray[i] = randomX;
                i = i + 1;
                pointArray[i] = randomY;
            }
            return pointArray;
        }
开发者ID:koson,项目名称:ResearchMap1,代码行数:24,代码来源:MyCustomDataSet.cs


示例13: GetSeriesCatalogInPolygon

        public SearchResult GetSeriesCatalogInPolygon(IList<IFeature> polygons, string[] keywords, double tileWidth, double tileHeight,
            DateTime startDate, DateTime endDate, WebServiceNode[] serviceIDs, BusinessObjects.Models.IProgressHandler bgWorker)
        {
            if (polygons == null) throw new ArgumentNullException("polygons");
            if (bgWorker == null) throw new ArgumentNullException("bgWorker");
            if (polygons.Count == 0)
            {
                throw new ArgumentException("The number of polygons must be greater than zero.");
            }

            if (keywords == null || keywords.Length == 0)
            {
                keywords = new[] { String.Empty };
            }

            var fullSeriesList = new List<BusinessObjects.Models.SeriesDataCartModel.SeriesDataCart>();
            for (int index = 0; index < polygons.Count; index++)
            {
                if (polygons.Count > 1)
                {
                    bgWorker.ReportMessage(string.Format("Processing polygons: {0} of {1}", index + 1, polygons.Count));
                }

                bgWorker.CheckForCancel();
                var polygon = polygons[index];
                var extentBox = new Extent(polygon.Envelope);
                var seriesForPolygon = GetSeriesListForExtent(extentBox, keywords, tileWidth, tileHeight, startDate,
                                                              endDate,
                                                              serviceIDs, bgWorker,
                                                              item => polygon.Intersects(new Coordinate(item.Longitude, item.Latitude)));
                fullSeriesList.AddRange(seriesForPolygon);
            }

            SearchResult resultFs = null;
            if (fullSeriesList.Count > 0)
            {
                bgWorker.ReportMessage("Calculating Points...");
                resultFs = SearchHelper.ToFeatureSetsByDataSource(fullSeriesList);
            }

            bgWorker.CheckForCancel();
            var message = string.Format("{0} Series found.", totalSeriesCount);
            bgWorker.ReportProgress(100, "Search Finished. " + message);
            return resultFs;
        }
开发者ID:CUAHSI,项目名称:HydroClient,代码行数:45,代码来源:Seriessearcher.cs


示例14: GetBitmap

        /// <summary>
        /// Gets the bitmap for the specified geographic envelope scaled to fit on a bitmap of the specified size in pixels.
        /// </summary>
        /// <param name="envelope"></param>
        /// <param name="pixelSize"></param>
        /// <returns></returns>
        public virtual Bitmap GetBitmap(Extent envelope, Size pixelSize)
        {
            Bitmap result = new Bitmap(pixelSize.Width, pixelSize.Height);
            Graphics g = Graphics.FromImage(result);
            foreach (ImageData image in _images)
            {
                Extent bounds = envelope.Intersection(image.Extent);

                Size ps = new Size((int)(pixelSize.Width * bounds.Width / envelope.Width),
                                   (int)(pixelSize.Height * bounds.Height / envelope.Height));
                int x = pixelSize.Width * (int)((bounds.X - envelope.X) / envelope.Width);
                int y = pixelSize.Height * (int)((envelope.Y - bounds.Y) / envelope.Height);
                if (ps.Width > 0 && ps.Height > 0)
                {
                    Bitmap tile = image.GetBitmap(bounds, ps);
                    g.DrawImageUnscaled(tile, x, y);
                }
            }
            return result;
        }
开发者ID:DIVEROVIEDO,项目名称:DotSpatial,代码行数:26,代码来源:ImageCoverage.cs


示例15: CreateTiles

        /// <summary>
        /// Divides the search bounding box into several 'tiles' to prevent
        /// </summary>
        /// <param name="bigBoundingBox">the original bounding box</param>
        /// <param name="tileWidth">The tile width in decimal degrees</param>
        /// <param name="tileHeight">The tile height (south-north) in decimal degrees</param>
        /// <returns></returns>
        public static List<Extent> CreateTiles(Extent bigBoundingBox, double tileWidth, double tileHeight)
        {
            var tiles = new List<Extent>();
            double fullWidth = Math.Abs(bigBoundingBox.MaxX - bigBoundingBox.MinX);
            double fullHeight = Math.Abs(bigBoundingBox.MaxY - bigBoundingBox.MinY);

            if (fullWidth < tileWidth || fullHeight < tileHeight)
            {
                tiles.Add(bigBoundingBox);
                return tiles;
            }

            double yll = bigBoundingBox.MinY; //y-coordinate of the tile's lower left corner
            var numColumns = (int)(Math.Ceiling(fullWidth / tileWidth));
            var numRows = (int)(Math.Ceiling(fullHeight / tileHeight));
            var lastTileWidth = fullWidth - ((numColumns - 1) * tileWidth);
            var lastTileHeight = fullHeight - ((numRows - 1) * tileHeight);
            int r;

            for (r = 0; r < numRows; r++)
            {
                double xll = bigBoundingBox.MinX; //x-coordinate of the tile's lower left corner

                if (r == numRows - 1)
                {
                    tileHeight = lastTileHeight;
                }

                int c;
                for (c = 0; c < numColumns; c++)
                {
                    var newTile = c == (numColumns - 1) ? new Extent(xll, yll, xll + lastTileWidth, yll + tileHeight) :
                                                          new Extent(xll, yll, xll + tileWidth, yll + tileHeight);
                    tiles.Add(newTile);
                    xll = xll + tileWidth;
                }
                yll = yll + tileHeight;
            }
            return tiles;
        }
开发者ID:CUAHSI,项目名称:HydroClient,代码行数:47,代码来源:SearchHelper.cs


示例16: GetNoDataCellCountTest

        public void GetNoDataCellCountTest()
        {
            string path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\..\..\..\Data\GetNoDataCellCountTest.BGD";

            const double xllcorner = 3267132.224761;
            const double yllcorner = 5326939.203029;
            const int ncols = 512;
            const int nrows = 128;
            const int frequencyOfNoValue = 5;

            const double cellsize = 500;
            double x2 = xllcorner + (cellsize * ncols);
            double y2 = yllcorner + (cellsize * nrows);
            Extent myExtent = new Extent(xllcorner, yllcorner, x2, y2);
            Raster target;
            target = Raster.Create(path, String.Empty, ncols, nrows, 1, typeof(double), new[] { String.Empty }) as Raster;
            target.Bounds = new RasterBounds(nrows, ncols, myExtent);
            target.NoDataValue = -9999;
            int mRow = target.Bounds.NumRows;
            int mCol = target.Bounds.NumColumns;

            for (int row = 0; row < mRow; row++)
            {
                for (int col = 0; col < mCol; col++)
                {
                    if (row % frequencyOfNoValue == 0)
                        target.Value[row, col] = -9999d;
                    else
                        target.Value[row, col] = 2d;
                }
            }
            target.Save();

            long expected = (nrows / frequencyOfNoValue) * ncols + ncols;
            long actual;
            actual = target.GetNoDataCellCount();
            Assert.AreEqual(expected, actual);

            System.IO.File.Delete(path);
        }
开发者ID:DIVEROVIEDO,项目名称:DotSpatial,代码行数:40,代码来源:RasterTest.cs


示例17: KriggingSimulator

        public KriggingSimulator(Map map, IFeatureSet selectedDataset, Extent extent,
            Clip clip, string field, string layerName, string pixel)
        {
            this._field = field;
            this._map = map;
            this._selectedDataset = selectedDataset;
            this._layerName = layerName;
            this._extent = extent;
            this._clip = clip;
            this._pixel = pixel;

            this._prefixPath = this._field + "-" + Guid.NewGuid().ToString();
            this._folder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "TempFiles");

            zedGraphControl1 = new ZedGraphControl();
            theoreticalModelControl1 = new TheoreticalModelControl();
            uxSearchNeighborhoodControl1 = new SearchNeighborhoodControl();
            uxOutputRaster1 = new OutputRaster();
            zedGraphControl2 = new ZedGraphControl();

            kriggingResult = new KriggingResult();
        }
开发者ID:shoaib-ijaz,项目名称:geosoft,代码行数:22,代码来源:KriggingSimulator.cs


示例18: RasterMath_OutputHasSameBounds

        public void RasterMath_OutputHasSameBounds()
        {
            // Prepare input raster
            const double xllcorner = 3267132.224761;
            const double yllcorner = 5326939.203029;
            const int ncols = 39;
            const int nrows = 57;
            const double cellsize = 500;
            const double x2 = xllcorner + (cellsize * ncols);
            const double y2 = yllcorner + (cellsize * nrows);
            var myExtent = new Extent(xllcorner, yllcorner, x2, y2);
            var source = new Raster<int>(nrows, ncols)
            {
                Bounds = new RasterBounds(nrows, ncols, myExtent),
                NoDataValue = -9999
            };
            var mRow = source.Bounds.NumRows;
            var mCol = source.Bounds.NumColumns;

            var i = 0;
            for (var row = 0; row < mRow; row++)
            {
                for (var col = 0; col < mCol; col++)
                {
                    source.Value[row, col] = i++;
                }
            }

            var target = new RasterMultiply();
            IRaster outRaster = new Raster {Filename = FileTools.GetTempFileName(".bgd")};
            target.Execute(source, source, outRaster, new MockProgressHandler());
            outRaster = Raster.Open(outRaster.Filename);
            File.Delete(outRaster.Filename);

            Assert.AreEqual(source.NumColumns, outRaster.NumColumns);
            Assert.AreEqual(source.NumRows, outRaster.NumRows);
            Assert.AreEqual(source.Bounds.Extent, outRaster.Bounds.Extent);
        }
开发者ID:hanchao,项目名称:DotSpatial,代码行数:38,代码来源:RasterMagicTests.cs


示例19: GetBitmap

        /// <summary>
        /// The geographic envelope gives the region that the image should be created for.
        /// The window gives the corresponding pixel dimensions for the image, so that
        /// images matching the resolution of the screen can be used.
        /// </summary>
        /// <param name="envelope">
        /// The geographic extents to retrieve data for
        /// </param>
        /// <param name="window">
        /// The rectangle that defines the size of the drawing area in pixels
        /// </param>
        /// <returns>
        /// A bitmap captured from the main image
        /// </returns>
        public Bitmap GetBitmap(Extent envelope, Rectangle window)
        {
            if (window.Width == 0 || window.Height == 0)
            {
                return null;
            }

            Bitmap result = new Bitmap(window.Width, window.Height);
            Graphics g = Graphics.FromImage(result);

            //

            // Gets the scaling factor for converting from geographic to pixel coordinates
            double dx = (window.Width / envelope.Width);
            double dy = (window.Height / envelope.Height);

            double[] a = Bounds.AffineCoefficients;

            // gets the affine scaling factors.
            float m11 = Convert.ToSingle(a[1] * dx);
            float m22 = Convert.ToSingle(a[5] * -dy);
            float m21 = Convert.ToSingle(a[2] * dx);
            float m12 = Convert.ToSingle(a[4] * -dy);
            float l = (float)(a[0] - .5 * (a[1] + a[2])); // Left of top left pixel
            float t = (float)(a[3] - .5 * (a[4] + a[5])); // top of top left pixel
            float xShift = (float)((l - envelope.MinX) * dx);
            float yShift = (float)((envelope.MaxY - t) * dy);
            g.Transform = new Matrix(m11, m12, m21, m22, xShift, yShift);
            g.PixelOffsetMode = PixelOffsetMode.Half;
            if (m11 > 1 || m22 > 1)
            {
                g.InterpolationMode = InterpolationMode.NearestNeighbor;
            }

            g.DrawImage(_myImage, new PointF(0, 0));
            g.Dispose();
            return result;
        }
开发者ID:ExRam,项目名称:DotSpatial-PCL,代码行数:52,代码来源:InRamImage.cs


示例20: ToExtent

        /// <summary>
        /// Generates a new extent from the shape header.  This will infer the whether the ExtentMZ, ExtentM
        /// or Extent class is the best implementation.  Casting is required to access the higher
        /// values from the Extent return type.
        /// </summary>
        /// <returns>Extent, which can be Extent, ExtentM, or ExtentMZ</returns>
        public Extent ToExtent()
        {
            if (ShapeType == ShapeType.MultiPointZ ||
                ShapeType == ShapeType.PointZ ||
                ShapeType == ShapeType.PolygonZ ||
                ShapeType == ShapeType.PolyLineZ)
            {
                return new ExtentMZ(_xMin, _yMin, _mMin, _zMin, _xMax, _yMax, _mMax, _zMax);
            }
            if (ShapeType == ShapeType.MultiPointM ||
                ShapeType == ShapeType.PointM ||
                ShapeType == ShapeType.PolygonM ||
                ShapeType == ShapeType.PolyLineM)
            {
                return new ExtentM(_xMin, _yMin, _mMin, _xMax, _yMax, _mMax);
            }
            Extent ext = new Extent(_xMin, _yMin, _xMax, _yMax);

            return ext;
        }
开发者ID:ExRam,项目名称:DotSpatial-PCL,代码行数:26,代码来源:ShapefileHeader.cs



注:本文中的DotSpatial.Data.Extent类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Data.FeatureSet类代码示例发布时间:2022-05-24
下一篇:
C# Controls.MapArgs类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap