Mam folder zawierający dużą liczbę plików w formacie GeoTIFF.
Muszę wygenerować pliki PRJ i TFW dla każdego z tych obrazów.
Czy jest jakiś sposób, aby to zrobić?
geotiff-tiff
Joe
źródło
źródło
Odpowiedzi:
Najszybszym sposobem na wygenerowanie TFW jest napisanie skryptu w Pythonie lub Javie przy użyciu GDAL, który byłby garstką linii kodu.
Tworzenie plików w starym stylu (wcześniejszych niż ArcGis 9) .prj nie jest obsługiwane GDAL , tylko do odczytu (patrz tutaj ). Pliki w nowym stylu (oparte na WKT) są obsługiwane do tworzenia, ale nie ma gwarancji, że obejmują wszystkie przypadki. Ale w obu przypadkach, w najlepszym przypadku działalności związanej z przemieszczaniem, napisałem skrypt w języku Python, który robi to, czego potrzebujesz. Nie ma sprawdzania błędów ani nic, ale działa dla katalogu tiffów, które miałem pod ręką, YMMV.
Nazwij to z wiersza poleceń w następujący sposób:
Drugim parametrem może być prj, aby wygenerować pliki prj w stylu WKT, lub cokolwiek innego, aby wygenerować tylko .TFW.
Jeśli nie możesz używać skryptów Python z jakiegokolwiek powodu, możesz użyć:
Ale to również skopiuje dane obrazu, więc będziesz musiał usunąć oryginał. I oczywiście nie wygeneruje plików .prj o żadnym smaku. Ale zakładając, że wszystkie tiffy są w tej samej projekcji, możesz po prostu ręcznie stworzyć plik .prj i zduplikować go dla wszystkich obrazów źródłowych.
źródło
generate_tfw
nie działa poprawnie na obróconych rastrach, które na szczęście są mniej powszechne. Można to naprawić odrobiną mnożenia macierzy.Narzędzie listgeo dostarczane z libgeotiff to ładne narzędzie wiersza polecenia, które może wyodrębnić plik TWF z plików GeoTIFF.
Na przykład mam katalog GeoTIFF i mam zainstalowaną bibliotekę libgeotiff jako część OSGeo4w. Możesz uruchomić powłokę OSGeo4w i zrobić to:
Byłoby miło, gdyby to samo narzędzie mogło również wyodrębnić plik PRJ.
źródło
Niezupełnie - jeśli znasz rzut plików, możesz sprawdzić zawartość pliku prj na http://spatialreference.org, a następnie użyć skryptu powłoki, aby skopiować szablon do każdego pliku .prj dla każdego obrazu.
Georeferencje będą musiały być wykonywane dla poszczególnych obrazów, ponieważ plik .tfw będzie inny dla każdego obrazu (chyba że wszystkie są w tym samym miejscu). http://warper.geothings.net/ może być dobrym rozwiązaniem, jeśli nie masz dostępu do GIS na pulpicie, aby to zrobić.
źródło
Korzystając z Geotools w Javie, możesz użyć tego kodu:
Jeśli chcesz uzyskać projekcję, możesz użyć tego kodu:
Po prostu napisz treść
projectionString
do pliku projekcji.źródło
Jeśli ktoś chce dalej edytować tiff w aplikacji do retuszowania zdjęć i zachowuje swoją geolokalizację, eksport warstwy rastrowej z tworzeniem tfw i włączonym renderowaniem obrazu jest najprostszym sposobem, IMO. W przypadku nieco innych opcji istnieje menu Raster / Conversion / Translate.
źródło