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

描述

根据存储在地理标记照片中的 x、y 和 z 坐标创建点。或者,也可以将照片文件作为地理数据库附件添加到输出要素类的要素中。

插图

地理标记照片转点图示

使用方法

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

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

    • 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 XY 和垂直坐标系,因为该坐标系是 GPS 接收器所用的坐标系。

语法

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

照片文件所在的文件夹。此文件夹是递归扫描照片文件得到的;基础等级文件夹以及任何子文件夹中的所有照片都将被添加到输出中。

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 Standard 或更高版本的许可,并且输出要素类必须位于 10 或更高版本的地理数据库中。

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

代码示例

GeoTaggedPhotosToPoints 示例 1(Python 窗口)

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

import arcpy
arcpy.GeoTaggedPhotosToPoints_management("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.GeoTaggedPhotosToPoints_management(inFolder, outFeatures, badPhotosList, 
                                         photoOption, attachmentsOption)
arcpy.Buffer_analaysis(outFeatures, buffers, bufferDist)

许可信息

  • Basic: 受限
  • Standard: 是
  • Advanced: 是

相关主题