• <bdo id='yiwJw'></bdo><ul id='yiwJw'></ul>
    <tfoot id='yiwJw'></tfoot>

      <legend id='yiwJw'><style id='yiwJw'><dir id='yiwJw'><q id='yiwJw'></q></dir></style></legend>
        <i id='yiwJw'><tr id='yiwJw'><dt id='yiwJw'><q id='yiwJw'><span id='yiwJw'><b id='yiwJw'><form id='yiwJw'><ins id='yiwJw'></ins><ul id='yiwJw'></ul><sub id='yiwJw'></sub></form><legend id='yiwJw'></legend><bdo id='yiwJw'><pre id='yiwJw'><center id='yiwJw'></center></pre></bdo></b><th id='yiwJw'></th></span></q></dt></tr></i><div id='yiwJw'><tfoot id='yiwJw'></tfoot><dl id='yiwJw'><fieldset id='yiwJw'></fieldset></dl></div>

        <small id='yiwJw'></small><noframes id='yiwJw'>

      1. 从 php 中的图像读取地理标记数据

        时间:2024-05-11

      2. <tfoot id='oe02g'></tfoot>

          • <legend id='oe02g'><style id='oe02g'><dir id='oe02g'><q id='oe02g'></q></dir></style></legend>

                <tbody id='oe02g'></tbody>
                <bdo id='oe02g'></bdo><ul id='oe02g'></ul>
                <i id='oe02g'><tr id='oe02g'><dt id='oe02g'><q id='oe02g'><span id='oe02g'><b id='oe02g'><form id='oe02g'><ins id='oe02g'></ins><ul id='oe02g'></ul><sub id='oe02g'></sub></form><legend id='oe02g'></legend><bdo id='oe02g'><pre id='oe02g'><center id='oe02g'></center></pre></bdo></b><th id='oe02g'></th></span></q></dt></tr></i><div id='oe02g'><tfoot id='oe02g'></tfoot><dl id='oe02g'><fieldset id='oe02g'></fieldset></dl></div>

                <small id='oe02g'></small><noframes id='oe02g'>

                  本文介绍了从 php 中的图像读取地理标记数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  有谁知道是否有办法在 PHP 中从照片中读取地理标记数据?

                  Does anyone know if there is a way to read geotag data from photos in PHP?

                  谢谢

                  推荐答案

                  Will Coughlin 的答案是正确的,虽然我制定了一个函数以供快速参考,以防有人偶然发现同样的问题.

                  Will Coughlin's answer is correct though I formulated a function for quick reference in case someone stumbles upon the same problem.

                  /**
                   * Returns an array of latitude and longitude from the Image file
                   * @param image $file
                   * @return multitype:number |boolean
                   */
                  function read_gps_location($file){
                      if (is_file($file)) {
                          $info = exif_read_data($file);
                          if (isset($info['GPSLatitude']) && isset($info['GPSLongitude']) &&
                              isset($info['GPSLatitudeRef']) && isset($info['GPSLongitudeRef']) &&
                              in_array($info['GPSLatitudeRef'], array('E','W','N','S')) && in_array($info['GPSLongitudeRef'], array('E','W','N','S'))) {
                  
                              $GPSLatitudeRef  = strtolower(trim($info['GPSLatitudeRef']));
                              $GPSLongitudeRef = strtolower(trim($info['GPSLongitudeRef']));
                  
                              $lat_degrees_a = explode('/',$info['GPSLatitude'][0]);
                              $lat_minutes_a = explode('/',$info['GPSLatitude'][1]);
                              $lat_seconds_a = explode('/',$info['GPSLatitude'][2]);
                              $lng_degrees_a = explode('/',$info['GPSLongitude'][0]);
                              $lng_minutes_a = explode('/',$info['GPSLongitude'][1]);
                              $lng_seconds_a = explode('/',$info['GPSLongitude'][2]);
                  
                              $lat_degrees = $lat_degrees_a[0] / $lat_degrees_a[1];
                              $lat_minutes = $lat_minutes_a[0] / $lat_minutes_a[1];
                              $lat_seconds = $lat_seconds_a[0] / $lat_seconds_a[1];
                              $lng_degrees = $lng_degrees_a[0] / $lng_degrees_a[1];
                              $lng_minutes = $lng_minutes_a[0] / $lng_minutes_a[1];
                              $lng_seconds = $lng_seconds_a[0] / $lng_seconds_a[1];
                  
                              $lat = (float) $lat_degrees+((($lat_minutes*60)+($lat_seconds))/3600);
                              $lng = (float) $lng_degrees+((($lng_minutes*60)+($lng_seconds))/3600);
                  
                              //If the latitude is South, make it negative. 
                              //If the longitude is west, make it negative
                              $GPSLatitudeRef  == 's' ? $lat *= -1 : '';
                              $GPSLongitudeRef == 'w' ? $lng *= -1 : '';
                  
                              return array(
                                  'lat' => $lat,
                                  'lng' => $lng
                              );
                          }           
                      }
                      return false;
                  }
                  

                  希望对某人有所帮助.

                  这篇关于从 php 中的图像读取地理标记数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:将用户的位置存储在数据库中并为他找到最近的用户 下一篇:如何使用坐标将标记移动 100 米

                  相关文章

                  <i id='iBmmZ'><tr id='iBmmZ'><dt id='iBmmZ'><q id='iBmmZ'><span id='iBmmZ'><b id='iBmmZ'><form id='iBmmZ'><ins id='iBmmZ'></ins><ul id='iBmmZ'></ul><sub id='iBmmZ'></sub></form><legend id='iBmmZ'></legend><bdo id='iBmmZ'><pre id='iBmmZ'><center id='iBmmZ'></center></pre></bdo></b><th id='iBmmZ'></th></span></q></dt></tr></i><div id='iBmmZ'><tfoot id='iBmmZ'></tfoot><dl id='iBmmZ'><fieldset id='iBmmZ'></fieldset></dl></div>
                    <bdo id='iBmmZ'></bdo><ul id='iBmmZ'></ul>
                1. <tfoot id='iBmmZ'></tfoot>

                  1. <small id='iBmmZ'></small><noframes id='iBmmZ'>

                      <legend id='iBmmZ'><style id='iBmmZ'><dir id='iBmmZ'><q id='iBmmZ'></q></dir></style></legend>