package uni.projecte.maps.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.HashMap; import android.content.Context; import com.google.android.maps.GeoPoint; import com.google.android.maps.MapView; public class UTMSet { private ArrayList<UTMSquare> utmList; private HashMap<String, UTMSquare> utmHashList; private Context baseContext; public UTMSet(Context baseContext){ this.baseContext=baseContext; } public UTMSquare getUTMCoords(String utm){ UTMSquare utmS=utmHashList.get(utm); return utmS; } public void loadUTMIberianGrid(MapView mapView){ InputStream is; utmList=new ArrayList<UTMSquare>(); utmHashList=new HashMap<String, UTMSquare>(); try { is = baseContext.getResources().getAssets().open("utmIberic.json"); BufferedReader reader; reader = new BufferedReader(new InputStreamReader(is,"UTF-8")); String line = null; String utm; while ((line = reader.readLine()) != null) { utm=line; line = reader.readLine(); if(line.equals("")){ line = reader.readLine(); } String [] elements=line.split(" "); if(elements.length>1){ String [] subElement=elements[0].split(","); double lat=Double.valueOf(subElement[1]); double longi=Double.valueOf(subElement[0]); GeoPoint a=new GeoPoint((int) (lat * 1E6), (int) (longi * 1E6)); subElement=elements[1].split(","); lat=Double.valueOf(subElement[1]); longi=Double.valueOf(subElement[0]); GeoPoint b=new GeoPoint((int) (lat * 1E6), (int) (longi * 1E6)); subElement=elements[2].split(","); lat=Double.valueOf(subElement[1]); longi=Double.valueOf(subElement[0]); GeoPoint c=new GeoPoint((int) (lat * 1E6), (int) (longi * 1E6)); subElement=elements[3].split(","); lat=Double.valueOf(subElement[1]); longi=Double.valueOf(subElement[0]); GeoPoint d=new GeoPoint((int) (lat * 1E6), (int) (longi * 1E6)); UTMSquare utmS= new UTMSquare(utm, a, b, c, d); utmList.add(utmS); utmHashList.put(utm, utmS); } } } catch (IOException e) { e.printStackTrace(); } } }