Annonce

  •  » Utilisation
  •  » Afficher en texte la géolocalisation

#1 2022-02-04 06:55:08

Katryne
Membre
Le Revest-les-Eaux (Provence)
2016-12-03
1645

Afficher en texte la géolocalisation

Bonjour

Mes photos sont géolocalisées grâce à OpenStreetMap. La géolocalisation s'affiche sur la carte.
En page photo, y a-t-il moyen d'afficher aussi "en texte" la géolocalisation, telle qu'elle s'affiche déjà côté admin ?

Merci de toute suggestion.


https://album.chauvigne.info/ v.13.8.0  PHP: 8.2.17
http://photos.katrynou.fr/ v.14.1.0 PHP: 8.1.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.42
Bibliothèque graphique: External ImageMagick 6.9.11-60

Hors ligne

#2 2022-02-04 07:19:44

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: Afficher en texte la géolocalisation

Bonjour,

oui si l'information existe il est forcement possible de l'afficher


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#3 2022-02-04 10:22:29

TOnin
Membre
2010-08-10
103

Re: Afficher en texte la géolocalisation

Bonjour,
* soit utiliser le bouton pour afficher les données EXIF
* soit modifier le plugin openstreetmap

Dans la deuxième possibilité il s'agit d'identifier le fichier à modifier. Tu remarqueras dans le code source l'id de bloc map-info, en cherchant ce "map-info" dans les fichiers du répertoire du plugin tu trouveras le fichier picture.inc.php. "map-info" apparaît dans sa fonction osm_insert_map, qui utilise des variables préparées par cette autre fonction osm_render_element_content.

Avec ça tu devrais pouvoir réussir à atteindre ton objectif, voire à publier une proposition d'amélioration des fonctionnalités du plugin sur github. [extension by xbgmsharp] piwigo-openstreetmap

Hors ligne

#4 2022-02-04 13:01:20

Katryne
Membre
Le Revest-les-Eaux (Provence)
2016-12-03
1645

Re: Afficher en texte la géolocalisation

Merci à vous deux, mais ...

j'ai spécifié la géolocalisation depuis le site en situant la photo sur la carte d'openstreet map. Donc elle ne sera pas dans les exif. Donc la récupération via les exifs n'est pas une option sauf à récrire l'info dans les exifs puis à les afficher. Devrait y a voir plus simple.

Quant au jeu de piste que propose TOnin, c'est un poil au-dessus de mes capacités, je suis une littéraire, moi. Et puis Github a toujours (en fin pas au début) été un monde mystérieux pour moi, voire hostile. La plupart du temps, je ne sais même pas y trouver le zip à télécharger, alors y faire une proposition ... Pourtant, j'y ai un compte depuis plus d'une décennie.

Dernière modification par Katryne (2022-02-04 13:02:09)


https://album.chauvigne.info/ v.13.8.0  PHP: 8.2.17
http://photos.katrynou.fr/ v.14.1.0 PHP: 8.1.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.42
Bibliothèque graphique: External ImageMagick 6.9.11-60

Hors ligne

#5 2022-02-04 14:02:01

ddtddt
Équipe Piwigo
Quetigny (21) - France
2007-07-27
16815

Re: Afficher en texte la géolocalisation

Bonjour,

Si les données ne sont pas dans les exifs mais dans des snfos du plugin c'est un poil plus compliqué

