Giter VIP home page Giter VIP logo

ngageoint / geopackage-mapcache-android Goto Github PK

View Code? Open in Web Editor NEW
39.0 19.0 15.0 407.21 MB

GeoPackage MapCache Android App

Home Page: https://ngageoint.github.io/geopackage-mapcache-android

License: MIT License

Java 32.72% Python 66.86% Kotlin 0.42%
geopackage-libraries tiles geopackage-mapcache geopackage-android mapcache-android nga android android-app android-application geopackage geopackage-functionality geopackage-tiles

geopackage-mapcache-android's Introduction

GeoPackage MapCache Android

MapCache Android

The GeoPackage Libraries were developed at the National Geospatial-Intelligence Agency (NGA) in collaboration with BIT Systems. The government has "unlimited rights" and is releasing this software to increase the impact of government investments by providing developers with the opportunity to take things in new directions. The software use, modification, and distribution rights are stipulated within the MIT license.

Pull Requests

If you'd like to contribute to this project, please make a pull request. We'll review the pull request and discuss the changes. All pull request contributions to this project will be released under the MIT license.

Software source code previously released under an open source license and then modified by NGA staff is considered a "joint work" (see 17 USC § 101); it is partially copyrighted, partially public domain, and as a whole is protected by the copyrights of the non-government authors and must be released according to the terms of the original open source license.

Android App

About

GeoPackage MapCache is a GeoPackage Library app for Android that utilizes and demonstrates the functionality in GeoPackage Android and GeoPackage Android Map. The GeoPackage SDKs are Android library implementations of the Open Geospatial Consortium GeoPackage spec. The app and SDK are listed as OGC GeoPackage Implementations by the National Geospatial-Intelligence Agency.

The MapCache app provides read and write access to GeoPackage files, including features and tiles. Features are visualized and editable on the map. Tiles are visualized on the map and can be loaded from a tile provider or WMS url.

Screenshots

GeoPackage with a tile layer

List of GeoPackages with 2 enabled

A GeoPackage with tiles and features enabled on the map

Downloading tiles for a new layer

A Tile layer detail view

Build

Build

Build this repository using Android Studio and/or Gradle. Run the "assembleRelease" task on the geopackage-mapcache-android Gradle script.

Map Key

When building this project locally, a Google API key is required to see map tiles:

On the Google Cloud Platform Console, configure "Maps SDK for Android" credentials (replacing the example fingerprints).

Package name SHA-1 certificate fingerprint
mil.nga.mapcache 12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:AA:BB:CC:DD
mil.nga.mapcache.test 12:34:56:78:90:AB:CD:EF:12:34:56:78:90:AB:CD:EF:AA:BB:CC:DD

In your gradle.properties, add your API Key (replacing the example keys)

RELEASE_MAPS_MAPCACHE_API_KEY=AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
DEBUG_MAPS_API_KEY=AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0

Legacy

The original MapCache app is minimally maintained on the legacy branch.

Download the latest Legacy APK

geopackage-mapcache-android's People

Contributors

bcleveland1022 avatar bosborn avatar jclark118 avatar restjohn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

geopackage-mapcache-android's Issues

how to create New GeoPackage into specific folder ?

in current situation in application when i create new GeoPackage that is default store in
path :- /data/user/0/mil.nga.mapcache.test/databases/(createdPackageName.gpkg)

but i want to create this in my specific path like
path :- /storage/emulated/0/MyAppName/tiles/(createdPackageName.gpkg)

how can i do this ?

Exception error "Failed to create projection for authority: EPSG, code: 3857" in the Android logcat for Pseudo Mercator projection

Please fill out as much known and relevant information as possible.

Version Information:

  • GeoPackage MapCache Android Version: 2.1.1
  • GeoPackage MapCache Android Source: (e.g. Release APK, Source Code Build): Google Play Store
  • Device or Emulator: Samsung Note 5 (SM-N9208)
  • Android Version Number: 7.0
  • Google Play services Version: 22.12.55 (040400-439688370)
  • Android Studio Version (if applicable):
  • Platform & OS: Android 7.0
  • Other Relevant Libraries:

Expected Results:

  • What did you expect to happen?
    No exception in the logcat when loading a raster Geopackage file with Pseudo Mercator projection

Observed Results:

  • What happened instead?
    Despite the fact that the map is displayed when it is enabled after it is loaded, an error appears in the Android logcat twice while loading it. I'm curious as to why it displays such an error.

  • How often does this occur?
    It occurs whenever a new raster Geopackage file with Pseudo Mercator projection is attempted to be loaded into Mapcache. It also happens with previously loaded maps (with Pseudo Mercator projection) when the Mapcache is launched from the beginning.

