[Gvsig_usuarios] petición datos sigpac-json

Juanjo Valero geodesman en gmail.com
Lun Abr 10 09:24:14 CEST 2017


Muchas gracias Joaquin por la aportación!!

Le dedicaré tiempo para analizar tu script y lo que tengo. A partir de ahi
veré ya como seria a nivel general para un conjunto de entidades (p.e
parcelas de un municipio)

Saludos,
Juanjo

El 6 de abril de 2017, 19:18, Joaquin Jose del Cerro Murciano <
jjdelcerro en gvsig.org> escribió:

>
>
> El 6 de abril de 2017, 12:06, Juanjo Valero <geodesman en gmail.com>
> escribió:
>
>> Gracias por la aclaración Francisco!!
>>
>> En lo del script está el asunto, superado el tema de la petición (aun
>> pensando en como hacerla para todo un municipio o varias parcelas), es lo
>> que ayer me llevo de cabeza y no conseguí solucionar.
>> Tras varios intentos con webs conversoras o pasando esa info que me
>> devuelve a un archivo de texto y guardándolo como json para pasarlo a shp
>> es donde tuve el problema....No es tan trivial como eso.
>>
>> Después para ver la estructura hice el paso inverso; pase un shp a
>> geojson para ver la estructura y es como dices.
>>
>> Mi confusión es porque me dice que las respuesta del servidor es un json
>> si en realidad no se corresponde con la estructura de este para que lo
>> pueda cargar directamente en un convsersor o en un GIS que reconocozca
>> archivos json.....
>>
>>
>
> Hola,
> sin investigar mucho sobre SIGPAC ni geojson, se me ha ocurrido que no
> debia ser muy complicado hacer algo en gvSIG para crear un shape a partir
> de ese fichero json con los datos de SIGPAC.
>
> Ha sido solo un ratito y no pretende ser una herramienta ni de lejos, pero
> igual puede servir a quien lo necesite como punto de partida para
> retorcarlo segun precise y acabar teniendo algo que le sirva.
>
> He cogido el codigo json que aparecia en el correo de juanjo, lo he
> guardado en un fichero, en mi caso en "/tmp/sigpac.json" y he creado un
> pequeño script de python en gvSIG que lo exporta a un shape y lo carga como
> una capa de gvSIG.
>
> El script no es muy complicado, y supongo que se puede retorcar para
> adaptarlo a las necesidades de cada uno.
>
> #------------><------------------><--------------------
> # encoding: utf-8
>
> from gvsig import *
> from gvsig.geom import *
> from org.gvsig.fmap.geom import GeometryLocator
>
> def main(*args):
>   # Cargamos los datos
>   f = open("/tmp/sigpac.json")
>   x = f.read()
>   f.close()
>
>   null=None # El null de json es None en python.
>   datos = eval(x.replace('"', '"""'))
>
>   # Creamos la capa
>   schema = createFeatureType()
>   schema.append("provincia", "INTEGER")
>   schema.append("municipio", "INTEGER")
>   schema.append("agregado", "INTEGER")
>   schema.append("zona", "INTEGER")
>   schema.append("poligono", "INTEGER")
>   schema.append("parcela", "INTEGER")
>   schema.append("recinto", "INTEGER")
>   schema.append("superficie", "DOUBLE")
>   schema.append("pendiente_media", "DOUBLE")
>   schema.append("coef_regadio", "DOUBLE")
>   schema.append("admisibilidad", "STRING",100)
>   schema.append("incidencias", "STRING",100)
>   schema.append("uso_sigpac", "STRING", 10)
>   schema.append("srid", "STRING", 20)
>   schema.append("GEOMETRY", "GEOMETRY").setGeometryType(POLYGON, D2)
>   shape = createShape(schema,prefixname="SIGPAC")
>   print "Nombre: ", shape.getName(), "\tRuta: ", shape.getDataStore().
> getFullName()
>
>   # Nos recorremos los registros del json y los cargamos en el shape
>   geometryManager = GeometryLocator.getGeometryManager()
>   shape.edit()
>   for registro in datos:
>     nuevo_registro = dict()
>     for k,v in registro.iteritems():
>       if k == "wkt":
>         nuevo_registro["GEOMETRY"] = geometryManager.createFrom(v)
>       else:
>         if v == None:
>           v = "" # No podemos meter nulos en los DBFs/SHPs.
>         # Ojo los nombres de campo del DBF estan cortados a 10 caracteres.
>         # asi que aqui los recortamos antes de hacer el append.
>         nuevo_registro[k[:10]] = v
>     shape.append(nuevo_registro)
>   shape.commit()
> #------------><------------------><--------------------
>
> Me he encontrado con dos problemas, que supongo seran mas de transcripcion
> en el correo que de los datos; pero me han obligado a tocar los datos del
> json antes de intentar cargarlos:
>
> - En los nombres de campo de provincia y municipio habian comillas
>   tipograficas en lugar de la comilla doble normal. Esto le daba
>   dolores de cabeza a python, y las he tenido que cambiar por
>   unas comillas dobles normales.
> - En el campo pendiente_media falta una coma al final de linea, y
>   se la he añadido.
>
> Supongo que son errores que no se presentan siempre en los json que se
> generan desde SIGPAC por que si no, no se podrian leer nunca.
>
> Bueno, aqui os dejo el pedacito de codigo por si os sirve de algo, y si
> teneis alguna duda podeis preguntar.
>
>
> Ah, por cierto, una cosa es json y otra geojson.
> El fichero de SIGPAC parece que es un json, pero no un geojson.
>
> Un saludo
> Joaquin
>
>
>
>
>> Gracias!
>>
>> El 6 de abril de 2017, 11:46, Francisco Puga <fpuga en icarto.es> escribió:
>>
>>> Ese fichero efectivamente es un json, pero no es un geojson, por eso no
>>> lo reconocen las aplicaciones. El geojson es un formato estándar aprobado
>>> por el IETF. Para convertir ese fichero a geojson debería tener una pinta
>>> parecida a:
>>>
>>> {
>>> "type": "FeatureCollection",
>>> "features": [
>>>  {
>>>    "type": "Feature",
>>>    "geometry": {
>>>      "type": "POLYGON",
>>>      "coordinates": [
>>>        [
>>>        [1.53094151493186, 41.567392610212],
>>>        [1.53093231076344, 41.5673946352799]
>>>        ... RESTO DE COORDENADAS
>>>        ]
>>>      ]
>>>    },
>>>    "properties": {
>>>      "provincia":8,
>>>      "municipio":226,
>>>      "agregado":0,
>>>      "zona":0,
>>>      "poligono":3,
>>>      "parcela":52,
>>>      "recinto":1,
>>>      "superficie":0.3087,
>>>      "pendiente_media":2.4
>>>      "coef_regadio":0,
>>>      "admisibilidad":null,
>>>      "incidencias":null
>>>    }
>>>  }
>>>  ]
>>>  }
>>>
>>>  Como convertir eso a mano cada vez es un bastante farragoso tendrías
>>> que hace un script que hiciera la conversión
>>>
>>> El 6 de abril de 2017, 10:58, Juanjo Valero <geodesman en gmail.com>
>>> escribió:
>>>
>>>> Hola Eduardo,
>>>>
>>>> En SIGPAC me dijo en su dia como hacer las peticiones mediante el
>>>> siguiente correo:
>>>>
>>>> ********************
>>>>
>>>> En respuesta a  su consulta,  recibida en este Organismo en fecha
>>>> 30/11/2016,   se informa que el Sistema  de  Información Geográfica de
>>>> Parcelas  Agrícolas  es una aplicación del Ministerio de Agricultura,
>>>> Alimentación y Medio Ambiente
>>>> <http://es.wikipedia.org/wiki/Ministerio_de_Agricultura,_Alimentaci%C3%B3n_y_Medio_Ambiente,Alimentaci%C3%B3nyMedioAmbiente> concebida
>>>> para  facilitar a los agricultores la presentación de solicitudes (la
>>>> PAC
>>>> <http://es.wikipedia.org/wiki/Pol%C3%ADtica_agr%C3%ADcola_com%C3%BAn_de_la_Uni%C3%B3n_Europea%C3%ADticaagr%C3%ADcolacom%C3%BAndelaUni%C3%B3nEuropea>)
>>>> con soporte gráfico, así como para facilitar los controles administrativos
>>>> y sobre el terreno; permite identificar geográficamente las parcelas
>>>> <http://es.wikipedia.org/w/index.php?title=Parcela&action=edit&redlink=1%28a%C3%BAnnoredactado%29> declaradas
>>>> por los agricultores <http://es.wikipedia.org/wiki/Agricultores> y
>>>> ganaderos <http://es.wikipedia.org/wiki/Ganader%C3%ADa%C3%ADa>, en
>>>> cualquier régimen de ayudas relacionado con la superficie cultivada o
>>>> aprovechada por el ganado en todo el territorio español*.  La
>>>> información que muestra es única, de una fecha concreta (actual*), no
>>>> siendo posible acceder on-line a información de campañas anteriores.
>>>>
>>>>
>>>>
>>>> Se indica asimismo que desde este Organismo no se puede distribuir la
>>>> base de datos SIGPAC a particulares o empresas privadas, sino únicamente a
>>>> entidades del sector público, o  empresas que realicen  algún trabajo de
>>>> colaboración para  un Organismo  público, en cuyo caso la solicitud
>>>> deberá  ser formulada por el Organismo en cuestión.
>>>>
>>>>
>>>>
>>>> No obstante, se señala que las Comunidades Autónomas son competentes
>>>> para la distribución del SIGPAC en su territorio, por lo que se le
>>>> recomienda que se ponga en contacto con las Consejerías competentes en
>>>> materia de agricultura correspondientes.
>>>>
>>>>
>>>>
>>>> Puede obtener información relacionada con los recintos SigPac a través
>>>> del Servicio de acceso público de Propiedades de Recinto del Visor SigPac.
>>>>
>>>>
>>>>
>>>> Dicho servicio, dados los códigos SigPac del recinto, se encarga de
>>>> proporcionar las propiedades de dicho recinto establecidas en SigPac.
>>>>
>>>>
>>>>
>>>> Existen dos llamadas de tipo REST, que serán atendidas por este
>>>> servicio:
>>>>
>>>>
>>>>
>>>> *1.- http://sigpac.mapama.es/fega/serviciosvisorsigpac/query/recinfo/[pr]/[mu]/[ag]/[zo]/[po]/[pa]/[re].gz
>>>> <http://sigpac.mapama.es/fega/serviciosvisorsigpac/query/recinfo/%5bpr%5d/%5bmu%5d/%5bag%5d/%5bzo%5d/%5bpo%5d/%5bpa%5d/%5bre%5d.gz>(*información
>>>> obtenida en formato binario)
>>>>
>>>>
>>>>
>>>> *2.-*[http://[mi.dominio.es]/%5bmiservicio%5d/query/recinfo/%5
>>>> bpr%5d/%5bmu%5d/%5bag%5d/%5bzo%5d/%5bpo%5d/%5bpa%5d/%5bre%5d.json]*http://[mi.dominio.es
>>>> <http://mi.dominio.es>]/[miservicio]/query/recinfo/[pr]/[mu]/[ag]/[zo]/[po]/[pa]/[re].json*
>>>> * (* información en formato json)
>>>>
>>>>
>>>>
>>>>          donde:
>>>>
>>>>
>>>>
>>>> *               [pr]: *código de provincia
>>>>
>>>> *               [mu]: *código de municipio
>>>>
>>>> *                [ag]: *código de agregado
>>>>
>>>> *                [zo]: *código de zona
>>>>
>>>> *                [po]: *código de polígono
>>>>
>>>> *                [pa]: *código de parcela
>>>>
>>>> *                 [re]: *código de recinto
>>>>
>>>>
>>>>
>>>> Por ejemplo, con la llamada    http://sigpac.mapama.es/feg
>>>> a/ServiciosVisorSigpac/query/recinfo/8/226/0/0/3/52/1.json
>>>>
>>>>
>>>>
>>>> La información que se obtendría es la siguiente:
>>>>
>>>>
>>>>
>>>> *      [*
>>>>
>>>> *          {*
>>>>
>>>> *                      “provincia":8,*
>>>>
>>>> *                   “municipio":226,*
>>>>
>>>> *                   "agregado":0,*
>>>>
>>>> *                   "zona":0,*
>>>>
>>>> *                   "poligono":3,*
>>>>
>>>> *                   "parcela":52,*
>>>>
>>>> *                   "recinto":1,*
>>>>
>>>> *                   "superficie":0.3087,*
>>>>
>>>> *                   "pendiente_media":2.4*
>>>>
>>>> *                   "coef_regadio":0,*
>>>>
>>>> *                   "admisibilidad":null,*
>>>>
>>>> *                   "incidencias":null,*
>>>>
>>>> *                   "uso_sigpac":"TA",*
>>>>
>>>> *                   "wkt":"POLYGON((1.53094151493186 41.567392610212, 1.53093231076344 41.5673946352799, 1.53031685272258*
>>>>
>>>> *                          41.5675300440955, 1.52978621116496 41.567627383981, 1.5298196298149 41.567740400541,*
>>>>
>>>> *                          1.52989142333442 41.5677638296381, 1.53024436182868 41.5678178786676, *
>>>>
>>>> *                          1.53074363662637 41.5677657189192, 1.53110407189528 41.5677240885183, *
>>>>
>>>> *                          1.53100273803265 41.5675258724221, 1.53096112355731 41.5674263750345, *
>>>>
>>>> *                          1.53094151493186 41.567392610212))",*
>>>>
>>>> *                   "srid":4258*
>>>>
>>>> *          }*
>>>>
>>>> *     ]*
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Esperamos que esta información pueda serle de ayuda.
>>>>
>>>>
>>>>
>>>> Un saludo,
>>>>
>>>>
>>>> *************************
>>>>
>>>>
>>>> Bien, ese ejemplo de respuesta es para una parcela. Aún no se hace la
>>>> petición para todo un municipio por ejemplo o para unas parcelas en
>>>> concreto.
>>>>
>>>>
>>>> Por otro lado esa respuesta es un formato .json, pero tampoco he
>>>> conseguido aun crear un archivo *.json o *.geojson para que un conversor lo
>>>> cargue y pueda exportarlo a shapefile para cargarlo en gvSIG.
>>>>
>>>> En internet hay conversores, pero no me reconoce el archivo que he
>>>> creado con esa info y he guardado como .json. Me da error al cargarlo......
>>>>
>>>>
>>>> Cualquier ayuda es bienvenida.
>>>>
>>>>
>>>> Gracias,
>>>>
>>>> Juanjo
>>>>
>>>> El 6 de abril de 2017, 8:57, Eduardo Méndez Pírez <
>>>> EduardoMendezP en hotmail.com> escribió:
>>>>
>>>>> Yo también estoy interesado en descubrir la forma de descargar
>>>>> geometrías de SIGPAC. Mientras que con el Catastro no hay problema, con el
>>>>> SIGPAC no lo he logrado. Si alguien tiene alguna idea se lo agradecería.
>>>>>
>>>>> Saludos.
>>>>>
>>>>> Eduardo.
>>>>>
>>>>>
>>>>> ------------------------------
>>>>> *De:* gvsig_usuarios-bounces en listserv.gva.es <
>>>>> gvsig_usuarios-bounces en listserv.gva.es> en nombre de Juanjo Valero <
>>>>> geodesman en gmail.com>
>>>>> *Enviado:* miércoles, 5 de abril de 2017 11:29
>>>>> *Para:* Lista de Usuarios de gvSIG
>>>>> *Asunto:* [Gvsig_usuarios] petición datos sigpac-json
>>>>>
>>>>> Hola a todos,
>>>>>
>>>>> No es una pregunta concreta sobre gvSIG pero quiza alguien sepa como
>>>>> puedo solucionarlo.
>>>>> he hecho una petición al SIGPAC de una parcela y sus datos asociados y
>>>>> me devuelve la petición en forma de cadena de caracteres que supuestamente
>>>>> es json.
>>>>>
>>>>> He intentado pasar ese json, aunque lleva asociado 'srid' y entiendo
>>>>> que es geojson, a shp o kml en diversas webs online pero no me reconoce esa
>>>>> cadena de caracteres como json/geojson.
>>>>>
>>>>> Gracias,
>>>>> Juanjo
>>>>>
>>>>> _______________________________________________
>>>>> gvSIG_usuarios mailing list
>>>>> gvSIG_usuarios en listserv.gva.es
>>>>>
>>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>>>> darse de baja en esta lista, acuda a la siguiente dirección:
>>>>>
>>>>> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> gvSIG_usuarios mailing list
>>>> gvSIG_usuarios en listserv.gva.es
>>>>
>>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>>> darse de baja en esta lista, acuda a la siguiente dirección:
>>>>
>>>> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>>>
>>>>
>>>
>>>
>>> --
>>> Francisco Puga
>>> iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.
>>> http://www.icarto.es/
>>>
>>> c/ Rafael Alberti nº 13 – 1º D
>>> 15008 A Coruña
>>> Galicia (Spain)
>>> +34 881927808 <+34%20881%2092%2078%2008>
>>>
>>> Este correo electrónico contiene información estrictamente confidencial
>>> y es de uso exclusivo del destinatario, quedando prohibida a cualquier otra
>>> persona su revelación, copia, distribución, o el ejercicio de cualquier
>>> acción relativa a su contenido. Si ha recibido este mensaje por error, por
>>> favor conteste a su remitente mediante correo electrónico y proceda a
>>> borrarlo de su sistema.
>>>
>>> Sus datos personales serán tratados de forma confidencial y no serán
>>> cedidos a terceros ajenos a ICARTO. En cualquier caso, podrá ejercer los
>>> derecho de oposición, acceso, rectificación y cancelación de acuerdo con lo
>>> establecido en la Ley Orgánica 15/99, de 13 de diciembre, de Protección de
>>> Datos de Carácter Personal dirigiéndose a Innovación, Cooperación,
>>> Cartografía e Territorio, SL. (ICARTO) en la dirección postal a C/ Rafael
>>> Alberti, nº 13, 1ºD, 15.008 – (A Coruña).
>>>
>>> _______________________________________________
>>> gvSIG_usuarios mailing list
>>> gvSIG_usuarios en listserv.gva.es
>>>
>>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>>> darse de baja en esta lista, acuda a la siguiente dirección:
>>>
>>> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>>
>>>
>>
>> _______________________________________________
>> gvSIG_usuarios mailing list
>> gvSIG_usuarios en listserv.gva.es
>>
>> Para ver histórico de mensajes, editar sus preferencias de usuario o
>> darse de baja en esta lista, acuda a la siguiente dirección:
>>
>> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>>
>>
>
>
> --
> --------------------------------------
> Joaquin Jose del Cerro Murciano
> Development and software arquitecture manager at gvSIG Team
> jjdelcerro en gvsig.com
> jjdelcerro en gvsig.org
> gvSIG Association
> www.gvsig.com
> www.gvsig.org
>
> _______________________________________________
> gvSIG_usuarios mailing list
> gvSIG_usuarios en listserv.gva.es
>
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
>
> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_usuarios
>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20170410/005b845d/attachment.html>


Más información sobre la lista de distribución gvSIG_usuarios