je dirais de regarder le nom de la variable Smarty qu'il utilise pour l'afficher et de reporter cela dans le template (en plugin ou en option du plugin cela serait mieux.

Tu peux aussi faire une demande d'évolution du plugin mais je pense qu'il est passé sur le github de piwigo > https://github.com/Piwigo/piwigo-openstreetmap

je ne pense pas que ce soit une priorité pour l'instant


Vous aimez Piwigo alors n'hésitez pas à participer avec nous, plus d'infos sur la page "Contribuer à Piwigo". Si vous n'avez pas beaucoup de temps et que vous souhaitez nous soutenir vous pouvez aussi le faire par un don.

Hors ligne

#6 2022-02-04 15:20:29

TOnin
Membre
2010-08-10
103

Re: Afficher en texte la géolocalisation

Je pense que les données de géolocalisation EXIF sont copiées dans les champs afférents de la table piwigo_images lors de l'import ou de la synchronisation (en fonction du mappage spécifié dans local/config/config.inc.php). Ce sont ces mêmes champs que le plugin permet d'ajouter ou d'éditer au besoin. Ainsi dans notre cas, les données affichées dans les pages piwigo sont issues de la base de données. (NB : on peut imaginer que dans certains cas d'utilisation, il puisse y avoir divergence entre les données EXIF de l'image, et celle de la base de données, notamment après édition)

Voici les deux modifications de code qui étoffent les fonctionnalités du plugin (et qui d'ores et déjà pourraient être publiées sur github, je le ferai à l'occasion) :
fichier plugins/piwigo-openstreetmap/picture.inc.php :
function osm_insert_map

Code:

        {if $SHOWOSM}
        <a href="{$OSMLINK}" target="_blank">{"VIEW_OSM"|@translate}</a>
        {/if}
        <br><span>{$OSMNAME} : {$LAT} {$LON}</span>
    </dd>

function osm_render_element_content

Code:

            'OSMLINK'    => $osmlink,
            'LAT'    => $lat,
            'LON'    => $lon,
        )

Modification ; ajout du résultat :
Chez moi le résultat est l'ajout sous le code HTML de la carte (et sous le lien openstreetmap $OSMLINK) du code <br><span>Géolocalisation : 45.091837 2.735725</span>
Soit dans le navigateur : Géolocalisation : 45.091837 2.735725

Dernière modification par TOnin (2022-02-04 20:27:39)

Hors ligne

#7 2022-02-04 17:27:37

Katryne
Membre
Le Revest-les-Eaux (Provence)
2016-12-03
1645

Re: Afficher en texte la géolocalisation

Merci merci, laissez-moi digérer tout cela.


https://album.chauvigne.info/ v.13.8.0  PHP: 8.2.17
http://photos.katrynou.fr/ v.14.1.0 PHP: 8.1.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.42
Bibliothèque graphique: External ImageMagick 6.9.11-60

Hors ligne

#8 2022-02-05 08:17:23

Katryne
Membre
Le Revest-les-Eaux (Provence)
2016-12-03
1645

Re: Afficher en texte la géolocalisation

TOnin, j'ai modifié le fichier, mais aucun élément nouveau ne s'affiche :

Site de test : https://gabandjo.legtux.org/piwigo/pict … and_canyon

Piwigo 12.2.0
Système d'exploitation: Linux
PHP: 7.4.27
MySQL: 5.5.5-10.5.12-MariaDB-0+deb11u1]
Bibliothèque graphique: ImageMagick 6.9.11-60
Thème Modus 12.2.0

parmi les plugins :
OSM 12.4
Manage properties photo 12.0.a

Qu'est-ce que j'ai loupé ? Pourtant, je vois l'info plusieurs fois en mode source.

Dernière modification par Katryne (2022-02-05 08:25:46)


https://album.chauvigne.info/ v.13.8.0  PHP: 8.2.17
http://photos.katrynou.fr/ v.14.1.0 PHP: 8.1.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.42
Bibliothèque graphique: External ImageMagick 6.9.11-60

Hors ligne

#9 2022-02-05 08:26:53

TOnin
Membre
2010-08-10
103

Re: Afficher en texte la géolocalisation

As-tu pensé à purger les templates compilés ?

Hors ligne

#10 2022-02-05 08:54:16

Katryne
Membre
Le Revest-les-Eaux (Provence)
2016-12-03
1645

Re: Afficher en texte la géolocalisation

Aaahhh ! J'avais jamais appuyé sur ce bouton !
MERCI, ça maaaaarche !


https://album.chauvigne.info/ v.13.8.0  PHP: 8.2.17
http://photos.katrynou.fr/ v.14.1.0 PHP: 8.1.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.42
Bibliothèque graphique: External ImageMagick 6.9.11-60

Hors ligne

#11 2022-02-05 10:08:14

TOnin
Membre
2010-08-10
103

Re: Afficher en texte la géolocalisation

:-)

Voici le commit qui, en outre, permet de choisir dans la configuration du plugin d'afficher ou non cette information.
https://github.com/Piwigo/piwigo-openst … 2402f9a61d

NB : je n'ai pas pensé à créer de branche propre avant de travailler ce bout de code, du coup il est inclus dans un ancien pull request... Vivement que je sois plus habile pour giter plus proprement.

