如何在android中获取地理参考图像的图像坐标和相应的位置坐标



在我的android应用程序中,我有一个地理参考图像,我将使用它作为地图。所以我需要把它分成瓦片。为此,我想要它的左上角和右下角的图像坐标(x,y),以及使用android中支持的java代码的相应图像坐标的位置坐标。有人能帮我解决这个问题吗。

更新:我得到了左上角和右下角的图像坐标,但仍然没有得到左上角的位置坐标(lat/long)。lat/long已经嵌入图像中,因为它已经被地理参考了。有人能告诉我如何从图像中获取角的lat/long吗。

编辑:

为了计算图像的位置,请在创建时将其添加到您的活动中,并在exif接口代码下方进行位置坐标检查:

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);

最新更新