database locale da igm95 online

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

database locale da igm95 online

Ely Parker
salve a tutti

volevo condividere qualche scritp che ho costruito magari qualcuno
suggerisce qualche cambiamento

in particolare volevo costruirmi  una base di dati locale dei punti igm95

http://www.igmi.org/geodetica/

immagino che non sia precisa ma tantè visto che è gratis

penso sia una cosa utile


prerequisiti bash,wget,python

1)prima fase scaricare capisaldi igm95 che ci interessano

su linux si usa direttamente bash su windows bisogna andare in osgeo
shell e lanciare bash

poi dare le seguenti riche di codice dando invio

c=1

while [  $c -lt 1000 ]; do wget -E -k -m
http://37.207.194.154/ware/schedaigm95.php?id=$c;

let c=c+1;

done

questo codice prelevere i  punti da 1 al 1000 completi di immagine se vi
interessa altro  potete variare gli estremi (1 e 1000) su cui varia la
c, le opzioni che ho messo su wget creano una copia locale dei punti
completi di immagini se non vi interessano potete toglierle


2) creare un file gis.py (o come vorreste chiamarlo) nella stessa
cartella dove sono le schede con il seguente codice

#!/usr/bin/env python

# -*- coding: utf-8 -*-

from BeautifulSoup import BeautifulSoup

import sys

import csv

import argparse

import os

parser = argparse.ArgumentParser(description='legge una scheda igm95 e la converte in csv.')

parser.add_argument('--delimiter', '-d', action='store', default=';',help="Carattere per separare le colonne csv")

parser.add_argument('--quotechar', '-q', action='store', default='"',help="carattere per contenere testi csv")

parser.add_argument('filename',nargs="?",help="SCHEDA HTML IGM95 da cui estrarre i dati")

args = parser.parse_args()

if sys.stdin.isatty() and not args.filename:

   parser.print_help()

   sys.exit(-1)

elif not sys.stdin.isatty():

   args.filename = sys.stdin

else:

   args.filename = open(sys.argv[1],'r')

#print "Opening file"

fin  = args.filename.read()

#print "Parsing file"

soup = BeautifulSoup(fin,convertEntities=BeautifulSoup.HTML_ENTITIES)

#print "Preemptively removing unnecessary tags"

[s.extract() for s in soup('script')]

img=soup.findAll('a')

t=soup.findAll("td")

h=[u"n.",u"Nome:",u"Cart S 25:",u"Cart S 25V:",u"Nazione:",u"Regione:",u"Provincia:",u"Comune:",u"Carabinieri:",\

u"ROMA40 φ:".encode('utf-8'),u" R40 λ:".encode('utf-8'),u"F.O. N.:",u" F.O. E.:",u"F.E. N.:",u" F.E. E.:",\

u"ETRF2000 φ:".encode('utf-8'),u"ETRF2000 λ:".encode('utf-8'),u"F.32 N.:",u" F.32 E.:",u"F.33 N.:",u" F.33 E.:",\

u"Q.S.l.m:",u" QEll.:",u"Materializzazione:",u"Accesso:",u"Informazioniausiliare:",u"Categoriadel punto:",u"Quota s.l.m.:",\

u"Produttore:",u"Segnalizzato:",u"Ultima ricognizione:",u"Collegamenti:",u"M img:",u"C img",u"F img1",u"F img2"]

riga=[]

riga.append((soup.title.text.encode('utf-8')[18:]))

if os.path.isfile('igm95.csv'):

     csvfile=open('igm95.csv',"ab")

     fout = csv.writer(csvfile, delimiter=args.delimiter, quotechar=args.quotechar, quoting=csv.QUOTE_MINIMAL)

else:

     csvfile=open('igm95.csv',"wb")

     fout = csv.writer(csvfile, delimiter=args.delimiter, quotechar=args.quotechar, quoting=csv.QUOTE_MINIMAL)

     fout.writerow(h)

for i in (2,4,8,10,12,14,16, 25,33,41,46,51,56, 28,36,43,48,53,58, 31,39, 61,63,65,67,69,71,73,76,79):

     s=t[i].text.encode('utf-8')

     if i==4 :

         a=s.split(",")

         riga.append(a[0][9:])

         riga.append(a[1][10:])

         continue

     

     elif i>= 41 and i<=58 :

         s=s[2:]

     elif i==61 : s=s.replace(";",".")

     

     riga.append(s)

riga.append(img[0]['href'].encode('utf-8'))

riga.append(img[1]['href'].encode('utf-8'))

riga.append(img[2]['href'].encode('utf-8'))

riga.append(img[3]['href'].encode('utf-8'))

fout.writerow(riga)


tra le librerie di python ci deve essere
BeautifulSoup

se non c'è installatela
 

a questo punto dentro la cartella con le schede igm

se siete in osgeoshell di windows potete fare

for %i in (*.html) do python gis.py %i


mentre se siete in bash potete fare

for i in $( ls ); do python gis.py $i; done


scusate  se non sono stato chiarissimo  ma ci dovrebbe essere tutto

saluti





_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: database locale da igm95 online

Maurizio Napolitano-2
> in particolare volevo costruirmi  una base di dati locale dei punti igm95
>
> http://www.igmi.org/geodetica/
>
> immagino che non sia precisa ma tantè visto che è gratis


