Реализация на C # и GDAL - набор данных не возвращает значение - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь автоматизировать простой процесс geotiff для KMZ, используя GDAL и C #

Код, который я написал, немного глючит, и у меня много проблем с разработкой, как использовать API. Я надеюсь, что это простое исправление для более продвинутых разработчиков.

Мой код выглядит следующим образом:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OSGeo.GDAL;

namespace TestingTIFFtoKMZ
{
    class Program
    {
        static void Main(string[] args)
        {


            string outputName = Environment.CurrentDirectory + @"\BR01899_Mackenzie_09_EXPORT";
            string vrtfile = outputName + @"\tempMosaic.vrt";
            string filenameKMZ = outputName + @"\" + Environment.CurrentDirectory + ".kmz";
            string[] tiffFiles = Directory.GetFiles(outputName, "*.tif");

            var vrtOptions = new GDALBuildVRTOptions(new[] { "-overwrite" });

            GDALTranslateOptions transOptions = new GDALTranslateOptions(new[] { "-of", "KMLSUPEROVERLAY", "-co", "format=png" });

            Dataset vrtDataset = Gdal.wrapper_GDALBuildVRT_names(vrtfile, tiffFiles, vrtOptions, null, null);
            // vrtDataset.Dispose();

            Gdal.wrapper_GDALTranslate(filenameKMZ, vrtDataset, transOptions, null, null);


        }
    }
}

Я получаю нулевое возвращаемое значение для переменной vrtDataset и (я думаю)В результате при вызове метода Gdal.wrapperGDALTranslate я получаю пустую ссылку.

Любая помощь приветствуется. Благодаря.

1 Ответ

0 голосов
/ 15 ноября 2019

Необходимо,

Gdal.AllRegister ();

и абсолютный путь к создаваемому файлу VRT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...