Newsgroup: it.comp.www.php
Titolo: GEOMAP

Buongiorno,
ho bisogno di voi !
Ho un sql2008r2 per le mani, con server apache PHP5.
Volevo creare una cartina geografica, andando poi a mappare le provincie 
o i punti geo da una tabella recante dei valori di fatturato.
Quindi, supponendo di voler vedere il lazio, su roma o eventualmente 
dintorni, poter vedere dei punti colorati per area, il nominativo e il 
valore di fatturato.
Se questo fosse troppo...mi basterebbe vedere dei puntini colorati per 
ogni punto che presenta un valore.
Mi aiutate ?
Grazie infinite.
SiM


http://code.google.com/intl/it/apis/maps/documentation/javascript/services.html
Ernesto

 Ernesto
in alternativa ti segnalo anche 
http://www.geonames.org/
 , per certe
cose è più dettagliato, ma se ti serve solo a livello di province il
geocoder google và più che bene (anche se, magari, geonames ti
permette di scaricarti il db con tutte le province, ti salvi quelle
che ti servono nel tuo db ed eviti di fare geocoding a destra e a
manca).
Ah, dai un'occhio anche qui: 
http://gmaps-samples-v3.googlecode.com/svn/trunk/toomanymarkers/toomanymarkers.html


La domanda è un po' vaga.
Se ti servono regioni, provincie o comuni, qua ci sono degli shape molto 
semplificati ma gratis:
http://www.istat.it/ambiente/cartografia/
Se vuoi solo un punto ti fai il centroide dell'entità che ti serve.
Ovviamente questo presuppone un minimo di esperienza in gis o db 
geografici (lo schifoserver 2008 M$ forse ha le estensioni geografiche, 
per quanto primitive, ma li devi vedere tu:P).
Se invece devi geocodare indirizzi il suggerimento è quello di usare 
google o yahoo, li interroghi in modo batch su tutti i tuoi punti e 
salvi i risultati su db (così non vai a geocodare ad ogni richiesta), 
associati all'entità che vuoi rappresentare.
Per la visualizzazione la strada + facile se sei digiuno di gis web è 
usare le api di google (o yahoo o la merda M$), che imho per 
un'applicazione come quella che descrivi sembrano adatte (o anche 
openlayer, ma li la cartografia devi mettercela tu e a occhio mi sa 
preferiresti evitare), a meno non parliamo di molti punti contemporanei 
(se è quello il caso o li gestisci con accentratori in base al livello 
di zoom o usi le api flash).
Se ci descrivi un po' meglio però il tipo di dato che vuoi rappresentare 
e il suo numero, penso possiamo essere + precisi tutti.
-- 
Z.

 Ah, dai un'occhio anche qui: 
http://gmaps-samples-v3.googlecode.com/svn/trunk/toomanymarkers/toomanymarkers.html
il nome mi esalta, ma la pagina non capisco che faccia (ho dato una 
micro occhiata al js, che è anche commentato, ma su browser non vedo 
nulla di quello che mi promette il js:P)
-- 
Z.

 Z.
In quella pagina sono mostrati i metodi più usati per gestire tanti
markers sulla mappa: marker manager, clusterer, google fusion table e
layer kml (inutile imho)... se vedi sotto la mappa ci sono i checkbox
dei relativi metodi, se li spunti vengono attivati e ti mostra il
risultato sulla mappa (attendi qualche secondo se non vedi niente).
Se l'op deve visualizzare dei marker su ogni provincia che ha dei
dati, gli conviene usare il clusterer (notare che quelle orribili
icone tonde si possono personalizzare).
Il mio consiglio è di scaricarsi il db di geonames, prendere solo le
province italiane (ci sono tutti i luoghi conosciuti del mondo...),
salvarsele nel suo db con le coordinate, poi da li ci si mette 1
secondo a mostrare il marker con link sulla mappa

 risultato sulla mappa (attendi qualche secondo se non vedi niente).
ahahah sono il re degli scemi:D
non li avevo mica visti... la mappa mi prendeva esattamente lo schermo e 
mica so andato sotto :D
mo gioco:P, grazie!
-- 
Z.

 mo gioco:P, grazie!
i primi 2 li conosco e li ho usati (ma mi soddisfano poco), il kml siamo 
d'accordo entrambi direi...
mentre il Fusion Table Layer non lo conoscevo (anche perchč leggo č 
delle v3 e io so fermo alle v2) e mi pare una figata esagerata, 
approfondirň:P
Arri-grazie
-- 
Z.

 Z.
