Przekształcanie wielkich geotiffów w tilepiramid

9

Próbuję przekonwertować skompresowaną geotiff 20 GB LZW na tilepyramid przy użyciu gdal2tiles. Niestety, gdal2tiles nie jest w stanie sobie z tym poradzić, po uruchomieniu go przez 10 godzin wciąż nie osiągnął pierwszej „kropki”. Próbowałem tego z mniejszym (1 GB) plikiem i działało dobrze. Moje pytanie brzmi: czy istnieje inne oprogramowanie, które pozwala mi to zrobić (komercyjne lub open source)? Można tworzyć kafelki z GlobalMapper, ale nie mogę załadować pliku 20 GB do pamięci.

AndreJ
źródło

Odpowiedzi:

4

Jeśli korzystasz z komputera z procesorem wielordzeniowym, przydatne może być użycie równoległego GDAL2Tiles (ppgdal2tiles). Na tego typu komputerach ppgdal2tiles powinien działać szybciej niż wersja „jednordzeniowa”. Cytując stronę internetową ppgdal2tiles:

„Standardowa wersja GDAL2Tiles używa jednocześnie tylko jednego rdzenia przetwarzającego.

Jeśli masz komputer z większą liczbą procesorów (lub jednym z procesorów Mutli-Core firmy Intel lub AMD), możesz rozpocząć kilka procesów, aby wykorzystać pełną moc obliczeniową komputera, aby jak najszybciej zakończyć renderowanie kafelków. ”

dariapra
źródło
I z pewnością możesz poprosić Petra o pomoc w rozwiązaniu tego problemu i wesprzeć projekt, jeśli tak jest. -> maptiler.com
ponownie
Podany link jest martwy.
mrgloom
4

Miałem ten sam problem zaledwie kilka tygodni temu. Raz skorzystasz z opcji

--config GDAL_CACHEMAX 2047

(na razie musi pozostać poniżej 2048!) Po drugie, możesz skopiować skrypt gdal2tiles.py w inne miejsce i zmienić pętlę for, która iteruje po kafelkach, aby liczyć wstecz. w mojej wersji gdal2tiles, która jest w linii 1174:

for ty in range(tmaxy, tminy-1, -1):

zmień na:

for ty in range(tminy, tmaxy+1):

następnie użyj obu skryptów z tymi samymi argumentami w tym samym czasie i dodaj -e (tzn. kontynuuj, nie usuwaj już istniejących plików) Uwaga, musisz wyjść z jednego ze skryptów, gdy zbliżają się one do 50% (podstawy kafelki), albo dostaniesz połamane kafelki. Jeśli zapomnisz, po prostu wyszukaj wszystkie pliki o rozmiarze 0, usuń je i zacznij od nowa - przełącznikiem -e;)

mam nadzieję, że pomogło


źródło
Pytanie: dlaczego GDAL_CACHEMAX musi pozostać poniżej 2047? Korzystam z niego szczęśliwie z 8 GB lub więcej dla gdalwarp i tym podobnych ...
markusN
1

Wypróbuj drugą łatkę z tego wydania dla równoległej wersji gdal2tiles.py przy użyciu modułu „multiprocessing”: http://trac.osgeo.org/gdal/ticket/4379

Mam przyspieszenie 5,5 x na 6 rdzeniach procesora.

Stefan Talpalaru
źródło
1

Mam nadzieję, że FME będzie w stanie to zrobić. Z pewnością potrafi układać kafelki - i jestem pewien, że poradzi sobie z dużymi rozmiarami plików. Piramida rastrowa jest dość prosta, patrz przykład Piramida rastrowa na stronach próbek i wersji demonstracyjnych.

Możesz otrzymać kopię próbną, aby wypróbować ją najpierw

Mark Ireland, ewangelista produktu, bezpieczne oprogramowanie

Mark Ireland
źródło
1
to jest reklama z pogranicza. Aby zepchnąć go z ogrodzenia na solidną odpowiedź, proszę streścić, w jaki sposób można użyć FME do produkcji kafelków i link do dokumentacji, która dotyczy bezpośrednio problemu operacyjnego, a nie tylko na pierwszej stronie. Dzięki.
matt wilkie
Przepraszam. Nie miało być. Piramida rastrowa jest dość prosta ( fmepedia.safe.com/articles/Samples_and_Demos/… ). Byłem trochę niejasny, ponieważ pytanie dotyczyło głównie wydajności i nie chciałem się angażować, gdy nie próbowałem tego osobiście. Właśnie dlatego zaprosiłem OP do wypróbowania go bezpośrednio.
Mark Ireland