Деформация GDAL в C#

До сих пор я не работал с библиотеками GDAL. Пожалуйста, извините меня, если этот вопрос не имеет никакого смысла.

Я пытаюсь реализовать деформацию изображений из EPSG: 32611 в EPSG: 3857. Мне удалось успешно деформировать, используя следующие команды с помощью командной строки. Я хочу реализовать тот же набор команд в своем проекте C#. Я не знаю, с чего начать. Мне не удалось найти библиотеку-оболочку GDAL для C#. Любая помощь в этом будет оценена по достоинству.

Это команды, которые я запускаю в своей командной строке. Raw.png — это исходное изображение.

gdal_translate -of Gtiff -co "tfw=yes" -a_ullr 273996.1204 5070668.029 274682.6204 5069981.529 -a_srs "EPSG:3857"  "C:/Temp/Raw.png" "C:/Temp/GEOTIFF.gtiff"

gdalwarp -s_srs EPSG:32611 -t_srs EPSG:3857 "C:/Temp/GEOTIFF.gtiff" "C:/Temp/WarpedGTIFF.tiff"

gdal_translate -of PNG "C:/Temp/WarpedGTIFF.tiff" "C:/Temp/WarpedPNG.png"

Спасибо!!!


person Programmer2.0    schedule 25.11.2014    source источник
comment
вы хотели бы посмотреть, как передавать/анализировать аргументы командной строки в С#, вы также можете посмотреть метод Process.Start и параметры передачи также   -  person MethodMan    schedule 25.11.2014


Ответы (1)


Приведенный ниже код является исправлением!

 System.Diagnostics.Process process = new System.Diagnostics.Process();
 System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
 startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
 startInfo.FileName = "cmd.exe";
 startInfo.Arguments = "gdal_translate -of Gtiff -co "tfw=yes" -a_ullr 273996.1204 5070668.029 274682.6204 5069981.529 -a_srs "EPSG:3857"  "C:/Temp/Raw.png" "C:/Temp/GEOTIFF.gtiff"";
 process.StartInfo = startInfo;
 process.Start();

 process.WaitForExit();
 startInfo.Arguments = "gdalwarp -s_srs EPSG:32611 -t_srs EPSG:3857 "C:/Temp/GEOTIFF.gtiff" "C:/Temp/WarpedGTIFF.tiff"";
 process.StartInfo = startInfo;
 process.Start();

 process.WaitForExit();
 startInfo.Arguments = "gdal_translate -of PNG "C:/Temp/WarpedGTIFF.tiff" "C:/Temp/WarpedPNG.png"";
 process.StartInfo = startInfo;
 process.Start();

Спасибо DJ KRAZE!!!

person Programmer2.0    schedule 01.12.2014