Output:

  • Any logs, errors, or output messages?
Logcat
2022-04-11 09:24:08.348 19309-19942/? W/ProjectionFactory: Failed to create projection for authority: EPSG, code: 3857, definition: 
                    PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984"
                    ,SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]]
                    ,AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG",
                    "8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]]
                    ,AUTHORITY["EPSG","9122"]]AUTHORITY["EPSG","4326"]],PROJECTION[
                    "Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER[
                    "scale_factor",1],PARAMETER["false_easting",0],PARAMETER[
                    "false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS[
                    "X",EAST],AXIS["Y",NORTH]
                
    mil.nga.crs.CRSException: Unexpected end of text, null token
        at mil.nga.crs.wkt.TextReader.readExpectedToken(TextReader.java:318)
        at mil.nga.crs.wkt.CRSReader.readRightDelimiter(CRSReader.java:1159)
        at mil.nga.crs.wkt.CRSReader.readProjectedCompat(CRSReader.java:4097)
        at mil.nga.crs.wkt.CRSReader.readProjectedCompat(CRSReader.java:3996)
        at mil.nga.crs.wkt.CRSReader.read(CRSReader.java:812)
        at mil.nga.crs.wkt.CRSReader.read(CRSReader.java:117)
        at mil.nga.crs.wkt.CRSReader.read(CRSReader.java:99)
        at mil.nga.proj.ProjectionFactory.fromDefinition(ProjectionFactory.java:988)
        at mil.nga.proj.ProjectionFactory.getProjection(ProjectionFactory.java:650)
        at mil.nga.proj.ProjectionFactory.getProjection(ProjectionFactory.java:582)
        at mil.nga.proj.ProjectionFactory.getProjection(ProjectionFactory.java:536)
        at mil.nga.proj.ProjectionFactory.getProjection(ProjectionFactory.java:454)
        at mil.nga.geopackage.srs.SpatialReferenceSystem.getProjection(SpatialReferenceSystem.java:355)
        at mil.nga.geopackage.tiles.matrixset.TileMatrixSet.getProjection(TileMatrixSet.java:268)
        at mil.nga.geopackage.tiles.user.TileDao.<init>(TileDao.java:92)
        at mil.nga.geopackage.GeoPackageImpl.getTileDao(GeoPackageImpl.java:262)
        at mil.nga.geopackage.GeoPackageImpl.getTileDao(GeoPackageImpl.java:336)
        at mil.nga.mapcache.repository.GeoPackageRepository.regenerateTableList(GeoPackageRepository.java:457)
        at mil.nga.mapcache.viewmodel.GeoPackageViewModel.regenerateGeoPackageTableList(GeoPackageViewModel.java:458)
        at mil.nga.mapcache.viewmodel.GeoPackageViewModel.importGeoPackage(GeoPackageViewModel.java:630)
        at mil.nga.mapcache.load.ImportTask$ImportGeoTask.doInBackground(ImportTask.java:456)
        at mil.nga.mapcache.load.ImportTask$ImportGeoTask.doInBackground(ImportTask.java:321)
        at android.os.AsyncTask$2.call(AsyncTask.java:304)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
        at java.lang.Thread.run(Thread.java:762)
