运行“MagicEXIF元数据编辑器”软件,点击“打开文件”按钮或工具栏的“打开”图标打开一张照片。
以一张手机拍摄的照片原图为例,此时切换到“GPS 信息”选项卡,即可看到列表中的 GPS 数据,右边的地图也会自动同步刷新。可以拖动地图来浏览周边 位置,使用鼠标的滚轮来对地图进行放大或缩小的 *** 作。
这个软件还支持不同的在线地图,直接在地图上点击右键,选择“地图服务供应商”,有很多不同的地图可选,比如谷歌地图、百度、高德、OpenStreetMap 等等。
现有的ACDSee Pro就可以轻松实现。 *** 作思路:批量编辑——叠加文本——指定文本内容为EXIF信息中的某项或某几项——指定叠加位置、字号、字体、色彩、叠加效果等。
ACDSeePro各个版本都可以。
工具/原料
JPEG格式的照片
magicexif元数据编辑器
查看照片中的GPS信息
1、运行“MagicEXIF元数据编辑器”软件,点击大眼睛下面的“打开文件”按钮或工具栏的“打开”图标打开一张照片。
2、以一张iPhone 4拍摄的照片为例,此时切换到“GPS 信息”选项卡,可以看到列表中的GPS数据,但是右侧的地图区域会提示无法连接服务器。
3、现在我们需要将地图调出来:在地图区域点击右键→“地图服务供应商”→“百度地图”(如果没有显示出来可以多试几次)。
4、现在我们就可以看到这张照片的拍摄地点了,你可以通过鼠标拖拽来浏览地图。
5、如果希望放大/缩小地图的比例,可以在地图区域点击右键→“地图级别”中调整,以我的照片为例,缩小后可以很清楚知道照片拍摄于北京市。
/// <summary>
/// 获取中的GPS坐标点
/// </summary>
/// <param name="p_路径">路径</param>
/// <returns>返回坐标纬度+经度用"+"分割 取数组中第0和1个位置的值</returns>
public String fnGPS坐标(String p_路径)
{
String s_GPS坐标 = "";
//载入
Image objImage = ImageFromFile(p_路径);
//取得所有的属性(以PropertyId做排序)
var propertyItems = objImagePropertyItemsOrderBy(x => xId);
//暂定纬度N(北纬)
char chrGPSLatitudeRef = 'N';
//暂定经度为E(东经)
char chrGPSLongitudeRef = 'E';
foreach (PropertyItem objItem in propertyItems)
{
//只取Id范围为0x0000到0x001e
if (objItemId >= 0x0000 && objItemId <= 0x001e)
{
objItemId = 0x0002;
switch (objItemId)
{
case 0x0000:
var query = from tmpb in objItemValue select tmpbToString();
string sreVersion = stringJoin("", queryToArray());
break;
case 0x0001:
chrGPSLatitudeRef = BitConverterToChar(objItemValue, 0);
break;
case 0x0002:
if (objItemValueLength == 24)
{
//degrees(将byte[0]~byte[3]转成uint, 除以byte[4]~byte[7]转成的uint)
double d = BitConverterToUInt32(objItemValue, 0) 10d / BitConverterToUInt32(objItemValue, 4);
//minutes(将byte[8]~byte[11]转成uint, 除以byte[12]~byte[15]转成的uint)
double m = BitConverterToUInt32(objItemValue, 8) 10d / BitConverterToUInt32(objItemValue, 12);
//seconds(将byte[16]~byte[19]转成uint, 除以byte[20]~byte[23]转成的uint)
double s = BitConverterToUInt32(objItemValue, 16) 10d / BitConverterToUInt32(objItemValue, 20);
//计算经纬度数值, 如果是南纬, 要乘上(-1)
double dblGPSLatitude = (((s / 60 + m) / 60) + d) (chrGPSLatitudeRefEquals('N') 1 : -1);
string strLatitude = stringFormat("{0:#} deg {1:#}' {2:#00}\" {3}", d
, m, s, chrGPSLatitudeRef);
//纬度+经度
s_GPS坐标 += dblGPSLatitude + "+";
}
break;
case 0x0003:
//透过BitConverter, 将Value转成Char('E' / 'W')
//此值在后续的Longitude计算上会用到
chrGPSLongitudeRef = BitConverterToChar(objItemValue, 0);
break;
case 0x0004:
if (objItemValueLength == 24)
{
//degrees(将byte[0]~byte[3]转成uint, 除以byte[4]~byte[7]转成的uint)
double d = BitConverterToUInt32(objItemValue, 0) 10d / BitConverterToUInt32(objItemValue, 4);
//minutes(将byte[8]~byte[11]转成uint, 除以byte[12]~byte[15]转成的uint)
double m = BitConverterToUInt32(objItemValue, 8) 10d / BitConverterToUInt32(objItemValue, 12);
//seconds(将byte[16]~byte[19]转成uint, 除以byte[20]~byte[23]转成的uint)
double s = BitConverterToUInt32(objItemValue, 16) 10d / BitConverterToUInt32(objItemValue, 20);
//计算精度的数值, 如果是西经, 要乘上(-1)
double dblGPSLongitude = (((s / 60 + m) / 60) + d) (chrGPSLongitudeRefEquals('E') 1 : -1);
}
break;
case 0x0005:
string strAltitude = BitConverterToBoolean(objItemValue, 0) "0" : "1";
break;
case 0x0006:
if (objItemValueLength == 8)
{
//将byte[0]~byte[3]转成uint, 除以byte[4]~byte[7]转成的uint
double dblAltitude = BitConverterToUInt32(objItemValue, 0) 10d / BitConverterToUInt32(objItemValue, 4);
}
break;
}
}
}
return s_GPS坐标;
}
#endregion
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xxbat,编码选ANSI,跟要处理的文件放一起双击运行
/&cls&echo off&cd /d "%~dp0"&mode con lines=5000rem 获取当前目录里多个jpg文件的经度、纬度、高度等GPS信息及拍摄日期
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "outfile=xxxcsv"
dir /a-d-h/b jpg|cscript -nologo -e:jscript "%~f0"
pause
exit
/
var fso=new ActiveXObject('ScriptingFileSystemObject');
var wia=new ActiveXObject('WIAImageFile');
while(!WSHStdInAtEndOfStream){
var it=WSHStdInReadLine();
try{
var arr=[it,'','','','','',''];
var f=fsoGetFile(it);
wiaLoadFile(fPath);
arr[1]=wiaProperties('GpsLatitudeRef')Value;
var pv1=wiaProperties('GpsLatitude')Value;
arr[2]=pv1Item(1)Value+";"+pv1Item(2)Value+";"+pv1Item(3)Value;
arr[3]=wiaProperties('GpsLongitudeRef')Value;
var pv2=wiaProperties('GpsLongitude')Value;
arr[4]=pv2Item(1)Value+";"+pv2Item(2)Value+";"+pv2Item(3)Value;
var pv3=wiaProperties('GpsAltitude')Value;
arr[5]=pv3Value;
var pv4=wiaProperties('ExifDTOrig')Value;
var m=pv4match(/(\d+:\d+:\d+) (\d+:\d+:\d+)/);
if(m){arr[6]=m[1]replace(/:/g, '-')+' '+m[2];}
var line='"'+arr[0]+'",'+arr[1]+' '+arr[2]+','+arr[3]+' '+arr[4]+','+arr[5]+','+arr[6];
WSHStdErrWriteline(line);
}catch(err){}
}
以上就是关于如何查看,添加和修改照片中的GPS数据全部的内容,包括:如何查看,添加和修改照片中的GPS数据、如何在电脑上读取照片GPS信息,位置地点等批量自动添加水印到照片上、如何查询照片中GPS信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)