PnX-SI / gn_mobile_occtax

Application mobile pour la saisie dans le module Occtax de GeoNature
GNU General Public License v3.0
13 stars 5 forks source link

Impossible d'afficher les données carte dans l'application occtax #65

Closed christianbieche closed 4 years ago

christianbieche commented 4 years ago

bonjour, J'ai installé les dernière versions mobiles : sync-1.0.0-generic-release.apk et occtax-1.0.0-generic-release.apk Cela fonctionne. J'arrive à me connecter sur le nouveau serveur et la synchronisation est effectuée. Cependant si je tente d'afficher des données ou d'ajouter une nouvelle donnée. Aucune carte ne s'affiche.

j'ai installé un fond de carte aquitaine avec le fichier de configuration suivant : { "area_observation_duration": 365, "map": { "show_scale": true, "show_compass": true, "max_bounds": [ [ 41.463, -1.876 ], [ 51.62, 8.6 ] ], "center": [ 47.225827, -1.554470 ], "start_zoom": 10.0, "min_zoom": 8.0, "max_zoom": 19.0, "min_zoom_editing": 12.0, "base_path": "/storage/4735-425B/DCIM/Camera", "layers": [ { "label": "Aquitaine", "source": "aquitaine.mbtiles" } ] }, "no_such_property": "no_such_value" }

Par contre en regardant les logs du terminal : j'ai cette erreur là :

7-29 17:13:34.676 15687 15964 D fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder: sql: 07-29 17:13:34.676 15687 15964 D fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder: SELECT taxa."_id" AS taxaid, taxa."name" AS taxa_name, taxa."kingdom" AS taxa_kingdom, taxa."group" AS taxa_group, taxa."name_common" AS taxa_name_common, taxa."description" AS taxa_description, taxa."rank" AS taxa_rank 07-29 17:13:34.676 15687 15964 D fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder: FROM taxa taxa 07-29 17:13:34.676 15687 15964 D fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder: ORDER BY taxa_name ASC 07-29 17:13:34.676 15687 15964 D fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder: args: [] 07-29 17:13:34.713 15867 15867 W fr.geonature.commons.data.TaxonArea: column 'taxa_area_taxon_id' does not exist. Available columns: [taxaid, taxa_name, taxa_kingdom, taxa_group, taxa_name_common, taxa_description, taxa_rank] 07-29 17:13:34.835 15867 15867 I chatty : uid=10150(fr.geonature.occtax) identical 17 lines

Est ce que les 2 problèmes sont liés ? La version installée de taxhub est 1.7.2 Christian Bièche Cistude Nature

camillemonchicourt commented 4 years ago

Les logs sont liés à la requête des taxons. Donc certainement rien à voir. Pour le fond de carte, si il est bien fonctionnel, alors c'est certainement un problème de chemin.

christianbieche commented 4 years ago

Je viens de vérifier la carte s'affiche bien en tant que fichier Mbtiles dans MaptilerDesktop. De plus j'ai bien vérifié, la carte est bien positionné dans le chemin indiqué dans le fichier de configuration. En me connectant via adb, je vois bien le fichier.

C:\Users\S239416\Documents\OUTILS\ANDROID ADB\platform-tools>adb shell W-V720:/ $ cd /storage/4735-425B/DCIM/Camera/ W-V720:/storage/4735-425B/DCIM/Camera $ ls IMG_20200729_145613046.jpg aquitaine.mbtiles W-V720:/storage/4735-425B/DCIM/Camera $

on voit bien le fichier aquitaine.mbtiles

Donc je ne sais où est le problème ?

Peut-on avoir une configuration de démo qui pourrait montrer que l'application fonctionne correctement sur le téléphone utilisé ? Y-t-il des logs spécifiques que je peux regarder ?

christianbieche commented 4 years ago

en complément, voilà l'erreur tracée dans les logs au moment de l'affichage des données : 07-30 15:56:20.742 3760 3776 I fr.geonature.maps.settings.LayerSettingsViewModel: Loading tiles layer 'Aquitaine'... 07-30 15:56:20.956 3760 3834 D OsmDroid: TileLoader failed to load tile due to mWriter being null (map shutdown?) 07-30 15:56:20.957 3760 3836 D OsmDroid: TileLoader failed to load tile due to mWriter being null (map shutdown?) 07-30 15:56:20.957 3760 3835 D OsmDroid: TileLoader failed to load tile due to mWriter being null (map shutdown?) 07-30 15:56:20.957 3760 3834 D OsmDroid: TileLoader failed to load tile due to mWriter being null (map shutdown?) 07-30 15:56:20.957 3760 3823 D OsmDroid: TileLoader failed to load tile due to mWriter being null (map shutdown?) 07-30 15:56:20.957 3760 3830 D OsmDroid: TileLoader failed to load tile due to mWriter being null (map shutdown?) 07-30 15:56:20.958 3760 3827 D OsmDroid: TileLoader failed to load tile due to mWriter being null (map shutdown?) 07-30 15:56:20.958 3760 3828 D OsmDroid: TileLoader failed to load tile due to mWriter being null (map shutdown?) 07-30 15:56:20.960 3760 3831 D OsmDroid: TileLoader failed to load tile due to mWriter being null (map shutdown?) A priori un problème avec OsmDroid ?

camillemonchicourt commented 4 years ago

