Ejemplo n.º 1
0
        public void CreateEmptyLdfFile()
        {
            Assert.That(_newFileName != null);
            IGeoDataDriver driver = GeoDataDriver.GetDriverByName("LDF");

            Assert.NotNull(driver);
            ILdfDriver drv = driver as ILdfDriver;

            Assert.NotNull(drv);
            int            width      = 2048;
            int            height     = 3390;
            int            bandCount  = 10;
            enumDataType   dataType   = enumDataType.UInt16;
            enumInterleave interleave = enumInterleave.BSQ;
            string         version    = "LDF";
            //string proj4 = "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137";
            string           mapInfo = "{1,1}:{110,35}:{0.01,0.01}";
            bool             withHdr = true;
            ILdfDataProvider prd     = drv.Create(_newFileName, width, height, bandCount, dataType,
                                                  "INTERLEAVE=" + interleave.ToString(),
                                                  "VERSION=" + version,
                                                  //"SPATIALREF=" + proj4,
                                                  "MAPINFO=" + mapInfo, "WITHHDR=" + withHdr.ToString()) as ILdfDataProvider;

            Assert.NotNull(prd);
            Assert.That(prd.Width == width && prd.Height == height);
            Assert.That(prd.BandCount == bandCount);
            Assert.That(prd.DataType == dataType);
            ILdfHeader header = prd.Header;

            Assert.NotNull(header);
            HdrFile hdr = header.ToHdrFile();

            PrintHdrInfo(hdr);
            Ldf1Header ldfheader = header as Ldf1Header;

            Assert.NotNull(ldfheader);
            Assert.That(ldfheader._width == width && ldfheader._height == height);
            Assert.That(ldfheader.DataType == dataType);
            Assert.NotNull(prd.SpatialRef);
            for (int i = 0; i < bandCount; i++)
            {
                IRasterBand band = prd.GetRasterBand(i + 1);
                Assert.NotNull(band);
                Assert.That(band.Width == width && band.Height == height);
                Assert.That(band.DataType == dataType);
            }
            prd.Dispose();
            drv.Dispose();
            Assert.True(File.Exists(_newFileName));
            FileInfo fInfo = new FileInfo(_newFileName);

            Assert.True(width * height * bandCount * 2 + header.HeaderSize == fInfo.Length);
            ISpatialReference spatialRef = prd.SpatialRef;

            Assert.NotNull(spatialRef);
            Console.Out.WriteLine(spatialRef.ToString());
        }
Ejemplo n.º 2
0
        private string BandNameString(ILdfDataProvider fileRaster)
        {
            if (fileRaster == null)
            {
                return(null);
            }
            string[] bandNames = (fileRaster as ILdfDataProvider).Hdr.BandNames;
            if (bandNames == null || bandNames.Length == 0)
            {
                return(null);
            }
            string bandNameString = "";

            foreach (string b in bandNames)
            {
                bandNameString = bandNameString + b + ",";
            }
            return(bandNameString.TrimEnd(','));
        }