Il fusion table layer sembra davvero promettente, se non fosse che è
ancora in beta e i dati che ci butti sopra sono da intendere come
pubblici (anche se per ora puoi creare delle tabelle private, ricordo
di aver letto chiaramente nella documentazione che i dati immessi sono
da considerare pubblici), e quindi non adatto a tutte le applicazioni
(come il caso dell'op, mica vuole far sapere al mondo le province dove
ha più fatturato, no?)

 ha piů fatturato, no?)
no, sicuramente x lui non va troppo bene:P
Ma molti miei clienti sono pubbliche amministrazioni e i dati sono 
divulgativi (ed intrinsecamente pubblici, dato sarebbe lo scopo x cui 
esistono gli enti pubblici oltre a campare delle nostre tasse:D).
Appena ho tempo voglio proprio approfondire.
-- 
Z.

 Ah, dai un'occhio anche qui: 
http://gmaps-samples-v3.googlecode.com/svn/trunk/toomanymarkers/toomanymarkers.html
Infatti, anche il concetto db è importante, GRAZIE.


Credo sia doveroso innanzitutto un GRAZIE a tutti voi che mi state 
aiutando e benone direi.
Da una serie di tabelle pescate in ASP classic da MS2K8R2 server, ho i 
seguenti dati da collocare nei marker in base alla posizione geografica:
Parto dividendo l'italia in 3 sezioni, rispettivamente nord, centro, sud
Tra un'anno espando all'UE e poi mondo (ma è un'altro capitolo).
Tornando alle 3 sezioni italiane, devo marcare le locazioni (province) 
facendo vedere un'etichetta(onMouseOver):
AGENTE I
	AGENTE II
		CLIENTE
			IMP.FATTURATO
La tabella sarà quindi simile a questa:
agente1  |  agente2  |  cliente  |  Imp.fatturato  |  Provincia 
(VR,VI,MI...)
Associo le coordinate geo in un'altra tabella simile a questa:
VR  |  50.000   |  15.000
e via discorrendo...
Ottengo per provincia, la posizione geografica.
Qui vorrei crearmi io una cartina ad-hoc...perchè ci sono delle 
considerazioni grafiche importanti da considerare.
In un'altro NG mi hanno proposto OpenLayer...appena mi libero dal 
lavoro, ci guardo, se avete spunti o idee, vi rinnovo i miei più sinceri 
ringraziamenti.
SiM.

 SiM.
Mhh, c'è una cosa da considerare: i limiti.
Le api di geonames, per la versione free, ti limitano a 2000 query
all'ora per username (ti registri e ti danno un username), mentre
google ti limita a 2500 visualizzazioni al giorno per utente (mi
sembra che identifichi l'utente in base all'ip): se l'applicativo
girerà su una intranet, assicurati di stare dentro alle 2500 richieste
al giorno, oppure vai su openlayer (che non sò se abbia dei limiti,
devi informarti).
Le api grossomodo sono simili, probabilmente quelle di google sono più
raffinate, ma non deve essere una scelta obbligata.

 ringraziamenti.
ecco sulla cartina ad hoc mi soffermerei. Se ti serve un layer grafico 
particolare, in effetti la scelta + logica è openlayer (non è che con 
gmap non si faccia cmq, ma diciamo ti perdi molto del valore aggiunto di 
gmap se non usi la loro cartografia e il loro geocode). Qua però la cosa 
si complica anche parecchio, al punto di dirti di usare un web-gis sotto 
(e openlayer solo per la visualizzazione). La cartina la possiedi già ed 
è riferita e rettificata? già divisa in tiles e con le piramidi fatte? 
(perchè sono lavoracci... soprattutto su grandi estensioni).
Se non è cosa privata posso chiedere a che livello sono le 
considerazioni grafiche?
Diciamo che da quello che ho capito cmq la cosa che più sarebbe adatta e 
gradevole è un layer interattivo con le province poligonali e quando ci 
pigi su ti tira fuori infowindow o altri elementi da altre parti della 
pagina di dettaglio. Solo che con cose come gmap e openlayer su numeri 
grossi come le province direi non sia realizzabile (anche se io so fermo 
a qualche anno fa, magari adesso qualche soluzione c'è), ti ci vorrebbe 
proprio un web-gis che crea da db il layer interattivo.
-- 
Z.

Dimenticavo, guarda anche 
http://mapbox.com/
 !

 sembra che identifichi l'utente in base all'ip)
Google 15000 geocode (con certezza xchè lo uso:P). Come richieste 
generiche non lo so, ma non credo di meno. Più che altro sulle richeste 
generiche (come sui geocode) si incazza se vai troppo forte e ti banna 
l'ip x 24 ore (capita quando usi i programmi x fotterti la loro 
cartografia....oooops:P)
Diciamo che come visualizzazione io non considererei il prb limiti, dato 
è per utente (chi è che si mette a trascinare la mappa x tanto da fare + 
di 15k richieste? e cmq anche se esistesse un folle simile fatti suoi... 
dopo tot ore non gli carica + nulla)
Openlayer non avendo cartografia sua non penso abbia limiti (ma è pura 
supposizione)
-- 
Z.

 supposizione)