Hors ligne

#12 2022-02-05 11:20:59

Katryne
Membre
Le Revest-les-Eaux (Provence)
2016-12-03
1645

Re: Afficher en texte la géolocalisation

Comme je disais, quand je fais une descente sur Github, c'est comme une incursion en territoire ennemi ou un reportage dans la jungle bornéenne : je ne sais toujours pas télécharger quoi que ce soit.

Comme chaque fois, je vais attendre que mon fils passe par ici.

Merci pour le commit, et l'affichage optionnel, en plus !


https://album.chauvigne.info/ v.13.8.0  PHP: 8.2.17
http://photos.katrynou.fr/ v.14.1.0 PHP: 8.1.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.42
Bibliothèque graphique: External ImageMagick 6.9.11-60

Hors ligne

#13 2022-02-05 11:57:58

dreamer
Membre
St Cyr/mer (83)
2006-02-26
1058

Re: Afficher en texte la géolocalisation

Salut

Bon, j'ai essayé de faire la modif avec github et ça ne fonctionne pas, snif...  Pourtant, je pense (si, si , ça m'arrive!) avoir tout bien fait !!

Je vous mets, le script de picture.inc.php afin de voir ou est ma cagade !!

Code:

<?php
/***********************************************
* File      :   picture.inc.php
* Project   :   piwigo-openstreetmap
* Descr     :   Display map on right panel
*
* Created   :   28.05.2013
*
* Copyright 2013-2016 <xbgmsharp@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*
************************************************/

include_once( dirname(__FILE__) .'/include/functions_map.php');
// Do we have to show the right panel
if ($conf['osm_conf']['right_panel']['enabled'])
{
    // Hook to add the div in the right menu, No idea about the number!!
    add_event_handler('loc_begin_picture', 'osm_loc_begin_picture', 56);

    // Hook to populate the div in the right menu, No idea about the number after!!
    add_event_handler('loc_begin_picture', 'osm_render_element_content', EVENT_HANDLER_PRIORITY_NEUTRAL+1 /*in order to have picture content*/, 2);
}

function osm_loc_begin_picture()
{
    global $template;
    $template->set_prefilter('picture', 'osm_insert_map');
}

function osm_insert_map($content)
{
    global $conf;
    load_language('plugin.lang', OSM_PATH);

/*  Would be better if it could be like the Metdata but how?
  $search = '#<dl id="Metadata" class="imageInfoTable">#';
  $replacement = '
<dl id="map-info" class="imageInfoTable">
  <h3>{\'LOCATION\'|@translate}</h3>
  <div class="imageInfo">
    <div id="map"></div>
  </div>
</dl>
<dl id="Metadata" class="imageInfoTable">';
*/

    $search = '#<div id="'. $conf['osm_conf']['right_panel']['add_before'] .'" class="imageInfo">#';
    $replacement = '
{if $OSMJS}
<div id="map-info" class="imageInfo">
    <dt {$OSMNAMECSS}>{$OSMNAME}</dt>
    <dd>
        <div id="map"></div>
        <script type="text/javascript">{$OSMJS}</script>
        <div id="osm_attrib" style="visibility: hidden; display: none;">
            <ul>
                <li>{"PLUGIN_BY"|@translate}</li>
                <li><a href="http://leafletjs.com/" target="_blank">Leaflet</a></li>
                <li>&copy; {"OSM_CONTRIBUTORS"|@translate}</li>
            </ul>
        </div>
        {if $SHOWOSM}
        <a href="{$OSMLINK}" target="_blank">{"VIEW_OSM"|@translate}</a>
        {/if}
        <br><span>{$OSMNAME} : {$LAT} {$LON}</span>
    </dd>
</div>
{/if}
<div id="'. $conf['osm_conf']['right_panel']['add_before'] .'" class="imageInfo">';

    return preg_replace($search, $replacement, $content);
}

