Страница 1 из 1
создание GDAL geolocation array руками
Добавлено: 27 фев 2016, 16:14
Максим Дубинин
Кто-нибудь сталкивался с созданием Geolocation array руками из регулярной кучи GCPs? Чтобы потом можно было сделать:
Обычно geoloc идет с данными, но в моём случае нет.
Предупреждая вопрос, да, можно прописать GCP в растр, но -tps потом не использовать так как точек для него слишком много, а полиномы плохо подходят для таких преобразований, проверено.
Re: создание GDAL geolocation array руками
Добавлено: 27 фев 2016, 16:48
gamm
Максим Дубинин писал(а):Предупреждая вопрос, да, можно прописать GCP в растр, но -tps потом не использовать так как точек для него слишком много, а полиномы плохо подходят для таких преобразований, проверено.
мы делали подобное, используя MBA (R/SAGA, у нас - самопал), для которых миллионы точек на проблема. Нужно только задать начальную сетку погуще, если точки достаточно равномерно распределены по территории. Трансформировали растры высокого разрешения.
Re: создание GDAL geolocation array руками
Добавлено: 27 фев 2016, 16:49
alexandr cherepanov
Может сделать растры для X,Y и засунуть их в VRT в блок GEOLOCATION?
Код: Выделить всё
<Metadata/>
<Metadata domain="GEOLOCATION">
<MDI key="X_DATASET">C:\X.vrt/MDI>
<MDI key="X_BAND">1</MDI>
<MDI key="Y_DATASET">C:\Y.vrt</MDI>
<MDI key="Y_BAND">1</MDI>
<MDI key="PIXEL_OFFSET">0</MDI>
<MDI key="PIXEL_STEP">8</MDI>
<MDI key="LINE_OFFSET">0</MDI>
<MDI key="LINE_STEP">8</MDI>
</Metadata>
Re: создание GDAL geolocation array руками
Добавлено: 27 фев 2016, 18:35
Максим Дубинин
alexandr cherepanov писал(а):сделать растры для X,Y и засунуть их в VRT в блок GEOLOCATION
да, это я читал, пока не придумал как растры такие создавать, через ASCII что ли
Re: создание GDAL geolocation array руками
Добавлено: 27 фев 2016, 18:57
Александр Мурый
Максим Дубинин писал(а):
да, это я читал, пока не придумал как растры такие создавать, через ASCII что ли
Было бы интересно увидеть конкретный пример данных. Может быть, не только через ASCII можно, хотя это самый логичный способ.
Re: создание GDAL geolocation array руками
Добавлено: 27 фев 2016, 19:13
Максим Дубинин
разобрался, схема простая, на входе просто изображение и NxM точек GCP, так как использовать -tps или -order для привязки изображения в этом конкретном случае - отстойный подход, используем -geoloc. Делаем так:
1. извлекаем lat и lon компоненту в отдельные lat.asc и lon.asc, простой строкой
2. добавляем заголовок, главное - ncols,nrows, остальные значения могут быть от балды
3. формируем VRT для исходного растра (делать VRT для lat,lon не надо, напрямую их пользуем)
Код: Выделить всё
<VRTDataset rasterXSize="1568" rasterYSize="4280">
<metadata domain="GEOLOCATION">
<mdi key="X_DATASET">c:\temp\lon.asc</mdi>
<mdi key="X_BAND">1</mdi>
<mdi key="Y_DATASET">c:\temp\lat.asc</mdi>
<mdi key="Y_BAND">1</mdi>
<mdi key="PIXEL_OFFSET">0</mdi>
<mdi key="LINE_OFFSET">0</mdi>
<mdi key="PIXEL_STEP">10</mdi>
<mdi key="LINE_STEP">10</mdi>
</metadata>
<VRTRasterBand dataType="Byte" band="1">
4. gdalwarp -geoloc -co COMPRESS=NONE -dstalpha test.vrt result2.tif
Вуаля.
