标注 | 说明 | 数据类型 |
输入文件夹 | 照片文件(.jpg 或 .tif)所在的文件夹。 递归扫描此文件夹的照片文件;文件夹基本级别以及任何子文件夹中的所有照片都将添加到输出中。 | Folder |
输出要素类 | 输出点要素类。 | Feature Class |
无效照片表 (可选) | 输出表将列出输入文件夹中所有包含无效 Exif 元数据或者空或无效坐标的照片文件。 如果未指定值,则不会创建表。 | Table |
包括未经地理标记的照片 (可选) | 指定是将所有照片文件都包含在输出要素类中,还是仅包含坐标有效的照片文件。
| Boolean |
将照片添加为附件 (可选) | 指定是否将输入照片作为地理数据库附件添加到输出要素中。 注:添加附件时,输出要素类需位于 10 或更高版本的地理数据库中。
| Boolean |
摘要
用于根据存储在地理标记照片文件(.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,则不会为该照片生成任何点。 如果设备没有足够的信号来捕获实时坐标,将出现空坐标。 如果选中了包括未经地理标记的照片参数,则将以具有空几何的输出要素形式添加照片。
输出要素类将具有 GCS_WGS_1984 X、Y 和垂直坐标系,因为该坐标系是 GPS 接收器所用的坐标系。
参数
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 (可选) | 指定是将所有照片文件都包含在输出要素类中,还是仅包含坐标有效的照片文件。
| Boolean |
Add_Photos_As_Attachments (可选) | 指定是否将输入照片作为地理数据库附件添加到输出要素中。 注:添加附件时,输出要素类需位于 10 或更高版本的地理数据库中。
| Boolean |
代码示例
下面的 Python 窗口代码片段演示了如何使用 GeoTaggedPhotosToPoints 函数。
import arcpy
arcpy.management.GeoTaggedPhotosToPoints("c:/data/photos",
"c:/data/city.gdb/photo_points", "",
"ONLY_GEOTAGGED", "ADD_ATTACHMENTS")
以下脚本演示了如何使用 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)