Cela fonctionne bien dans nos différents tests. Donc certainement un problème du au fichier MBTILES. Cependant, en cherchant le message d'erreur (https://www.google.com/search?q=OsmDroid%3A+TileLoader+failed+to+load+tile+due+to+mWriter+being+null+(map+shutdown%3F)&rlz=1C1GCEU_frFR820FR820&oq=OsmDroid%3A+TileLoader+failed+to+load+tile+due+to+mWriter+being+null+(map+shutdown%3F)&aqs=chrome..69i57j69i58.311j0j4&sourceid=chrome&ie=UTF-8), on trouve différentes références à celui-ci, sur le Github d'OsmDroid notamment.

Pour les tests, on utilise ce MBTILES général et peu précis mais sur toute la France, généré avec Mobac : https://geonature.fr/data/maps/

En se connectant au serveur de démo de GeoNature (http://demo.geonature/geonature), avec cette configuration, tout est OK :

{
  "area_observation_duration": 365,
  "map": {
    "min_zoom_editing": 16,
    "show_compass": true,
    "show_scale": true,
    "layers": [
      {
        "source": "demo_scan.mbtiles",
        "label": "OpenTopoMap"
      }
    ],
    "max_bounds": [
      [
        46,
        7
      ],
      [
        44,
        5
      ]
    ],
    "start_zoom": 10,
    "max_zoom": 19,
    "base_path": "/storage/emulated/0/DCIM/maps",
    "min_zoom": 8,
    "center": [
      45.0,
      6.0
    ]
  }
}
christianbieche commented 4 years ago

bonjour, Effectivement en utilisant votre fichier j'ai finalement pu afficher une carte. Il semble que la localisation du fichier soit aussi importante : /storage/emulated/0/DCIM/maps pour des questions de droits. En utilisant la même localisation cela fonctionne. J'ai utilisé MOBAC pour générer une nouvelle carte de l'aquitaine et j'ai pu saisir un taxon qui a été synchronisé avec l'application geonature. Par contre l'affichage des cartes est très très lent. En utilisant le positionnement GPS on arrive à zoomer sur la zone et donc faire de la saisie, sinon rien ne s'affiche au départ. Est ce normal ? la carte que j'utilise est au format mbtiles mais la volumétrie bien que limité à l'aquitaine parait énorme. 2 Giga.

(gênant car j'ai généré une carte mais je n'arrive pas à voir cette carte en totalité) Autre remarque : pour tester la rapidité j'ai installé les applications sur 1 autre téléphone avec la même carte. Installation et fonctionnement des applications avec la synchro pas de problème mais impossible d'afficher la carte. J'ai d'autres erreurs cette fois : 8-04 12:23:08.866 13231 13249 I AwareBitmapCacher: init processName:fr.geonature.occtax pid=13231 uid=10358 8-04 12:23:09.014 447 447 I hwservicemanager: getTransport: Cannot find entry android.hardware.graphics.mapper@3.0::IMapper/default in either framework or device manifest. 8-04 12:23:09.015 13231 13259 W Gralloc3: mapper 3.x is not supported Dans l'application, un icône permet de sélectionner la carte mais impossible de le faire sur ce téléphone. Le téléphone est un huawei y a t-il des contraintes particulières suivant les téléphones ??

christianbieche commented 4 years ago

Bonjour, Avez-vu une réponse à m'apporter sur les cartes à utiliser et sur le type de téléphone ? sinon difficile d'utiliser à l'aveugle. D'avance merci, christian Bièche Informatique Cistude Nature

camillemonchicourt commented 4 years ago

Pas d'élément connu de mon côté pour y répondre. Il n'y a pas de type de téléphones ciblés en particulier, cependant on ne peut pas maîtriser tous les modèles et leurs éventuels particularités. On a fait des tests sur différents modèles de téléphone. Cependant, sur mon téléphone perso (Huawei P20) je n'arrive pas à faire fonctionner l'application, ni à la connecter avec ADB pour en extraire les logs.

christianbieche commented 4 years ago

Bonjour, Je referais des tests avec votre fichier map qui à l'air de fonctionner correctement. Cela devrait suffire car visiblement après test sur le terrain les données saisies sont correctement intégrées et correspondent bien à la localisation. Il s'agit finalement de vérifier grossièrement ce que l'on pointe sur le terrain donc on peut attendre une amélioration ou Par contre l'absence de tous les taxons utiles dans l'application va empêcher son utilisation. cf https://github.com/PnX-SI/gn_mobile_occtax/issues/61

Cistude nature

christianbieche commented 4 years ago

Bonjour, Effectivement si j'utilise votre carte france et cela fonctionne. J'ai bien l'affichage de la carte. Le zoom sur la zone affiche une pixellisation mais il suffit de dézoomer pour vérifier le positionnement. Il me semble que l'affichage est plus rapide mais c'est peut être qu'une impression. Le problème constaté est donc bien un problème à priori de performance et de taille de carte en mbtiles.

Christian Bièche Cistude Nature

camillemonchicourt commented 4 years ago

OK, je pense qu'un intermédiaire peut être une bonne solution. Votre fond initial était surement trop précis et volumineux donc il faisait ramer les terminaux mobiles. Par contre le notre de démo est vraiment crados car très général, peu précis et léger. Bonne journée.

christianbieche commented 3 years ago

Bonjour, Je viens de reinstaller les nouvelles versions des applications téléphones sur plusieurs téléphones et je rencontre toujours des problèmes sur l'affichage des cartes. J'ai gardé la carte de démo pour les téléphones mais même avec des téléphones complétement identique parfois la carte s'affiche parfois non !! Que faut-il faire pour avoir un affichage des cartes ? ya t-il d'autres paramètres ??? Christian Bièche Cistude Nature