Cosa intendi con "tant'è visto che è gratis" ?
Ammetto che il CAD (Codice di Amministrazione Digitale) dichiara
all'articolo 52 comma 2
---
I dati e i documenti che le amministrazioni titolari pubblicano, con
qualsiasi modalità, senza l'espressa adozione di una licenza di cui
all'articolo 2, comma 1, lettera h), del decreto legislativo 24
gennaio 2006, n. 36, si intendono rilasciati come dati di tipo aperto
ai sensi all'articolo 68, comma 3, del presente Codice.
---
e quindi vuol dire che sono open data.

La pagina in effetti non ha alcun riferimento sulle modalità di riuso dei dati
Nella pagina di help si trovano le informazioni su come usare l'interfaccia
http://www.igmi.org/geodetica/help.html

mi chiedo quindi se sulla pagina ufficiale dell'IGM c'è qualche riferimento.

PS:
credo di aver visto estratti di quel dataset in alcuni servizi rest di
regioni italiane.
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: database locale da igm95 online

Ely Parker
Il 13/03/2017 10:15, Maurizio Napolitano ha scritto:
>
> e quindi vuol dire che sono open data.

ok sono open data e non gratis, gli script dovrebbero funzionare comunque
:-)



_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: database locale da igm95 online

Maurizio Napolitano-2
>> e quindi vuol dire che sono open data.
>
>
> ok sono open data e non gratis, gli script dovrebbero funzionare comunque
> :-)

Io temo che non siano nemmeno open data.
Chiedevo infatti maggiori informazioni in merito.
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: database locale da igm95 online

Marco Guiducci-3
In reply to this post by Ely Parker
On Mon, 13 Mar 2017 00:54:58 +0100
Ely Parker <[hidden email]> wrote:

> salve a tutti
>
> volevo condividere qualche scritp che ho costruito magari qualcuno
> suggerisce qualche cambiamento
>
> in particolare volevo costruirmi  una base di dati locale dei punti igm95
>
> http://www.igmi.org/geodetica/
>
> immagino che non sia precisa ma tantè visto che è gratis
> penso sia una cosa utile

fai caso alle coordinate espresse nelle monografie.
Quelle proiettate sono arrotondate ai 10 metri, quelle geografiche al secondo sessagesimale, che vuol dire, per la latitudine di circa 43°, 30 metri in Nord e 20 metri in Est.
Quei dati servono solo per trovare qual è il vertice più vicino alla zona di rilievo, per richiedere la monografia completa.

--
Marco Guiducci <[hidden email]>
Firenze, via di Novoli 26
055 4383194
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: database locale da igm95 online

Alessandro Sarretta
In reply to this post by Maurizio Napolitano-2
Guardando qui http://www.igmi.org/download.php, mi pare che in generale
l'IGM, per i dati che rende disponibili, utilizzi una specie di CC-BY-NC-ND:

"/La riproduzione dei testi in formato elettronico presenti sul sito è
consentita, salvo diversa espressa autorizzazione, esclusivamente per
uso personale e non commerciale e purchè ne venga menzionata la fonte e
non ne siano in alcun modo alterati forme e/o contenuti/"

con l'ulteriore area grigia di cosa significhi "per uso personale".

Cmq tutt'altro che open data nel senso pieno del termine :-)

m2c

Ale


On 13/03/2017 11:07, Maurizio Napolitano wrote:

>>> e quindi vuol dire che sono open data.
>>
>> ok sono open data e non gratis, gli script dovrebbero funzionare comunque
>> :-)
> Io temo che non siano nemmeno open data.
> Chiedevo infatti maggiori informazioni in merito.
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
> 808 iscritti al 07/03/2017
--
--

Alessandro Sarretta

skype/twitter: alesarrett
Web: ilsarrett.wordpress.com <http://ilsarrett.wordpress.com>

Research information:

  * Google scholar profile
    <http://scholar.google.it/citations?user=IsyXargAAAAJ&hl=it>
  * ORCID <http://orcid.org/0000-0002-1475-8686>
  * Research Gate <https://www.researchgate.net/profile/Alessandro_Sarretta>
  * Impactstory <https://impactstory.org/AlessandroSarretta>


_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
808 iscritti al 07/03/2017
Reply | Threaded
Open this post in threaded view
|

Re: database locale da igm95 online

Ely Parker
In reply to this post by Marco Guiducci-3
Il 13/03/2017 14:34, Marco Guiducci ha scritto:

> On Mon, 13 Mar 2017 00:54:58 +0100
> Ely Parker <[hidden email]> wrote:
>
>> salve a tutti
>>
>> volevo condividere qualche scritp che ho costruito magari qualcuno
>> suggerisce qualche cambiamento
>>
>> in particolare volevo costruirmi  una base di dati locale dei punti igm95
>>
>> http://www.igmi.org/geodetica/
>>
>> immagino che non sia precisa ma tantè visto che è gratis
>> penso sia una cosa utile
> fai caso alle coordinate espresse nelle monografie.
> Quelle proiettate sono arrotondate ai 10 metri, quelle geografiche al secondo sessagesimale, che vuol dire, per la latitudine di circa 43°, 30 metri in Nord e 20 metri in Est.
> Quei dati servono solo per trovare qual è il vertice più vicino alla zona di rilievo, per richiedere la monografia completa.
>
si immagino che ci sono versioni più precise e a pagamento , e
probabilmente nelle monografie complete ci sono anche i paramtri di helmert

però questo passa il governo...

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
808 iscritti al 07/03/2017