2022-04-11 09:24:08.352 19309-19942/? W/ProjectionFactory: Failed to create projection for authority: EPSG, code: 3857, definition: 
                    PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984"
                    ,SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]]
                    ,AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG",
                    "8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]]
                    ,AUTHORITY["EPSG","9122"]]AUTHORITY["EPSG","4326"]],PROJECTION[
                    "Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER[
                    "scale_factor",1],PARAMETER["false_easting",0],PARAMETER[
                    "false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS[
                    "X",EAST],AXIS["Y",NORTH]
                
    mil.nga.crs.CRSException: Unexpected end of text, null token
        at mil.nga.crs.wkt.TextReader.readExpectedToken(TextReader.java:318)
        at mil.nga.crs.wkt.CRSReader.readRightDelimiter(CRSReader.java:1159)
        at mil.nga.crs.wkt.CRSReader.readProjectedCompat(CRSReader.java:4097)
        at mil.nga.crs.wkt.CRSReader.readProjectedCompat(CRSReader.java:3996)
        at mil.nga.crs.wkt.CRSReader.read(CRSReader.java:812)
        at mil.nga.crs.wkt.CRSReader.read(CRSReader.java:117)
        at mil.nga.crs.wkt.CRSReader.read(CRSReader.java:99)
        at mil.nga.proj.ProjectionFactory.fromDefinitionParams(ProjectionFactory.java:1030)
        at mil.nga.proj.ProjectionFactory.getProjection(ProjectionFactory.java:654)
        at mil.nga.proj.ProjectionFactory.getProjection(ProjectionFactory.java:582)
        at mil.nga.proj.ProjectionFactory.getProjection(ProjectionFactory.java:536)
        at mil.nga.proj.ProjectionFactory.getProjection(ProjectionFactory.java:454)
        at mil.nga.geopackage.srs.SpatialReferenceSystem.getProjection(SpatialReferenceSystem.java:355)
        at mil.nga.geopackage.tiles.matrixset.TileMatrixSet.getProjection(TileMatrixSet.java:268)
        at mil.nga.geopackage.tiles.user.TileDao.<init>(TileDao.java:92)
        at mil.nga.geopackage.GeoPackageImpl.getTileDao(GeoPackageImpl.java:262)
        at mil.nga.geopackage.GeoPackageImpl.getTileDao(GeoPackageImpl.java:336)
        at mil.nga.mapcache.repository.GeoPackageRepository.regenerateTableList(GeoPackageRepository.java:457)
        at mil.nga.mapcache.viewmodel.GeoPackageViewModel.regenerateGeoPackageTableList(GeoPackageViewModel.java:458)
        at mil.nga.mapcache.viewmodel.GeoPackageViewModel.importGeoPackage(GeoPackageViewModel.java:630)
        at mil.nga.mapcache.load.ImportTask$ImportGeoTask.doInBackground(ImportTask.java:456)
        at mil.nga.mapcache.load.ImportTask$ImportGeoTask.doInBackground(ImportTask.java:321)
        at android.os.AsyncTask$2.call(AsyncTask.java:304)
        at java.util.concurrent.FutureTask.run(FutureTask.java:237)
        at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
        at java.lang.Thread.run(Thread.java:762)

Steps to Reproduce:

  1. Load any raster Geopackage file with Pseudo Mercator projection

Test Files:

  • Links to any files needed for testing?
    Due to non-disclosure with the government entity, I am unable to release my raster Geopackage file that uses Pseudo Mercator projection. However, I can offer a few necessary tables using the SQLite DB Browser:
DB Browser for SQLite tables
  • gpkg_contents

image

  • gpkg_spatial_ref_sys

image

Additional Information:

  • Any additional configuration, data, or information that might help with the issue?
    None

No raster tiles drawn from the Geopackage raster file

Please fill out as much known and relevant information as possible.

Version Information:

  • GeoPackage MapCache Android Version: 2.1.0
  • GeoPackage MapCache Android Source: (e.g. Release APK, Source Code Build): Google Play Store
  • Device or Emulator: Samsung Note 5 (SM-N9208)
  • Android Version Number: 7.0
  • Google Play services Version: 21.48.13 (040400-413462841)
  • Android Studio Version (if applicable):
  • Platform & OS: Android 7.0
  • Other Relevant Libraries:

Expected Results:

  • What did you expect to happen? Raster tiles from the Geopackage file are drawn in MapCache as the one shown in QGIS

image

Observed Results:

  • What happened instead? Tiles don't appear
    image

  • How often does this occur? frequently

Output:

  • Any logs, errors, or output messages?

Steps to Reproduce:

  1. Load example3.gpkg

Test Files:

  • Links to any files needed for testing?

example3.zip

image

image

image

image

image

image

Results of SQL queries at each zoom level:

SELECT COUNT(tile_data) from example3 where zoom_level = 0  returns COUNT(tile_data) = 0
SELECT COUNT(tile_data) from example3 where zoom_level = 1  returns COUNT(tile_data) = 0
SELECT COUNT(tile_data) from example3 where zoom_level = 2 returns COUNT(tile_data) = 0
SELECT COUNT(tile_data) from example3 where zoom_level = 3 returns COUNT(tile_data) = 0
SELECT COUNT(tile_data) from example3 where zoom_level = 4 returns COUNT(tile_data) = 0
SELECT COUNT(tile_data) from example3 where zoom_level = 5 returns COUNT(tile_data) = 272

Additional Information:

  • Any additional configuration, data, or information that might help with the issue? None

MapCache crashes

Version Information:

  • GeoPackage MapCache Android Version: 2.1.0
  • GeoPackage MapCache Android Source: Source Code Build
  • Device or Emulator: Nexus 7
  • Android Version Number: 6.0.1
  • Google Play services Version:
  • Android Studio Version (if applicable): Arctic Fox 2020.3.1 Patch 3
  • Platform & OS: Mac Big Sur
  • Other Relevant Libraries:

