Pagina 2 di 9 primaprima 1 2 3 4 ... ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 87

Discussione: Cartina dati...

  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    180
    Ok ho provato, ma ci sono una serie di problemi/dubbi:
    1- ho inserito il codice nella pagina php dopo la echo della tabella di restituzione dati:
    ....
    <td>$coepost</td>
    <td>$conpost</td>
    </tr>";
    }

    echo '</table>';

    chiudo php

    <div style="postion:absolute;width:1000px;height:800px; background:url('map.jpg');">

    <div style="position:absolute;left:50;top:36;"> puntino </div>
    <div style="position:absolute;left:80;top:36;"> altro puntino </div>

    </div>

    ma quello che vorrei è che fossero visualizzati i punti in base alle coordinate restituite:"position:absolute;left:50;top:36;" dovrebbe diventare "$coepost;$conpost"

    2-i pallini sono assoluti, quindi dovrei convertire tutte le mie corrdinate: non c'è il modo di dare le coordinate al punto left e nord della mappa così le mie coordinate rimangono intatte?


    grazie mille della disponibilità e pazienza

  2. #12
    Ciao...
    allora, non mi hai scrittop il codice, ma imamgino che se hai dei problemi significa che stai usando un ciclo while per stampare la tabella? Se è cosi' semplicemente devi stampare i <div> all'iterno del ciclo while:
    Codice PHP:
    echo "<div style=\"postion:absolute;width:400px;height:400px;background:url('path/to/map.bmp');\">\n";
    while(
    $condition) {
       echo 
    "<div style=\"position:absolute;left:$coepost;top:$conpost;\"> $point </div>\n";
    }
    echo 
    "</div>"
    Allora invece per quanto riguarda il sistema di coordinate utilizzato, be dipende. Si puo' sempre creare una trasformazione lineare o più complicata che permetta di effettuare un cambio di coordinate, anche tra tipi di spazio differenti. La question è:
    che coordinate hai tu? sono coordinate geografiche? sono latitudine e longitudine? Oppure sono coordinate riferite all'immagine (cosa buona e giusta)?
    =======================
    http://www.abidibo.net

  3. #13
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    180
    ti posto parte del mio codice perchè non sono riuscito ad inserire il tuo nel posto giusto....

    echo '
    <table border="1" bgcolor="#FFFFFF">
    <tr bgcolor="#CCCCCC">
    <th>rag</th>
    <th>cod</th>
    <th>coord. est </th>
    <th>coord. nord </th>
    </tr>';

    while ($row = mysql_fetch_assoc($result)) {
    $rag = htmlentities($row['rag']);
    $cod = htmlentities($row['cod']);
    $coep= htmlentities($row['coord_e']);
    $conp= htmlentities($row['coord_n']);

    echo "<tr>
    <td>$rag</td>
    <td>$cod</td>
    <td>$coep</td>
    <td>$conp</td>

    </tr>";
    }

    echo '</table>';
    echo "<div style=\"postion:absolute;width:900px;height:1005px ;background:url('map.jpg');\">\n";

    la mappa dovrebbe essere visualizzata dopo la tabella riassuntiva OK, ma i div che recuperano i punti devo stare nel ciclo, prima della mappa?;

    la variabile $point cosa è?

    le coordinate sono in Gauss Boaga

    grazie

  4. #14
    Una roba del genere
    Codice PHP:
    echo '
    <table border="1" bgcolor="#FFFFFF">
    <tr bgcolor="#CCCCCC">
    <th>rag</th>
    <th>cod</th>
    <th>coord. est </th>
    <th>coord. nord </th>
    </tr>'
    ;
    $map_points '';
    while (
    $row mysql_fetch_assoc($result)) {
       
    $rag htmlentities($row['rag']);
       
    $cod htmlentities($row['cod']);
       
    $coephtmlentities($row['coord_e']);
       
    $conphtmlentities($row['coord_n']);

       
    $map_points .= "<div style=\"position:absolute;left:$coep;top:$conp;\"> $cod </div>\n";

       echo 
    "<tr>
       <td>
    $rag</td>
       <td>
    $cod</td>
       <td>
    $coep</td>
       <td>
    $conp</td>
       </tr>"
    ;
    }
    echo 
    '</table>';
    echo 
    "<div style=\"postion:absolute;width:400px;height:400px;background:url('path/to/map.bmp');\">\n";
    echo 
    $map_points;
    echo 
    "</div>"
    =======================
    http://www.abidibo.net

  5. #15
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    180
    Ok funziona, almeno come struttura;

    il problema è che le coordinate (in GB nel database) incasinano la rappresentazione.

    Come si può georeferenziare la mappa?

    O come faccio? (i punti sono circa 1000 e non li posso sistemare a mano....)
    Inoltre ho visto che left e top sono rispetto alla pagina, quindi cambiano a seconda della lunghezza della tabella restituita....


    scusami, sono duro
    grazie

  6. #16
    Inoltre ho visto che left e top sono rispetto alla pagina, quindi cambiano a seconda della lunghezza della tabella restituita....
    Da w3CSchools.com:
    An element with position: absolute is positioned at the specified coordinates relative to its containing block. The element's position is specified with the "left", "top", "right", and "bottom" properties

    Quindi le coordinate left e top sono relative al div contenitore, cioè il div che ha come sfondo la mappa, cioè alla mappa.

    il problema è che le coordinate (in GB nel database) incasinano la rappresentazione
    He he, guarda, nonostante sia un fisico io le coordinate Gauss-Boaga non le ho studiate, non che sistema di riferimento adottino e probabilmente non sono neanche planari. Quindi non so dirti, ti dico come farei io:
    A - provo a cercare una sistema (matematico) che descriva la trasformazione delle GB in coordinate cartesiane o polari già fatto da qualcuno
    B - se non lo trovi W il fai da te:
    prendi un po' di punti (10- 20 ...), piu' ne prendi piu' preciso sarai.
    Per ciascun punto prendi le GB e le relative coordinate left e top (che pazientemente ricavi a mano) cioè crei delle coppie ($coep, $left), ($conp, $top). Poi separatamente cerchi di studiare la relazione che intercorre. Cioè prendiamo ad esempio le coppie $coep, $left. Bene fai un bel piano cartesiano con assex->$coep e assey->$left e rappresenti su questo piano tutte le coppie che hai trovato. Poi lo guardi e preghi che questi punti stiano sulla stessa retta, altrimenti la relazione non sarà lineare e sarà di qualche altro tipo. A questo punto devi fare un'interpolazione, un fit, insomma trovare la funzione left = funz(coep) che meglio descrive i tuoi dati, ci sono dei programmi che permettono di farlo. Non so come siano le tue conoscenze matematiche, se cio' che ho scritto è arabo, buttati sulla A, qualcuno avrà sicuramente avuto il tuo problema.
    Ciao!
    =======================
    http://www.abidibo.net

  7. #17
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    180
    Ammesso che trovi la conversione delle coordinate, mi sembrava di aver capito che left e top sono i pixel del punto di interesse rispetto all'angolo sup-sx del blocco.
    Quindi non è tanto un problema di tipo di coordinate.....no?

  8. #18
    Be direi di si invece, se tu trovi ua relazione che trasforma le GB in metri lungo due direzioni ortogonali e la pianta che hai è in scala direi che il problema è risolto. perché pensi di no?
    Tra px e metri reali se la pianta è in scala la relazione è lineare.
    =======================
    http://www.abidibo.net

  9. #19
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    180
    ...hai ragione, è vero.
    Considera che le GB sono coordinate che esprimono, in metri, la distanza di un punto da Roma MonteMario.

    Sono del tipo:
    Grosseto è
    1671622 est
    4736505 nord

    Devo comunque:
    - cercare di "indovinare" Grosseto sulla mappa, provando coppie di left e top
    - replicare per altri punti
    - estendere la relazione a tutte le posizioni (con excel)
    - inserire nel db i campi left e top per ogni posizione
    - richiamare questi campi nella pagina php

    Giusto?
    Ultima cosa, spero, se invece del nome volessi inserire un "pallino" come marker come faccio?

    grazie infinire della pazienza

  10. #20
    GB sono coordinate che esprimono, in metri, la distanza di un punto da Roma MonteMario
    Quindi sono già coordinate di tipo cartediano, in cui l'origine degli assi coincide con Roma Montemario.
    A questo punto ti basta trovare le coordinate (left,top) per un solo punto chiamiamolo P, e automaticamente trovi la relazione per tutti gli altri punti X siccome fortunatamente trattasi di relazione lineare:
    leftP:coepP=leftX:coepX => leftX = (leftP/coepP)*coepX
    quindi il coefficiente angolare cioè il fattore di moltiplicazione per trovare tutte le altre coordinate è leftP/coepX.
    A questo punto vedi tu, o fai con excel o esegui direttamente una query sul DB (dopo aver fatto un dump per sicurezza) ((scrivo solo per left)):
    Codice PHP:
    // query per creare i campi left e top
    // $valore = "il fattore di moltiplicazione"
    $query "UPDATE tabella SET left=coep*$valore"
    richiamare questi campi nella pagina php
    Si

    Ultima cosa, spero, se invece del nome volessi inserire un "pallino" come marker come faccio?
    vari modi:
    - immagine
    Codice PHP:
    $map_points .= "<div style=\"position:absolute;left:$coep;top:$conp;\"> <img src=\"path/to/point.jpg\" /></div>\n"
    - senza immagine
    Codice PHP:
    $map_points .= "<div style=\"position:absolute;left:$coep;top:$conp;\"> <div style=\"border:1px solid #000;background-color:#000;width:4px;height:4px;\"></div></div>\n"
    Ciao!
    =======================
    http://www.abidibo.net

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.