function osm_render_element_content()
{
    global $template, $picture, $page, $conf;
    load_language('plugin.lang', OSM_PATH);

    if (empty($page['image_id']))
    {
        return;
    }

    // Load coordinates from picture
    $query = 'SELECT latitude,longitude FROM '.IMAGES_TABLE.' WHERE id = \''.$page['image_id'].'\' ;';
    //FIXME LIMIT 1 ?
    $result = pwg_query($query);
    $row = pwg_db_fetch_assoc($result);
    if (!$row or !$row['latitude'] or empty($row['latitude']))
    {
        return;
    }
    $lat = $row['latitude'];
    $lon = $row['longitude'];

    // Load parameter, fallback to default if unset
    $height = isset($conf['osm_conf']['right_panel']['height']) ? $conf['osm_conf']['right_panel']['height'] : '200';
    $zoom = isset($conf['osm_conf']['right_panel']['zoom']) ? $conf['osm_conf']['right_panel']['zoom'] : '12';
    $osmname = isset($conf['osm_conf']['right_panel']['link']) ? $conf['osm_conf']['right_panel']['link'] : 'Location';
    $osmnamecss = isset($conf['osm_conf']['right_panel']['linkcss']) ? $conf['osm_conf']['right_panel']['linkcss'] : '';
    $showosm = isset($conf['osm_conf']['right_panel']['showosm']) ? $conf['osm_conf']['right_panel']['showosm'] : 'true';
    if (strlen($osmnamecss) != 0)
    {
        $osmnamecss = "style='".$osmnamecss."'";
    }
    $osmlink="https://openstreetmap.org/?mlat=".$lat."&amp;mlon=".$lon."&zoom=12&layers=M";

    $local_conf = array();
    $local_conf['contextmenu'] = 'false';
    $local_conf['control'] = false;
    $local_conf['img_popup'] = false;
    $local_conf['popup'] = 2;
    $local_conf['center_lat'] = $lat;
    $local_conf['center_lng'] = $lon;
    $local_conf['zoom'] = $zoom;

    $js_data = osm_get_items($page);

    $js = osm_get_js($conf, $local_conf, $js_data);

    // Select the template
    $template->set_filenames(
            array('osm_content' => dirname(__FILE__)."/template/osm-picture.tpl")
    );

    // Assign the template variables
    $template->assign(
        array(
            'HEIGHT'    => $height,
            'OSMJS'     => $js,
            'OSM_PATH'    => embellish_url(get_gallery_home_url().OSM_PATH),
            'OSMNAME'    => $osmname,
            'OSMNAMECSS'  => $osmnamecss,
            'SHOWOSM'    => $showosm,
            'OSMLINK'    => $osmlink,
     'SHOWLATLON'  => $showlatlon,
            'LAT'      => $lat,
            'LON'      => $lon,
        )
    );

    // Return the rendered html
    $osm_content = $template->parse('osm_content', true);
    return $osm_content;
}

Photos, Musiques, Camping-car,, Vidéo et le tout nouveau Recettes le tout en 14.2.0

Hors ligne

#14 2022-02-05 12:19:06

Katryne
Membre
Le Revest-les-Eaux (Provence)
2016-12-03
1645

Re: Afficher en texte la géolocalisation

J'ai le même fichier que toi, cher voisin. Mais ça s'est affiché qu'après avoir purgé les templates compilés. En version 11, je n'ai pas le titre, juste les valeurs précédées de :

mais j'ai rien pris sur Github, je sais pas faire.

Regarde-là, au pied de la carte : https://dardennes.revestou.fr/picture?/ … 19_janvier en v11

et là en v.12 https://gabandjo.legtux.org/piwigo/pict … sand_dunes


https://album.chauvigne.info/ v.13.8.0  PHP: 8.2.17
http://photos.katrynou.fr/ v.14.1.0 PHP: 8.1.22
Système d'exploitation: Linux - Hébergeur 1&1-Ionos - MySQL: 5.7.42
Bibliothèque graphique: External ImageMagick 6.9.11-60

Hors ligne

#15 2022-02-05 13:46:18

dreamer
Membre
St Cyr/mer (83)
2006-02-26
1058

Re: Afficher en texte la géolocalisation

Re

Je n'ai pas de templates compilés, j'ai vidé tous les historiques, session et autres et j'ai toujours le même résultat !!

Peut-être cela vient-il du fait que j'utilise Bootstrap et PWG en V12.2

Un exemple sur mon album camping-car : https://beauxvoyages.fr/camping/picture … ategory/16


Photos, Musiques, Camping-car,, Vidéo et le tout nouveau Recettes le tout en 14.2.0

Hors ligne

  •  » Utilisation
  •  » Afficher en texte la géolocalisation

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact