Получение файлов .atlas для использования с OSM Atlas - PullRequest
1 голос
/ 02 июня 2019

Я пытаюсь использовать проект Атласа OSM , чтобы иметь возможность "ходить" по улицам планеты и картам в виде графика, но у меня возникают проблемы с его использованием. Документация кажется немного скудной.

Кажется, мне нужны файлы .atlas, но я не уверен, как их получить / сгенерировать.

Я пытался загрузить файлы из функции экспорта OpenStreetMap . Похоже, дать мне файлы .osm. Затем я попытался преобразовать их в файлы .osm.pbf с osmconvert map.osm -o=map.osm.pbf. Затем я попытался использовать команду CLI из Atlas для преобразования файла .osm.pbf в файл .atlas: atlas pbf2atlas --countryName BGR map.osm.pbf.

Это, похоже, не работает, потому что я тогда пытаюсь загрузить файл .atlas, но он выдает исключение.

import org.openstreetmap.atlas.geography.atlas.Atlas;
import org.openstreetmap.atlas.geography.atlas.AtlasResourceLoader;
import org.openstreetmap.atlas.streaming.resource.File;

public class Main {
    public static void main(String[] args) {
        File atlasFile = new File("BGR_map.osm.atlas");
        Atlas atlas = new AtlasResourceLoader().load(atlasFile);
        atlas.nodes().forEach(System.out::println);
    }
}
Exception in thread "main" org.openstreetmap.atlas.exception.CoreException: MetaData not here!
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlasSerializer.load(PackedAtlasSerializer.java:96)
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlas.load(PackedAtlas.java:190)
    at org.openstreetmap.atlas.geography.atlas.AtlasResourceLoader.load(AtlasResourceLoader.java:73)
    at org.openstreetmap.atlas.geography.atlas.AtlasResourceLoader.load(AtlasResourceLoader.java:96)
    at Main.main(Main.java:9)
Caused by: org.openstreetmap.atlas.exception.CoreException: Unable to read Atlas field metaData
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlasSerializer.deserializeIfNeeded(PackedAtlasSerializer.java:154)
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlas.metaData(PackedAtlas.java:511)
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlasSerializer.load(PackedAtlasSerializer.java:92)
    ... 4 more
Caused by: org.openstreetmap.atlas.exception.CoreException: Could not load Field metaData from BGR_map.osm.atlas
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlasSerializer.deserializeResource(PackedAtlasSerializer.java:258)
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlasSerializer.deserializeSingleField(PackedAtlasSerializer.java:275)
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlasSerializer.load(PackedAtlasSerializer.java:344)
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlasSerializer.deserializeIfNeeded(PackedAtlasSerializer.java:149)
    ... 6 more
Caused by: java.io.StreamCorruptedException: invalid stream header: 08811E10
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:866)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358)
    at org.openstreetmap.atlas.geography.atlas.packed.PackedAtlasSerializer.deserializeResource(PackedAtlasSerializer.java:247)
    ... 9 more

Я нашел несколько других уже сгенерированных файлов .atlas для тестирования в репозитории Atlas, и они нормально загружаются с этим кодом, поэтому мне кажется, что я не могу сгенерировать файлы .atlas должным образом. Как я могу это сделать? Я хочу открыть карту OSM и получить ее регион в виде файла .atlas, чтобы я мог изучить ее с помощью кода.

...