Използване на помощни програми GDAL и ogr в MAC терминал във връзка с QGIS

Аз съм доста нов в ГИС софтуера с отворен код. Опитвам се да изрежа и прожектирам слоеве данни с помощта на GDAL и ogr в моя MAC терминал. Мога да получа данните за изрязване, когато просто изрязвам, но когато се опитам да комбинирам двете (клип и проект), получавам синтактична грешка. Синтаксисът, който имам, е написан за командния ред и си мисля, че може да се наложи да го променя за терминала. Всяка помощ ще бъде високо оценена! Ако някой има желание да помогне, ще се опитам да дам повече информация, ако е необходимо.

Ето моя ред код:

$for %X in (*.shp) do ogr2ogr -skipfailures -clipsrc
~/Desktop/PhiladelphiaBaseLayers/clipFeature/city_limits.shp
~/Desktop/PhiladelphiaBaseLayers/clipped/%X
~/Desktop/PhiladelphiaBaseLayers/%X

Когато стартирам кода, получавам това съобщение за грешка:

-bash: syntax error near unexpected token `('

person Ash    schedule 13.09.2014    source източник


Отговори (2)


Превключване от windows към mac? ;)

Ако разбирам правилно, вашето намерение е да стартирате ogr2ogr с 3 файлови аргумента

опитайте следващия

for shpfile in *.shp
do
    echo ogr2ogr -skipfailures -clipsrc \
       ~/Desktop/PhiladelphiaBaseLayers/clipFeature/city_limits.shp \
       ~/Desktop/PhiladelphiaBaseLayers/clipped/"$shpfile" \
       ~/Desktop/PhiladelphiaBaseLayers/"$shpfile"
done

когато сте доволни, премахнете echo

person jm666    schedule 13.09.2014
comment
Благодаря ти! Всъщност съм използвал MAC през по-голямата част от живота си. Съвсем наскоро започнах технологична степен (имам образование по биология) и все още свиквам с терминала. :) Така че пуснах новия код и излязох с тази грешка ГРЕШКА: Не можах да извлека заявения слой '/Users/ashleyhaynes/Desktop/PhiladelphiaBaseLayers/atms.shp'! - person Ash; 13.09.2014
comment
Освен това, когато пиша ogrinfo, получавам това $ ogrinfo Използване: ogrinfo [--help-general] [-ro] [-q] [-where restricted_where] [-spat xmin ymin xmax ymax] [-geomfield field] [- fid fid] [-sql оператор] [-dialect sql_dialect] [-al] [-so] [-fields={YES/NO}] [-geom={YES/NO/SUMMARY}][--formats] име на източник_на_данни [ слой [слой ...]] ГРЕШКА: Не е посочен източник на данни. - person Ash; 13.09.2014
comment
Благодаря ти за помощта!! В крайна сметка го накарах да работи!! Така че бих използвал нещо като $shpfile вместо %X? правилно? Благодаря отново!!! - person Ash; 13.09.2014
comment
@AshleyHanes потърсете в Google за основен bash и ще намерите много ръководства... като това успех с bash програмирането. - person jm666; 13.09.2014

Това е, което в крайна сметка работи за мен. Извадете кавичките около извикването на променливата. Всички на един ред.

за f в *.shp; направете ogr2ogr -skipfailures -clipsrc ~/documents/PhiladelphiaBaseLayers/clipFeature/city_limits.shp ~/documents/PhiladelphiaBaseLayers/clipped/$f ~/documents/PhiladelphiaBaseLayers/$f; Свършен

person Tyler Belcher    schedule 23.01.2015