Tag Archives: JSON

Hoy Meteogalicia acaba de publicar la aplicación MeteoSIX Mobile para dispositivos Android, y la API pública del MeteoSIX.

MeteoSIX Mobile: Predicción meteorológica y oceanográfica personalizada en tu móvil

MeteoSIX Mobile: Predicción meteorológica y oceanográfica personalizada en tu móvil

 

Si ya leísteis algo sobre el proyecto MeteoSIX, sabréis que es un proyecto que se ha llevado a cabo por MeteoGalicia, el Grupo de Arquitectura de Computadores de la Universidad de A Coruña (del que formo parte), el Laboratorio de Sistemas de la Universidad de Santiago de Compostela y el CESGA.

La API del MeteoSIX permite un acceso estructurado y organizado a la ingente cantidad de información meteorológica y oceanográfica proveniente de las salidas de las ejecuciones de los modelos de predicción numérica que Meteogalicia ejecuta diariamente. Estas salidas están disponibles a través de un THREDDS, que ya organiza bastante bien la información y la pone pública a través de servicios estándar y no estándar. Lo que hace la API es permitir un acceso más simplificado a esa información, via peticiones HTTP GET o POST y respuestas en GeoJSON, GML, KML o HTML. ¿Quieres acceder a ella? Es pública. Échale un ojo al manual de usuario: en castellano o en gallego.

Además del API, se ha publicado también la aplicación MeteoSIX Mobile para Android.

Pantallazo de MeteoSIX Mobile

Pantallazo de MeteoSIX Mobile

Permite obtener la predicción para la ubicación actual o para cualquier punto de Galicia, tanto en tierra como en mar, y alrededores (la salida efectiva comprende zonas del norte de Portugal, Asturias, Castilla León…). Todo esto de un modo geolocalizado: proporciona una vista de mapa donde, además de poder ver los resultados de las búsquedas de lugares realizadas, puedes seleccionar un punto arbitrario para ver la predicción para ese punto.

 

Pantallazo de MeteoSIX

Pantallazo de MeteoSIX

MeteoSIX Mobile está en el Android Market, y también te puedes descargar directamente el apk.

Personalmente este proyecto me ha parecido muy interesante desde el principio. Las posibilidades que se abren al crear una IDE meteorológica y oceanográfica tan completa y tan potente son infinitas. Y ahora las puertas están, por fin, abiertas, gracias a la API pública. Desde el proyecto MeteoSIX estamos deseando que se utilicen esos datos de cuantas maneras sea posible, así que si tienes una idea, un prototipo de aplicación en la cabeza, lo que sea… adelante!

 

Post to Twitter Post to Facebook

Publicado en : Informática

Since this blog is about foo and bar, now I’ll talk a little about bar.

Today I’ve been dealing with Wicket and JSON services, and I noticed that the JSON responses served from the framework were not correctly encoded (Spanish characters like ‘ó’ were encoded as ‘�’ and so on).

Here it is the (old) code of my custom IRequestTarget implementation, which I use in my web services to tell Wicket to respond using JSON instead of the default RequestTarget:

public class JSONRequestTarget implements IRequestTarget {

	private JSON response;

	public JSONRequestTarget(JSON response) {
		this.response = response;
	}

	@Override
	public void detach(RequestCycle requestCycle) {
		// Empty on purpose
	}

	@Override
	public void respond(RequestCycle requestCycle) {
		requestCycle.getResponse().setCharacterEncoding("UTF-8");
		requestCycle.getResponse().setContentType("application/json;");
		requestCycle.getResponse().write(this.response.toString());
		if (MeteosixSession.get().getId() == null) {
			MeteosixSession.get().bind();
		}
	}

}

As you can see, the character encoding is supposed to be correctly set in line #16, as well as the Content-Type in line #17. Inexplicably, even while Firebug confirmed that the returned headers were OK, the characters where badly encoded. What’s the solution?

You have to set the Content-Type to “application/json; charset=UTF-8″, replacing the line #17 with the following:

		requestCycle.getResponse().setContentType("application/json; charset=UTF-8");

This way you’ll receive in the client the JSON object with the correct Character Encoding and the correct Content-Type. I hope this can help anyone in the same situation to save some time google-ing for a solution.

Post to Twitter Post to Facebook