Bhè sono le richieste che contano, anche geonames non ha cartografia
propria (usa o google o openlayer, appunto), credo che il carico sia
la richiesta di geocoder... anche perchè cose tipo piazzare il marker
nella tale posizione lo fai da javascript, a loro non grava in alcun
modo (anche il clusterer lavora a livello js) almeno che non fai cose
'strane'
p.s: se ti servono dei dati cartografici, scaricati quelli di
geonames, sono molto più dettagliati di google, in formato testuale,
gratis, ben organizzati.. unica pecca è che tutti i nomi delle
località sono in inglese (sapevi che Livorno in inglese è Legorn? a me
sembrava il nome di un elfo ;)

 dice 2500: 
http://code.google.com/intl/it-IT/apis/maps/faq.html#geocoder_limit
caspita le han cambiate, ti giuro che fino a tot tempo fa (non so dire 
quando, diciamo 1-2 anni) erano 15000 e ti confermo anche che fino a 2 
gg fa il limite reale senza ban è almeno 15000 (visto ho proprio 
lanciato un geocode da 15.000).
Hanno anche aggiunto che è vietato geocodare senza visualizzare su mappa 
(anche questo non c'era).
Grazie x la dritta cmq...
visto sto giusto vendendo un'app che fa questo, magari gliela ritaro su 
questi numeri (anche se è davvero poco, yahoo, se non ha cambiato anche 
lui, è 5000), oppure aspetto 2 mesi e mi presento bello bello dicendo 
che google le ha appena cambiate e devo ritarare, ma la mia consegna era 
secondo specifiche :P
-- 
Z.

 secondo specifiche :P
Io dovessi basare un app sul quale ti aspetti un traffico simile mi
informerei se google fornisce una versione a pagamento delle api, per
stare tranquillo (e per cadere sempre in piedi, dai la scelta al
cliente: free? se super 2500 al giorno potrebbero bloccarti,
altrimenti paga)
Però non sò se ci sia la versione a pagamento, anche se ricordo di
aver letto che per bisogni maggiori dicono di contattarli
direttamente...
Nota poi che sono 2500 geocode al giorno per utente (indirizzo ip); Se
devi fare uno sniffer ti bloccano subito, ma credo sia praticamente
impossibile che un utente che naviga sul sito faccia 2500 geocode in
un giorno..  la cosa cambia per applicativi intranet, ma lo saprai
meglio di me.
Perchè non ti informi su openlayers? Magari l'aggiustamento del codice
non è cosa lunga e hanno limiti diversi, bho

ecco, certo che c'è: 
http://www.google.com/intl/it_ALL/enterprise/earthmaps/maps_features.html
Ma.... secondo voi hanno sbagliato a digitare l'importo (nel punto 3,
Quanto costa Google Maps API Premier?)?!
10.000 USD l'anno  non mi sembra esattamente "estremamente
conveniente"!


io avevo parlato con google italia (sempre anni fa) e non ricordo i 
prezzi, ma erano MOLTO alti, mi pare fosse qualcosa meno di 20k euro anno...
e non davano quasi nulla di utile in + alle api gratis... (conta che 
allora il limite era 15k geocode al gg, che non era pochissimo, anche se 
a me è capitato di geocodare banche dati da poco meno di una milionata 
di indirizzi, quindi usavo 4 ip in parallelo, ma cmq ricordo fu davvero 
una maratona... anche perchè avevo dei limiti di consegna)
-- 
Z.

 non è cosa lunga e hanno limiti diversi, bho
openlayers non credo abbia un servizio di goeocode (parlo senza sapere 
eh:P) che io sappia sono solo api di visualizzazione. Anche x i layer 
raster son fatti tuoi procurarli.
Un po' di servizi di geocode gratis ci sono, ma la qualità di google è 
francamente inarrivabile (anche yahoo che ha delle belle api, che cmq 
uso, è molto distante) e i miei dati in ingresso sono sempre terribili, 
per quanto li pulisca un po' in modo automatico quello che mando a 
google è spesso sorprendente che abbia successo...
-- 
Z.

 Dimenticavo, guarda anche 
http://mapbox.com/
 !
Mamma mia, mi stò perdendo...attendo ancora una settimana e poi comincio 
sti lavoro...comincio già ad odiare il geocoding...
Scusate se un pò OT.