Investigacion GPS
-
Upload
bethza-sandoval -
Category
Documents
-
view
18 -
download
0
description
Transcript of Investigacion GPS
-
1
Instituto Tecnolgico de Chilpancingo
Sistemas y Computacin
Ingeniera en Sistemas Computacionales
Investigacin GPS
Materia: Taller de Computo Mvil.
Prof.: M. en C. Jos Mario Martnez Castro
Alumnos:
Bethsaida Sandoval Hermenegildo.
Rudy Len Garca.
Chilpancingo, Gro., Febrero de 2015
-
2
ndice
1. Introduccin ________________________________________________3
1.1. Definicin del GPS _________________________________________4
1.2. Funcionamiento____________________________________________4
1.3. Caractersticas_____________________________________________5
2. Desarrollo de la prctica______________________________________6
2.1. Modificacin del Archivo de configuracin AndroidManifest.xm_____9
2.2. Creacin de la clase GPSTracker.java__________________________9
2.3. Variables y Funciones______________________________________10
2.4. Desarrollo de la clase AndroidGPSTrackingActivity.java__________14
2.5. Modificacin del archivo main.xml___________________________ 16
Bibliografa _________________________________________________17
-
3
INTRODUCCION
La armada estadounidense aplic esta tecnologa de navegacin utilizando satlites, para
proveer a los sistemas de navegacin de sus flotas observaciones de posiciones actualizadas y
precisas. As surgi el sistema TRANSIT, que qued operativo en 1964, y hacia 1967 estuvo
disponible, adems, para uso comercial.
Las actualizaciones de posicin, en ese entonces, estaban disponibles cada 40 minutos y el
observador deba permanecer casi esttico para poder obtener informacin adecuada.
Posteriormente, en esa misma dcada y gracias al desarrollo de los relojes atmicos, se dise
una constelacin de satlites, portando cada uno de ellos uno de estos relojes y estando todos
sincronizados con base en una referencia de tiempo determinado.
En 1973 se combinaron los programas de la Armada y el de la Fuerza Area de los Estados
Unidos (este ltimo consistente en una tcnica de transmisin codificada que provea datos
precisos usando una seal modulada con un cdigo de PRN (Pseudo-Random Noise: ruido
pseudo-aleatorio), en lo que se conoci como Navigation Technology Program (programa de
tecnologa de navegacin), posteriormente renombrado como NAVSTAR GPS.
Entre 1978 y 1985 se desarrollaron y lanzaron once satlites prototipo experimentales
NAVSTAR, a los que siguieron otras generaciones de satlites, hasta completar la constelacin
actual, a la que se declar con capacidad operacional inicial en diciembre de 1993 y con
capacidad operacional total en abril de 1995.
En 2009, el gobierno de los Estados Unidos ofreci el servicio normalizado de determinacin
de la posicin para apoyar las necesidades de la OACI, y sta acept el ofrecimiento.
Fig.1
-
4
GPS
El sistema de posicionamiento global (GPS) es un objeto que permite a una persona determinar
en todo el mundo la posicin de un objeto, una persona o un vehculo con una precisin hasta
de centmetros (si se utiliza GPS diferencial), aunque lo habitual son unos pocos metros de
precisin. El sistema fue desarrollado, instalado y empleado por el Departamento de Defensa
de los Estados Unidos. El sistema GPS est constituido por 24 satlites y utiliza la triangulacin
para determinar en todo el globo la posicin con una precisin de ms o menos metros.
FUNCIONAMIENTO
El GPS funciona mediante una red de 24 satlites en rbita sobre el planeta tierra, a 20 200 km
de altura, con trayectorias sincronizadas para cubrir toda la superficie de la Tierra.
Cuando se desea determinar la posicin, el receptor que se utiliza para ello localiza
automticamente como mnimo cuatro satlites de la red, de los que recibe unas seales
indicando la identificacin y la hora del reloj de cada uno de ellos.
Con base en estas seales, el aparato sincroniza el reloj del GPS y calcula el tiempo que tardan
en llegar las seales al equipo, y de tal modo mide la distancia al satlite
mediante triangulacin (mtodo de trilateracin inversa), la cual se basa en determinar la
distancia de cada satlite respecto al punto de medicin.
Conocidas las distancias, se determina fcilmente la propia posicin relativa respecto a los tres
satlites. Conociendo adems las coordenadas o posicin de cada uno de ellos por la seal que
emiten, se obtiene la posicin absoluta o coordenada reales del punto de medicin. Tambin se
consigue una exactitud extrema en el reloj del GPS, similar a la de los relojes atmicos que
llevan a bordo cada uno de los satlites.
La antigua Unin Sovitica construy un sistema similar llamado GLONASS, ahora gestionado
por la Federacin Rusa.
Actualmente la Unin Europea est desarrollando su propio sistema de posicionamiento por
satlite, denominado Galileo.
A su vez, la Repblica Popular China est implementando su propio sistema de navegacin, el
denominado Beidou, prevn que cuente con 12 y 14 satlites entre 2011 y 2015. Para 2020, ya
plenamente operativo deber contar con 30 satlites. En abril de 2011 tenan ocho en rbita.
-
5
CARACTERISTICAS
El Sistema Global de Navegacin por Satlite lo componen:
Segmento espacial
Satlites en la constelacin: 24 (4 6 rbitas)
Altitud: 20 200 km
Perodo: 11 h 58 min (12 horas sidreas)
Inclinacin: 55 grados (respecto al ecuador terrestre).
Vida til: 7,5 aos
Segmento de control (estaciones terrestres) Fig.2
Estacin principal: 1
Antena de tierra: 4
Estacin monitora (de seguimiento): 5, Colorado Springs, Hawi, Kwajalein, Isla de
Ascensin e Isla de Diego Garca
Seal RF
Frecuencia portadora:
Civil 1575,42 MHz (L1). Utiliza el Cdigo de Adquisicin Aproximativa (C/A). Militar 1227,60 MHz (L2). Utiliza el Cdigo de Precisin (P), cifrado. Nivel de potencia de la seal: 160 dBW (en superficie tierra). Polarizacin: circular dextrgira.
Precisin
Posicin: oficialmente aproximadamente 15 m (en el 95 % del tiempo). En la realidad un GPS
porttil monofrecuencia de 12 canales paralelos ofrece una precisin de entre 2,5 y 3 metros en
ms del 95 % del tiempo. Con el WAAS / EGNOS / MSAS activado, la precisin asciende de
1 a 2 metros.
Hora: 1 ns
Cobertura: mundial
Capacidad de usuarios: ilimitada
Sistema de coordenadas:
-
6
Sistema Geodsico Mundial 1984 (WGS84).
Centrado en la Tierra, fijo.
Integridad: tiempo de notificacin de 15 minutos o mayor. No es suficiente para la aviacin civil.
Disponibilidad: 24 satlites y 21 satlites. No es suficiente como medio primario de navegacin.
2. DESARROLLO DE LA PRCTICA
Con el fin de desarrollar una aplicacin basada en la ubicacin, se realizar una aplicacin
mediante la bsqueda automtica, para ellos se integra el mdulo de localizacin por medio del
GPS.
2.1 Crear un nuevo proyecto Android
Para crear el nuevo proyecto en eclipse ir al a la opcin File New Project (Fig.1)
Fig.1 Creacion de un nuevo proyecto
-
7
Despues de seleccionar la opcion Project se debe seleccionar el tipo de proyecto a realizar en
este caso Android ApplicationProyect despus dar clic en siguiente (Fig.2).
Fig.2 Seleccin del tipo de proyecto
Una vez seleccionado el proyecto que se desarrollar, es necesario completar los campos que se
muestran en la ventana (Fig. 3)
Fig.3 Datos utilizados para el nuevo proyecto
-
8
Prosiguiendo con el completado de datos para las siguientes 3 ventanas no se hacen
cambios dando as clic en next, como se muestra en la Fig. 4 a excepcin de la ltima
ventana donde se cambiar el Layout Name (Fig.5).
Fig.4 Datos dados por default en el proyecto
Fig. 5 Cambio del Layout Name
2.1 Modificacin del Archivo de configuracin AndroidManifest.xm
-
9
Una vez creado el proyecto, se debe modificar el archivo AndroidManifest.xml agregando los
permisos
Si recibe ubicacin basada en la red, entonces es necesario agregar el permiso de INTERNET.
2.2 Creacin de la clase GPSTracker.java
Dentro de la carpeta src del proyecto se crear una nueva clase llamada
GPSTracker.java extender las llamadas de servicio y tambin aplicarla a la clase
de LocationListener.
public class GPSTracker extends Service implements LocationListener
{
2.3 Variables y Funciones
Se agregaran las variables globales necesarias y un constructor para esta clase.
public class GPSTracker extends Service implements LocationListener
{
private final Context mContext;
Bandera de estado del GPS boolean isGPSEnabled = false;
Bandera de estado de la red boolean isNetworkEnabled = false;
Bandera de estado del GPS boolean canGetLocation = false;
Location location; // Ubicacion
double latitude; // latitud
-
10
double longitude; // longitud
La distancia mnima para cambiar Actualizaciones en metros private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 10;
10 metros
El tiempo mnimo entre actualizaciones en milisegundos private static final long MIN_TIME_BW_UPDATES = 1000 * 60 * 1;
1 minuto
Declarar un gerente de locacin
protected LocationManager locationManager;
public GPSTracker(Context context) {
this.mContext = context;
getLocation();
}
Aadir a la aplicacin la funcin de getLocation () que se llam en el constructor. En esta
funcin se obtiene la ubicacin del proveedor de la red por primera vez. Si el proveedor de la
red estar inhabilitado, entonces obtenemos la ubicacin del proveedor GPS (Fig.6)
Fig.6 Permitir utilizar un proveedor de red
public Location getLocation() {
try {
locationManager = (LocationManager) mContext
.getSystemService(LOCATION_SERVICE);
Obtener el estado del GPS
isGPSEnabled = locationManager
.isProviderEnabled(LocationManager.GPS_PROVIDER);
-
11
Obtener el estado del GPS isNetworkEnabled = locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER); if (!isGPSEnabled && !isNetworkEnabled) {
Si Ningn proveedor de red est habilitado
} else {
this.canGetLocation = true;
if (isNetworkEnabled) {
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES,this);
Log.d("Network", "Network");
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
}
Si el GPS est habilitado conseguir latitud y longitud utilizando Servicios GPS if (isGPSEnabled) {
if (location == null) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null){
location =
locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
Llamar a esta funcin dejar de usar el GPS en su aplicacin public void stopUsingGPS(){
-
12
if(locationManager != null){
locationManager.removeUpdates(GPSTracker.this);
}
}
Funcin para obtener la latitud public double getLatitude(){
if(location != null){
latitude = location.getLatitude();
}
Retornar latitud return latitude;
}
Funcin para obtener la longitud
public double getLongitude(){
if(location != null){
longitude = location.getLongitude();
}
Retorno de la logitud return longitude;
}
Funcin para comprobar GPS / wifi habilitado
public boolean canGetLocation() {
return this.canGetLocation;
}
Funcin para mostrar los ajustes de dilogo de alerta, al presionar el botn de ajustes abrir la
opcin de ajustes
public void showSettingsAlert(){
AlertDialog.Builder alertDialog = new
AlertDialog.Builder(mContext);
Configuracin del Ttulo alertDialog.setTitle("Ajustes Del GPS");
-
13
Configuracin de mensajes de dilogo (Fig.7) alertDialog.setMessage
("GPS no est habilitado.Quieres ir al men de configuracin?");
Fig.7 Alerta de GPS no habilitado
Si es presionado el botn de ajustes este direccionar al men del mvil para as poder activar
el GPS (Fig.8)
alertDialog.setPositiveButton("Ajustes", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int which) {
Intent intent = new
Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
mContext.startActivity(intent);
}
});
Fig.8 Men de activacin del GPS en el mvil
Al pulsar el botn cancelar este saldr del dialogo y volver al men de inicio
-
14
alertDialog.setNegativeButton("Cancelar", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
Mostrar un mensaje de alerta alertDialog.show();
}
2.4. Desarrollo de la clase AndroidGPSTrackingActivity.java
Esta clase contiene las siguientes funciones para GPSTracker.java. Estas funciones
devolvern 0.00 si no logra obtener la latitud y longitud o si tarda al cargar (Fig. 10)
Despues de un tiempo carga la ubicacin y la muestra Fig.11
Fig.10 Cargando la configuracin
-
15
Fig.11
public class AndroidGPSTrackingActivity extends Activity {
Button btnShowLocation;
GPSTracker class GPSTracker gps;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnShowLocation = (Button)
findViewById(R.id.btnShowLocation);
Mostrar ubicacin al hacer click en el botn
btnShowLocation.setOnClickListener(new
View.OnClickListener() {
@Override
public void onClick(View arg0) {
Crear class object gps = new
GPSTracker(AndroidGPSTrackingActivity.this);
-
16
// comprobar si est activado el GPS
if(gps.canGetLocation()){
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
// \n Nueva lnea
Toast.makeText(getApplicationContext(), "Su
Ubicacion es - \nLat: " + latitude + "\nLong: " + longitude,
Toast.LENGTH_LONG).show();
}else{
//no se puede obtener la ubicacin
// GPS o la red no est habilitada
// Preguntar al usuario para activar el GPS /
ajustes de red
gps.showSettingsAlert();
}
}
});
}
}
2.5 Modificacin de main.xml
Se crear un botn en el archivo main.xml para que este mande a llamar las funciones necesarias
con el siguiente cdigo y como se muestra en la figura 11.
Fig.12 Interfaz del archivo main.xml
-
17
Bibliografa
http://www.penyagolosa.net/informacion-general/que-es-el-gps-funcionamiento-
general.html
http://www.gps-sisat.com.ar/Web-%20datos.pdf
http://es.wikipedia.org/wiki/Sistema_de_posicionamiento_global#Caracter.C3.ADstic
as_t.C3.A9cnicas_y_prestaciones
http://www.gpsparaflotas.es/como-funciona-gta/
http://webs.um.es/bussons/GPSresumen_TamaraElena.pdf
http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/