Expected Results:

  • Feature information loaded from GeoPackage upon tab on the display

Observed Results:

  • MapCache crashed
  • On each retry

Output:


E/AndroidRuntime: FATAL EXCEPTION: main
    Process: mil.nga.mapcache.test, PID: 26768
    java.lang.RuntimeException: Unable to start activity ComponentInfo{mil.nga.mapcache.test/mil.nga.mapcache.view.map.feature.FeatureViewActivity}: java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/user/0/mil.nga.mapcache.test/databases/example
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
        at android.app.ActivityThread.-wrap11(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5417)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
     Caused by: java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase: /data/user/0/mil.nga.mapcache.test/databases/example
        at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:55)
        at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1312)
        at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1255)
        at com.j256.ormlite.android.compat.JellyBeanApiCompatibility.rawQuery(JellyBeanApiCompatibility.java:21)
        at com.j256.ormlite.android.AndroidCompiledStatement.getCursor(AndroidCompiledStatement.java:198)
        at com.j256.ormlite.android.AndroidCompiledStatement.runQuery(AndroidCompiledStatement.java:72)
        at com.j256.ormlite.stmt.SelectIterator.<init>(SelectIterator.java:56)
        at com.j256.ormlite.stmt.StatementExecutor.buildIterator(StatementExecutor.java:254)
        at com.j256.ormlite.stmt.StatementExecutor.query(StatementExecutor.java:203)
        at com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:281)
        at com.j256.ormlite.stmt.QueryBuilder.query(QueryBuilder.java:384)
        at com.j256.ormlite.dao.BaseDaoImpl.queryForFieldValues(BaseDaoImpl.java:1171)
        at com.j256.ormlite.dao.BaseDaoImpl.queryForFieldValues(BaseDaoImpl.java:296)
        at mil.nga.geopackage.extension.schema.columns.DataColumnsDao.queryForId(DataColumnsDao.java:77)
        at mil.nga.geopackage.extension.schema.columns.DataColumnsDao.getDataColumn(DataColumnsDao.java:232)
        at mil.nga.mapcache.view.map.feature.FeatureViewActivity.setFieldData(FeatureViewActivity.java:303)
        at mil.nga.mapcache.view.map.feature.FeatureViewActivity.onCreate(FeatureViewActivity.java:172)
        at android.app.Activity.performCreate(Activity.java:6251)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
        at android.app.ActivityThread.-wrap11(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:148) 
        at android.app.ActivityThread.main(ActivityThread.java:5417) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
I/Process: Sending signal. PID: 26768 SIG: 9

Steps to Reproduce:

  1. Build from source (Github master) and run in device (Nexus 7)
  2. Download example GeoPackage from NGA: https://github.com/ngageoint/GeoPackage/blob/master/docs/examples/android/example.gpkg
  3. New GeoPackage: Import from file "example"
  4. Enable "example" and select "geometry1"
  5. Tab on any symbol (see figure below for details)
  6. MapCache crashes

Test Files:

Additional Information:

Tab on screen inside any of the red circles to crash MapCache

device-2021-10-13-092110

Result

device-2021-10-13-093106

failed to create projection from name: EPSG:0 from the ERDC WhiteHorse sample

Please fill out as much known and relevant information as possible.

Version Information:

  • GeoPackage MapCache Android Version: updated from 1.3.1 to 1.4.1
  • GeoPackage MapCache Android Source: release
  • Device or Emulator: Genton motion api23 android 6
  • Android Version Number:
  • Google Play services Version:
  • Android Studio Version (if applicable):
  • Platform & OS:
  • Other Relevant Libraries:

Expected Results:

Tiles to show

Observed Results:

App crash due to the following output

Output:

