经地理标记的照片转点 (数据管理)

摘要

用于根据存储在地理标记照片文件(.jpg.tif)元数据中的 x、y 和 z 坐标创建点。 可以将照片文件作为地理数据库附件添加至输出要素。

插图

地理标记照片转点工具图示

使用情况

  • 此工具将从照片文件(.jpg.tif)中读取经度、纬度和高度坐标,并将坐标及关联的属性写入到输出点要素类中。

  • 输出要素类将具有以下属性字段:

    • Path用于生成点的照片文件的完整路径,例如 C:\data\photos\Pic0001.jpg
    • Name照片文件的短名称。例如 Pic0001.jpg
    • DateTime照片文件的原始拍摄日期和时间。 当输出要素类为 shapefile 时,此字段的类型将为字符串。 当输出要素类位于地理数据库中时,此字段的类型为日期。

      如果 DateTime 字段的值是 null 或为空,则这可能表示您的设备未在照片上捕捉可用时间戳。 照片文件可能具有创建日期或修改日期的属性,但它们可能不表示拍摄照片的日期和时间。

    • Direction- 拍摄照片时设备指向的方向。 取值范围介于 0 到 359.99 之间,其中 0 表示北,90 表示东,依此类推。 如果设备未记录任何方向,则此字段的值为 Null、0 或 -999999,具体取决于设备和指定的输出位置。 方向值可能指与正北或磁北的夹角。 有关详细信息,请参阅设备文档。
      注:

      谨慎使用地理标记照片的方向信息,因为设备记录的方向可能不准确。 有关详细信息,请参阅定向精度。

    • X- 照片拍摄位置的 x 坐标。
    • Y- 照片拍摄位置的 y 坐标。
    • Z- 照片拍摄位置的高度(以米为单位)。 如果设备未记录高度,则该字段的值为 Null、0 或 -999999,具体取决于设备和指定的输出位置。

  • 输出 DateTime 字段可用于通过时间分析和映射输出要素类。

  • 工具输出包括一个折线图,其中使用日期和时间立方图格的 DateTime 字段中的时间戳计数(自动计算但可自定义)显示照片的时间轴。

  • 如果照片的 x,y 坐标为 0,0,则不会为该照片生成任何点。 如果设备没有足够的信号来捕获实时坐标,将出现空坐标。 如果选中了包括未经地理标记的照片参数(Python 中的 ALL_PHOTOS),则将以具有空几何的输出要素形式添加照片。

  • 输出要素类将具有 GCS_WGS_1984 X、Y 和垂直坐标系,因为该坐标系是 GPS 接收器所用的坐标系。

参数

标注说明数据类型
输入文件夹

照片文件(.jpg.tif)所在的文件夹。 递归扫描此文件夹的照片文件;文件夹基本级别以及任何子文件夹中的所有照片都将添加到输出中。

Folder
输出要素类

输出点要素类。

Feature Class
无效照片表
(可选)

可选输出表的路径,将列出输入文件夹中所有包含无效 Exif 元数据或者空或无效坐标的照片文件。

如果未指定任何路径,则将不会创建此表。

Table
包括未经地理标记的照片
(可选)

指定是将所有照片文件都包含在输出要素类中,还是仅包含坐标有效的照片文件。

  • 选中 - 所有照片将作为记录包含在输出要素类中。 如果某个照片文件不含坐标信息,则将包含其作为几何为空的要素。 这是默认设置。
  • 未选中 - 仅具有有效坐标信息的照片将包含在输出要素类中。
Boolean
将照片添加为附件
(可选)

指定是否将输入照片作为地理数据库附件添加到输出要素中。

许可:

添加附件时,需要 ArcGIS Desktop StandardArcGIS Desktop Advanced 许可,并且输出要素类必须位于 10 或更高版本的地理数据库中。

  • 选中 - 照片将作为内部复制到地理数据库的地理数据库附件添加到输出要素中。 这是默认设置。
  • 未选中 - 照片不会作为地理数据库附件添加到输出要素中。
Boolean

arcpy.management.GeoTaggedPhotosToPoints(Input_Folder, Output_Feature_Class, {Invalid_Photos_Table}, {Include_Non-GeoTagged_Photos}, {Add_Photos_As_Attachments})
名称说明数据类型
Input_Folder

照片文件(.jpg.tif)所在的文件夹。 递归扫描此文件夹的照片文件;文件夹基本级别以及任何子文件夹中的所有照片都将添加到输出中。

Folder
Output_Feature_Class

输出点要素类。

Feature Class
Invalid_Photos_Table
(可选)

可选输出表的路径,将列出输入文件夹中所有包含无效 Exif 元数据或者空或无效坐标的照片文件。

如果未指定任何路径,则将不会创建此表。

Table
Include_Non-GeoTagged_Photos
(可选)

指定是将所有照片文件都包含在输出要素类中,还是仅包含坐标有效的照片文件。

  • ALL_PHOTOS所有照片将作为记录包含在输出要素类中。 如果某个照片文件不含坐标信息,则将包含其作为几何为空的要素。 这是默认设置。
  • ONLY_GEOTAGGED仅具有有效坐标信息的照片将包含在输出要素类中。
Boolean
Add_Photos_As_Attachments
(可选)

指定是否将输入照片作为地理数据库附件添加到输出要素中。

许可:

添加附件时,需要 ArcGIS Desktop StandardArcGIS Desktop Advanced 许可,并且输出要素类必须位于 10 或更高版本的地理数据库中。

  • ADD_ATTACHMENTS照片将作为内部复制到地理数据库的地理数据库附件添加到输出要素中。 这是默认设置。
  • NO_ATTACHMENTS照片不会作为地理数据库附件添加到输出要素中。
Boolean

代码示例

GeoTaggedPhotosToPoints 示例 1(Python 窗口)

下面的 Python 窗口代码片段演示了如何使用 GeoTaggedPhotosToPoints 函数。

import arcpy
arcpy.management.GeoTaggedPhotosToPoints("c:/data/photos", 
                                         "c:/data/city.gdb/photo_points", "", 
                                         "ONLY_GEOTAGGED", "ADD_ATTACHMENTS")
GeoTaggedPhotosToPoints 示例 2(独立脚本)

以下脚本演示了如何使用 GeoTaggedPhotosToPoints 函数。

"""Name: GeoTaggedPhotosToPoints example
Description: Convert a folder of photos to points, then perform a buffer
""" 

# Import system modules
import arcpy
 
# Set environment settings
arcpy.env.workspace = "C:/data"
 
# Set local variables
inFolder = "photos"
outFeatures = "city.gdb/photos_points"
badPhotosList = "city.gdb/photos_noGPS"
photoOption = "ONLY_GEOTAGGED"
attachmentsOption = "ADD_ATTACHMENTS"

buffers = "city.gdb/photos_points_buffer"
bufferDist = "1 Miles"

arcpy.management.GeoTaggedPhotosToPoints(inFolder, outFeatures, badPhotosList, 
                                         photoOption, attachmentsOption)
arcpy.analysis.Buffer(outFeatures, buffers, bufferDist)