如何查看,添加和修改照片中的GPS数据

如何查看,添加和修改照片中的GPS数据,第1张

运行“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=5000

rem 获取当前目录里多个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信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9585766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存