Mam katalog z kilkoma plikami kształtów.
Jak przekonwertować wszystkie te pliki kształtów na MapInfo za pomocą ogr2ogr?
Wiem, jak mogę przekonwertować jeden plik. I mogę zrobić skrypt wsadowy, pisząc wiersz dla każdego pliku. Ale czy nie ma łatwiejszego sposobu konwersji wszystkich plików w katalogu (i podkatalogu).
Odpowiedzi:
W systemie Windows w przypadku bieżących i podkatalogów pod bieżącym wypróbuj to polecenie:
Aby krótko opisać sztuczek, co się tu dzieje ,
%~dpnf.tab
wykorzystuje zmienną % f , z którym dodaje się d rzeka list, str nazwę ATH (czyli folderu lub katalogu) i wyodrębnia plik n ame (bez.shp
rozszerzenia) . Na koniec.tab
jest dodawany natychmiast po modyfikatorach zmiennych złożonych dla nowego rozszerzenia.Więc jeśli jesteś w katalogu
C:\MyData
i masz dane w tym katalogu, podkatalogachC:\MyData\Region1
iC:\MyData\Region1\City1
, dowolny.shp
plik Shapefile (z rozszerzeniem) zostanie przetworzony, a podobny plik o nazwie.tab
zostanie utworzony w tym samym katalogu.źródło
%f
do%%f
. Szczegółowe informacje można znaleźć na stronie ss64.com/nt/for.html .W przypadku Uniksa Bash:
Jeśli pracujesz w systemie operacyjnym opartym na * nix (tj. Linux lub OS X), istnieje kilka skryptów powłoki wsadowej, które Clhenrik opracował tutaj (na których opiera się powyższe).
Pracuję nad rozwidleniem, które sprawia, że niektóre skrypty są nieco bardziej ogólne i zawierają nieco więcej opisu użytkowania.
źródło
Jak powiedział Alex Markov , najlepszym sposobem byłoby użycie OGR .
Będziesz musiał zrobić skrypt, ale bardzo prosty. Zasadniczo, jeśli używasz systemu Windows, wszystko, co musisz zrobić, to uruchomić następujący kod w wierszu poleceń (wewnątrz żądanego folderu):
Sprawdź tę stronę, wszystko wyjaśniono tutaj:
http://www.processamentodigital.com.br/?p=2511
źródło
z pythonem:
możesz przejść
os.getcwd()
do ścieżki, w której znajdują się twoje pliki ...Mam nadzieję, że Ci to pomoże
źródło
for a in *.shp:
jest błędem składni; myśliszfrom glob import glob; for a in glob('*.shp'):
Nie potrzebujesz pętli, możesz po prostu nazwać katalog źródłowy i docelowy, a ogr2ogr przekonwertuje dowolne pliki w katalogu źródłowym. Zobacz tutaj: Konwersja TAB na MIF / MIF na TAB
źródło
wygląda na to, że potrzebujesz pętli for - zobacz http://www.robvanderwoude.com/for.php, aby uzyskać wyjaśnienie ich działania.
źródło
Universal Translator w Mapinfo może obsługiwać wiele plików. Przejdź do folderu docelowego, wybierz wszystkie pliki kształtów, zdefiniuj CRS dla danych wejściowych i wyjściowych. Powinno być zrobione.
źródło
Jest to udoskonalenie powyższej odpowiedzi Aragona. Będzie uruchamiał tylko ogr2ogr na plikach .TAB lub .tab i zignoruje inne typy plików w folderze.
źródło