91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小:
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2023-06-21
  • 語言: 其他
  • 標簽: GDAL??

資源簡介

《GDAL源碼剖析與開發指南》書籍代碼及數據

資源截圖

代碼片段和文件信息

/***************************************************************************
*
*?Time:?2013-06-27
*?Project:?遙感算法演示?
*?Purpose:?遙感算法演示
*?Author:??李民錄
*?Copyright?(c)?2013?liminlu0314@163.com
*?Describe:?遙感算法演示,在下面的所有的算法中,
*???????????都沒有對輸入輸出的路徑以及文件是否存在進行檢查,
*???????????默認認為所有的輸入和輸出參數都是合理的
*
****************************************************************************/

#include?“GDALAlgorithm.h“

int?ImageResample1(const?char*?pszSrcFile?const?char*?pszDstFile?double?dResX?double?dResY?
???const?char*?pszFormat?CProcessbase*?pProcess)
{
//?前面需要對輸入輸出的文件路徑進行判斷,這里不進行判斷直接處理
if(pProcess?!=?NULL)
{
pProcess->ReSetProcess();
pProcess->SetMessage(“開始重采樣...“);
}

GDALAllRegister();

GDALDataset?*pSrcDS?=?(GDALDataset*)GDALOpen(pszSrcFile?GA_ReadOnly);
GDALDataType?eDT?=?pSrcDS->GetRasterBand(1)->GetRasterDataType();

int?iBandCount?=?pSrcDS->GetRasterCount();
int?iSrcWidth??=?pSrcDS->GetRasterXSize();
int?iSrcHeight?=?pSrcDS->GetRasterYSize();

//?根據采樣比例計算重采樣后的圖像寬高
int?iDstWidth??=?static_cast(?iSrcWidth??*?dResX?+?0.5);
int?iDstHeight?=?static_cast(?iSrcHeight?*?dResY?+?0.5);

double?adfGeoTransform[6]?=?{0};
pSrcDS->GetGeoTransform(adfGeoTransform);

//?計算采樣后的圖像的分辨率
adfGeoTransform[1]?=?adfGeoTransform[1]?/?dResX;
adfGeoTransform[5]?=?adfGeoTransform[5]?/?dResY;

//?創建輸出文件并設置空間參考和坐標信息
GDALDriver?*poDriver?=?(GDALDriver?*)?GDALGetDriverByName(pszFormat);
GDALDataset?*pDstDS?=?poDriver->Create(pszDstFile?iDstWidth?iDstHeight?iBandCount?eDT?NULL);
pDstDS->SetGeoTransform(adfGeoTransform);
pDstDS->SetProjection(pSrcDS->GetProjectionRef());

int?*pBandMap?=?new?int[iBandCount];
for?(int?i=0;?i pBandMap[i]?=?i+1;

//?下面這里需要根據數據類型來判斷,申請不同類型的緩存來進行處理,這里僅僅以8bit圖像進行演示
if?(eDT?==?GDT_Byte) //?如果是8bit圖像
{
//?申請所有數據所需要的緩存,如果圖像太大應該用分塊處理
DT_8U?*pDataBuff?=?new?DT_8U[iDstWidth*iDstHeight*iBandCount];

pSrcDS->RasterIO(GF_Read?0?0?iSrcWidth?iSrcHeight?pDataBuff?iDstWidth?iDstHeight?eDT?iBandCount?pBandMap?0?0?0);
pDstDS->RasterIO(GF_Write?0?0?iDstWidth?iDstHeight?pDataBuff?iDstWidth?iDstHeight?eDT?iBandCount?pBandMap?0?0?0);

RELEASE(pDataBuff);
}
else
{
//?其他類型的圖像,與8bit類似,就是申請的緩存類型不同而已
}

RELEASE(pBandMap);

GDALClose((GDALDatasetH)pSrcDS);
GDALClose((GDALDatasetH)pDstDS);

if(pProcess?!=?NULL)
pProcess->SetMessage(“重采樣完成!“);

return?RE_SUCCESS;
}

int?ImageResample2(const?char*?pszSrcFile?const?char*?pszDstFile?double?dResX?double?dResY?
???GDALResampleAlg?eResampleMethod??const?char*?pszFormat?CProcessbase*?pProcess)
{
//?前面需要對輸入輸出的文件路徑進行判斷,這里不進行判斷直接處理
if(pProcess?!=?NULL)
{
pProcess->ReSetProcess();
pProcess->SetMessage(“開始重采樣...“);
}

GDALAllRegister();

GDALDataset?*pSrcDS?=?(GDALDataset*)GDALOpen(pszSrcFile?GA_ReadOnly);
GDALDataType?eDT?=?pSrcDS->GetRasterBand(1)->GetRasterDataType();

int?iBandCount?=?pSrcDS->GetRaste

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4472??2013-06-28?10:19??GDAL書籍代碼\第七章代碼\GDALAlg\GDALAlg.vcproj

?????文件???????6955??2013-06-29?19:36??GDAL書籍代碼\第七章代碼\GDALAlg\GDALAlgCore.h

?????文件??????66769??2013-08-15?17:43??GDAL書籍代碼\第七章代碼\GDALAlg\GDALAlgorithm.cpp

?????文件??????11241??2013-08-15?15:57??GDAL書籍代碼\第七章代碼\GDALAlg\GDALAlgorithm.h

?????文件???????1589??2014-03-14?19:17??GDAL書籍代碼\第七章代碼\GDALAlg\GDALAlgVersion.rc

?????文件???????1358??2013-06-28?11:49??GDAL書籍代碼\第七章代碼\GDALAlg.sln

????..A..H.?????54272??2013-10-31?20:48??GDAL書籍代碼\第七章代碼\GDALAlg.suo

?????文件??????18045??2013-10-31?20:24??GDAL書籍代碼\第七章代碼\GDALAlgTest\GDALAlgTest.cpp

?????文件???????3866??2013-10-31?20:22??GDAL書籍代碼\第七章代碼\GDALAlgTest\GDALAlgTest.vcproj

?????文件??????91136??2013-07-09?19:05??GDAL書籍代碼\第七章代碼\Release\GDALAlg.dll

?????文件?????111452??2013-07-09?19:05??GDAL書籍代碼\第七章代碼\Release\GDALAlg.lib

?????文件??????84992??2013-07-10?21:36??GDAL書籍代碼\第七章代碼\Release\GDALAlgTest.exe

?????文件???????7017??2013-04-03?14:04??GDAL書籍代碼\第三章代碼\GDALCpp3Test.cpp

?????文件???????7995??2013-04-03?14:05??GDAL書籍代碼\第三章代碼\GDALCs3Test.cs

?????文件???????4646??2013-04-03?15:16??GDAL書籍代碼\第三章代碼\GDALPy3Test.py

?????文件???????4885??2013-05-31?16:52??GDAL書籍代碼\第三章代碼\OGRlayerTest\CreateVector.cpp

?????文件???????5971??2013-05-31?11:56??GDAL書籍代碼\第三章代碼\OGRlayerTest\OGRlayerTest.cpp

?????文件????????889??2013-05-29?09:17??GDAL書籍代碼\第三章代碼\OGRlayerTest\OGRlayerTest.sln

?????文件???????3647??2013-05-31?11:56??GDAL書籍代碼\第三章代碼\OGRlayerTest\OGRlayerTest.vcproj

?????文件???????2200??2013-04-03?20:30??GDAL書籍代碼\第二章代碼\GDALCpp2Test.cpp

?????文件???????3071??2013-04-03?20:31??GDAL書籍代碼\第二章代碼\GDALCs2Test.cs

?????文件???????2721??2013-04-03?20:31??GDAL書籍代碼\第二章代碼\GDALJavaTest.java

?????文件???????1919??2013-04-03?20:31??GDAL書籍代碼\第二章代碼\GDALPyTest.py

?????文件???????2044??2013-04-03?20:29??GDAL書籍代碼\第四章代碼\GDALCpp1Test.cpp

?????文件???????2937??2013-04-03?20:29??GDAL書籍代碼\第四章代碼\GDALCs1Test.cs

?????文件???????1355??2013-04-03?20:27??GDAL書籍代碼\第四章代碼\GDALJava1Test.java

?????文件????????714??2013-02-26?23:05??GDAL書籍代碼\第四章代碼\GDALPy1Test.py

?????文件?????423596??2013-04-22?15:15??GDAL書籍數據\10-Data\cfill.tif

?????文件?????422576??2013-04-22?14:38??GDAL書籍數據\10-Data\class.tif

?????文件?????422576??2013-04-22?14:49??GDAL書籍數據\10-Data\class_sieve.tif

............此處省略137個文件信息

評論

共有 條評論