Java 如何在android中获取地理参考图像的图像坐标和相应的位置坐标
在我的android应用程序中,我有一个地理参考图像,我将使用它作为地图。所以我需要把它分成几块。为此,我希望它的左上角和右下角的图像坐标(x,y)和相应图像坐标的位置坐标使用android支持的java代码。有人能帮我解决这个问题吗 更新: 我得到了左上角和右下角的图像坐标,但仍然没有得到左上角和右下角的位置坐标(lat/long)。lat/long已经嵌入到图像中,因为它已经是地理参考的。有人能告诉我如何从图像中获取角的lat/long。编辑: 要计算图像的位置,请在创建时将其添加到“活动”中,并在exif接口代码下方进行位置坐标签出:Java 如何在android中获取地理参考图像的图像坐标和相应的位置坐标,java,android,geospatial,Java,Android,Geospatial,在我的android应用程序中,我有一个地理参考图像,我将使用它作为地图。所以我需要把它分成几块。为此,我希望它的左上角和右下角的图像坐标(x,y)和相应图像坐标的位置坐标使用android支持的java代码。有人能帮我解决这个问题吗 更新: 我得到了左上角和右下角的图像坐标,但仍然没有得到左上角和右下角的位置坐标(lat/long)。lat/long已经嵌入到图像中,因为它已经是地理参考的。有人能告诉我如何从图像中获取角的lat/long。编辑: 要计算图像的位置,请在创建时将其添加到“活动”
imageView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
pubic void onGlobalLayout() {
int height = imageView.getHeight();
int width = imageView.getWidth();
int x = imageView.getLeft();
int y = imageView.getTop();
//don't forget to remove the listener to prevent being called again by future layout events:
imageView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});
在将照片发送到远程服务器进行处理之前,您可以在拍照时嵌入EXIF数据/进行设置。向远程系统发布/发送数据时,可以单独发送位置数据,或将其作为属性保留为EXIF数据的一部分
在Android中写入/地理标记JPEG(EXIF数据)
通过阅读上述内容,我的假设如下:
ExifInterface exif;
exif = new ExifInterface("/sdcard/DCIM/"+filename+".jpeg");
double exifLatitude = exif.getAttribute(ExifInterface.TAG_GPS_LATITUDE);
double exifLongitude = exif.getAttribute(ExifInterface.TAG_GPS_LONGITUDE);
该图像将用于地图,因此我需要其左上角和右下角的图像坐标(x,y)以及与图像坐标对应的位置坐标。我拥有的图像没有与之关联的exif文件,尽管它有一个aux.xml文件,对于其他情况,图像可以采用tiff格式。所以你们的解决方案是给我左上角的图像坐标,高度和宽度,这样我就可以计算左下角的图像坐标,但是不能计算与这两个点相关的lat/long值。