Foros del Web » Programando para Internet » PHP »

de Json a GeoJson

Estas en el tema de de Json a GeoJson en el foro de PHP en Foros del Web. Hola, tengo una consulta en PHP a una BD postgres y saco un fichero json y quisiera convertirlo a GeoJson, hay alguna utilidad ya para ...
  #1 (permalink)  
Antiguo 23/08/2011, 03:43
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 12 años, 11 meses
Puntos: 0
de Json a GeoJson

Hola,
tengo una consulta en PHP a una BD postgres y saco un fichero json y quisiera convertirlo a GeoJson, hay alguna utilidad ya para hacerlo?
<?php
conexion base datos y query
>
ahora hago el json
<?php
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
$data[]=$line;
}
echo json_encode($data);
$especie = json_encode($data);
$archivo = fopen("../especie.json", "c");
echo $archivo;
fwrite($archivo, $especie);
fclose($archivo);
?>

el formato del GeoJson seria (le falta un id)

{"type": "FeatureCollection", "features": [{"geometry": {"type": "Point", "coordinates": [-10.28, 50.43]}, "type": "Feature", "properties": {"shooting_longitude": -10.28, "shooting_latitude": 50.4}]}

voy a generar un campo X Y en la tabla para no hacer conversiones. como haria para darle el formato de salida al resto?
gracias.
  #2 (permalink)  
Antiguo 23/08/2011, 08:32
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: de Json a GeoJson

Pero si el formato no deja de ser JSON, ¿cual es el problema?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 24/08/2011, 02:01
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: de Json a GeoJson

antes de nada, gracias por la respuesta.

el problema es q tendria q tener la geometria para poder representarlo graficamente en un mapa. a ver la salida ahora del fichero Json es:
(le he añadido a la consulta un campo "id" y el "X (longitud)" "Y (latitud)"

[{"id":"6","x":"50.43","y":"-10.28","id_haul":"86","id_catch":"88","shooting_la titude":"50.43","shooting_longitude":"-10.28"}]

tendria q tener la salida del tipo:

{"type": "FeatureCollection", "features": [{"geometry": {"type": "Point", "coordinates": [-10.28, 50.43]}, "type": "Feature", "properties": {"shooting_longitude": -10.28, "shooting_latitude": 50.4}, "id":"6"}]}

para poder representarlo geograficamente. la duda es si serviria con formatear una salida de este tipo, o habria alguna funcion o algo q lo transformase.

gracias.
  #4 (permalink)  
Antiguo 24/08/2011, 10:03
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: de Json a GeoJson

Creo que sigues sin ver claro.

PHP tiene una extensión para JSON, con lo cual puedes codificar/decodificar dicho formato. De hecho ya la estás usando.

La idea es pasar el objeto JSON a un array en PHP, de ahí iterar y crear otro array el cual finalmente codificaras de nuevo a JSON con el formato deseado.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 25/08/2011, 06:22
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: de Json a GeoJson

si, si eso lo he visto claro. la idea era simplificar la salida, de hecho existe una funcion q la simplifica "ST_AsGeoJSON(the_geom) AS geojson" esta funcion extrae la geometria de la base de datos y al fichero de salida le da la estructura con el X, Y y ya solo tengo q meter los literales y los arrays con los otros datos.

gracias.

Etiquetas: json, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:22.