08-19 20:41:37.832 6038 6038 W ProjectionFactory: Failed to create projection from name: EPSG:0
08-19 20:41:37.832 6038 6038 W ProjectionFactory: org.osgeo.proj4j.UnknownAuthorityCodeException: EPSG:0
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at org.osgeo.proj4j.CRSFactory.createFromName(CRSFactory.java:77)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at mil.nga.geopackage.projection.ProjectionFactory.fromName(ProjectionFactory.java:435)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at mil.nga.geopackage.projection.ProjectionFactory.getProjection(ProjectionFactory.java:214)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at mil.nga.geopackage.projection.ProjectionFactory.getProjection(ProjectionFactory.java:75)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at mil.nga.geopackage.projection.ProjectionFactory.getProjection(ProjectionFactory.java:46)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at org.osmdroid.gpkg.GeoPackageProvider.getTileSource(GeoPackageProvider.java:120)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at org.osmdroid.samplefragments.tileproviders.GeopackageSample.addOverlays(GeopackageSample.java:157)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at org.osmdroid.samplefragments.BaseSampleFragment.onActivityCreated(BaseSampleFragment.java:83)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.support.v4.app.Fragment.performActivityCreated(Fragment.java:1983)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1092)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.os.Handler.handleCallback(Handler.java:739)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.os.Handler.dispatchMessage(Handler.java:95)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.os.Looper.loop(Looper.java:148)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at android.app.ActivityThread.main(ActivityThread.java:5417)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at java.lang.reflect.Method.invoke(Native Method)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
08-19 20:41:37.832 6038 6038 W ProjectionFactory: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
08-19 20:41:37.832 6038 6038 D AndroidRuntime: Shutting down VM
08-19 20:41:37.832 6038 6038 E UncaughtException: Got an uncaught exception: mil.nga.geopackage.GeoPackageException: Failed to create projection for authority: EPSG, code: 0, definition: null, params: null
08-19 20:41:37.832 6038 6038 W System.err: mil.nga.geopackage.GeoPackageException: Failed to create projection for authority: EPSG, code: 0, definition: null, params: null
08-19 20:41:37.832 6038 6038 W System.err: at mil.nga.geopackage.projection.ProjectionFactory.getProjection(ProjectionFactory.java:222)
08-19 20:41:37.832 6038 6038 W System.err: at mil.nga.geopackage.projection.ProjectionFactory.getProjection(ProjectionFactory.java:75)
08-19 20:41:37.833 6038 6038 W System.err: at mil.nga.geopackage.projection.ProjectionFactory.getProjection(ProjectionFactory.java:46)
08-19 20:41:37.833 6038 6038 W System.err: at org.osmdroid.gpkg.GeoPackageProvider.getTileSource(GeoPackageProvider.java:120)

Steps to Reproduce:

  1. Step One
  2. Step Two
  3. ...

Test Files:

The ERDC White Horse tile set

Additional Information:

I just updated from 1.3.1 which worked, fine, but 1.4.1 throws the mentioned error message.

rtree_ triggers dropped

Please fill out as much known and relevant information as possible.

Version Information:

  • GeoPackage MapCache Android Version: 1.17
  • GeoPackage MapCache Android Source: (e.g. Release APK, Source Code Build) apk
  • Device or Emulator: Asus Z00VD
  • Android Version Number: 5.1
  • Google Play services Version: 11.9.75
  • Android Studio Version (if applicable):
  • Platform & OS:
  • Other Relevant Libraries:

Expected Results:

  • What did you expect to happen?
    I would expect that rtree_ triggers in the feature tables are preserved and used.

Observed Results:

  • What happened instead?
    as the geopackage is opened, the rtree trigger in the features tables gets lost.

  • How often does this occur?
    always.

Output:

  • Any logs, errors, or output messages?
    No errors.

Steps to Reproduce:

1 - create a geopackage (from Qgis 2.18) with a feature (mine is named "bedding");
2 - get sure that trigger exist to populate rtree_ tables:
select * from sqlite_master where type = 'trigger' and name = 'rtree_bedding_geom_insert':
CREATE TRIGGER "rtree_bedding_geom_insert" AFTER INSERT ON "bedding" WHEN (new."geom" NOT NULL AND NOT ST_IsEmpty(NEW."geom")) BEGIN INSERT OR REPLACE INTO "rtree_bedding_geom" VALUES (NEW."fid",ST_MinX(NEW."geom"), ST_MaxX(NEW."geom"),ST_MinY(NEW."geom"), ST_MaxY(NEW."geom")); END
3 - open from MapCache the geopackage (as an external link); make no change, simply view feature contents on the map.
4 - select * from sqlite_master where type = 'trigger' and name = 'rtree_bedding_geom_insert':

Test Files:

  • Links to any files needed for testing?

Additional Information:

  • Any additional configuration, data, or information that might help with the issue?

Fails to load GDAL's raster GPKGs

gdal_translate -of GPKG ERDC_Whitehorse_GeoPackage.gpkg ERDC_Whitehorse_GeoPackage.gdal.gpkg

If I try to open the resulting file on my phone, mapcache shortly pauses/freezes, then I get a popup with the following error message:

GeoPackage Errors
ERDC_Whitehorse_GeoPackage.gdal
Errors:

near ".": syntax error (code 1): ,while compiling: PRAGMA table_info(ERDC_Whitehorse_GeoPackage.gdal)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.