经地理标记的照片转点 (数据管理)
摘要
根据存储在经地理标记的照片中的 x、y 和 z 坐标信息创建点。或者,也可以将照片文件作为地理数据库附件添加到输出要素类的要素中。
插图
用法
此工具从包含有效 Exif(可交换图像文件格式)元数据的 JPEG 和 TIFF 照片文件中读取经度、纬度和高度坐标信息,并将这些坐标及关联的属性写入到输出点要素类中。这些照片通常是使用具有内置 GPS 设备或辅助 GPS 设备的数码照像机或者智能手机拍摄得到的。
-
输出要素类将具有三个属性字段:
- 路径 - 用于生成点的照片文件的完整路径,例如 C:\data\photos\Pic0001.jpg
- 名称 - 照片文件的短名称,例如 Pic0001.jpg
- 日期时间 - 照片文件的原始拍摄日期和时间,例如 2010:11:21 15:23:34
输出 DateTime 字段是采用 yyyy:MM:dd HH:mm:ss 格式的时间戳文本字段。使用转换时间字段工具可将此文本字段转换为真正的日期时间字段,转换后的字段可用于随时间变化分析和绘制数据图像。
如果输出日期时间字段的值是 null 或为空,则这可能标明您的设备未随经地理标记的照片一起捕捉可用时间戳。照片文件可能具有拍摄日期或修改日期的属性,但它们通常不代表拍摄照片的日期和时间。
如果照片的 x,y 坐标为 0,0,则不会针对该照片生成任何点。这些空坐标经常出现,因为照相机的 GPS 没有足够的信号来捕获实时坐标。如果选中了包括未经地理标记的照片参数(脚本中的 ALL_PHOTOS),则将以具有空几何的输出记录形式添加照片。
输出要素类将具有 GCS_WGS_1984 空间参考,因为该坐标系是 GPS 接收器所用的坐标系。
语法
参数 | 说明 | 数据类型 |
Input_Folder |
照片文件所在的文件夹。此文件夹是递归扫描照片文件得到的;基础等级文件夹以及任何子文件夹中的所有照片都将被添加到输出中。 | Folder |
Output_Feature_Class |
输出点要素类。 | Feature Class |
Invalid_Photos_Table (可选) |
可选的输出表,将列出输入文件夹中所有包含无效 Exif 元数据或空 GPS 坐标的照片文件。 如果未指定路径,则不会创建此表。 | Table |
Include_Non-GeoTagged_Photos (可选) |
指定是应将所有照片文件都作为记录添加到输出要素类中,还是仅将那些包含有效 GPS 坐标的照片文件添加到输出要素类中。
| Boolean |
Add_Photos_As_Attachments (可选) |
指定照片文件是否作为地理数据库附件添加到输出要素类中。 许可: 添加附件至少要求具有 ArcGIS for Desktop Standard 许可,并且输出要素类所在地理数据库必须为 10 版或者更高版本。
| Boolean |
代码实例
以下 Python 窗口代码片段演示了如何使用 GeoTaggedPhotosToPoints 工具。
import arcpy
arcpy.GeoTaggedPhotosToPoints_management("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
from arcpy import env
# Set environment settings
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)