Показать ShapeFiles с WhirlyGlobe - PullRequest
       11

Показать ShapeFiles с WhirlyGlobe

0 голосов
/ 26 февраля 2019

Может кто-нибудь сказать мне, как отображать локальные шейп-файлы в Android с помощью WhirlyGlobe SDK?

Я использую readFromFile, но всегда получаю false.http://mousebird.github.io/WhirlyGlobe/reference/android_2_5/index.html

Мой код: строка - это путь к папке с шейп-файлами

@Override
protected void onPostExecute(String string) {

    VectorInfo vectorInfo = new VectorInfo();
    vectorInfo.setColor(Color.RED);
    vectorInfo.setLineWidth(4.f);

    VectorObject object = new VectorObject();

    File fileShape = new File(string + "/poly.shp");

    String shapefile = "";
    if (fileShape .exists()){
        shapefile = fileShape.getAbsolutePath();
    }



    if(object.readFromFile(shapefile)){
        controller.addVector(object,vectorInfo,MaplyBaseController.ThreadMode.ThreadAny);
    }

    //if (object1.fromGeoJSON(shapefile)) {
    //   controller.addVector(object, vectorInfo, MaplyBaseController.ThreadMode.ThreadAny);
    //}
}

Пример с GeoJSON работает нормально.http://mousebird.github.io/WhirlyGlobe/tutorial/android/vector-data.html

1 Ответ

0 голосов
/ 09 марта 2019

Метод readFromFile, который вы пытаетесь вызвать, должен использоваться при чтении двоичного файла, ранее записанного с помощью метода writeToFile, в качестве способа кэширования данных, а не для чтения шейп-файлов, хотя шейп-файлы являются двоичнымифайлы.

Поскольку пример GeoJSON работает нормально, а метода fromShapeFile нет, ваша единственная альтернатива - проанализировать шейп-файл и преобразовать его в GeoJSON, чтобы вы могли прочитать его с помощью метода fromGeoJSON.

Android-библиотека для чтения или анализа шейп-файла

...