在我的Android应用程序中,我有一个地理参考图像,我将用作地图。所以我需要把它分成瓷砖。为此,我希望它的左上角和右下角图像坐标(x,y)与相应图像坐标的位置坐标使用android中支持的java代码。任何人都可以帮我解决这个问题。
更新 我得到了左上角和右下角的图像坐标,但我仍然没有得到左上角和右下角的位置坐标(纬度/经度)。 lat / long已经嵌入到图像中,因为它已经被地理参考,任何人都可以告诉我如何从图像中获取纬度/长角。
答案 0 :(得分:0)
修改强>
为了计算图像的位置,将其添加到exif接口代码下面的活动oncreate和位置坐标checkout:
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);