Sommario

PROBLEMA: E' possibile selezionare da una tavola solo gli oggetti di un certo tipo?

SOLUZIONE: Inserite secondo i casi nella casella "dove" della finestra di dialogo Seleziona SQL, o nella casella "che soddisfano" della finestra di dialogo Seleziona le seguenti istruzioni

  • per selezionare tutti i record con associato un oggetto grafico:
    obj
  • per selezionare tutti i record ai quali non sono associati oggetti grafici:
    not obj
  • per selezionare solo i punti:
    str$(obj) = "point"
  • per selezionare solo le zone:
    str$(obj) = "region"
  • per selezionare solo i segmenti:
    str$(obj) = "line"
  • per selezionare solo le polilinee:
    str$(obj) = "polyline"
  • per selezionare solo i testi:
    str$(obj) = "text"

PROBLEMA: E' possibile memorizzare in una tavola le informazioni geografiche che appaiono facendo doppio clic sugli oggetti di una mappa (centroide, lunghezza, superfice, perimetro?

SOLUZIONE: Per salvare in una tavola le informazioni geografiche associate agli oggetti, e vederle così in una finestra Dati, potete utilizzare le funzioni contenute nell'applicazione UTILITA.MBX . Altrimenti, seguite la procedura seguente:

1. Selezionate Tavola> Mantieni tavole> Modifica struttura per aggiungere una colonna alla tavola contenente gli oggetti. Scegliete un campo di tipo Virgola mobile o Decimale per le informazioni area, perimetro e lunghezza, di tipo Decimale (11, 6) per le coordinate sferiche (Longitudine/Latitudine), di tipo Decimale o float per le coordinate metriche (UTM, Gauss-Boaga, ecc.)

2. Selezionate Tavola > Aggiorna colonna e selezionate la tavola con gli oggetti e la colonna che avete appena creato

3. Selezionate Guida e selezionate una delle seguenti funzioni:

  • Centroidx per memorizzare la coordinata X dei centroidi degli oggetti
  • Centroidy per memorizzare la coordinata Y dei centroidi degli oggetti
  • Objectlen per memorizzare la lunghezza di segmenti o polilinee, specificando l'unità di misura in cui volete che sia espressa la lunghezza
  • Area per memorizzare la superficie delle zone, specificando l'unità di misura in cui volete che sia espressa la lunghezza
  • Perimeter per memorizzare il perimetro delle zone, specificando l'unità di misura in cui volete che sia espressa la lunghezza

4. Fate clic su OK e poi ancora su OK

5. Ripetete i passi da 1 a 4 per tutte le informazioni che vi interessano

Nota Se la tavola contiene oggetti di tipo diverso, secondo la funzione che volete utilizzare dovete selezionare solo gli oggetti del tipo che vi interessano e aggiornare la query invece della tavola completa.


PROBLEMA: E' possibile ottenere le coordinate dei centroidi degli oggetti, espresse in unità diverse dai gradi?

SOLUZIONE: Le funzioni CentroidX, CentroidY usate con Aggiorna Colonna restituiscono per default le coordinate geografiche degli oggetti in Longitudine/Latitudine. Per ottenere valori in una diversà unità di misura, dovete specifciare, prima di usare Aggiorna Colonna, la proiezione nella quale volete che siano espresse le coordinate. Per fare questo:

a) Se la proiezione è terrestre

Eseguite la seguente istruzione nella finestra MapBasic:

set coordsys earth projection parametri proiezione

Potete specificare i parametri della proiezione copiandoli dal file MAPINFOW.PRJ che si trova nella directory in cui è installato MapInfo, eliminando la parte fra doppi apici e sostituendo al codice dell'unità di misura la relativa descrizione (la tabella con i codici e le descrizioni delle unità di misura si trova nel capitolo della Guida utente di MapInfo dedicato alle Proiezioni)

a) Se la proiezione è non terrestre

  1. Eseguite la seguente istruzione nella finestra MapBasic:
    set coordsys nonearth units nomeunità bounds (xmin,ymin) (xmax,ymax)
  2. dove nomeunità è l'unità di misura che avete specificato al momento della creazione o importazione della tavola; dopo bounds dovete immettere i valori che avete specificato con la finestra di dialogo Limiti coordinate non terrestri al momento della creazione o importazione della tavola.
  3. Potete trovare la lista completa dei nomi delle unità nel Sommario Comandi, Appendice E - Creazione di Espressioni, alla voce Distance
  4. Se per esempio volete le coordinate in metri, nel riferimeno Gauss-Boaga Fuso Ovest:
  5. Aprite il file mapinfow.prj con un qualunque editore di testi
  6. Cercate la descrizione della proiezione
  7. Usate il comando Modifica> Copia per copiare la parte di seguito indicata in grassetto."Gauss-Boaga Fuso Ovest (Ellis. Internaz., Roma 1940)", 8, 87, 7, 9, 0, 0.9996, 1500000, 0
  8. Chiudete l'editore di testi
  9. Usate il comando Opzioni> Mostra finestra MapBasic per aprire la finestra MapBasic
  10. Scrivete nella finestra MapBasic la prima parte dell'istruzione, e incollate la parte che avete copiato dal file mapInfow.prj. Sostituite al codice unità 7 la stringa "m".
    set coordsys earth projection
    8,87,"m",9,0,0.9996,1500000,0
  11. Eseguite l'istruzione con un INVIO. L'istruzione resta attiva finché non chiudete MapInfo. NON potete memorizzare l'istruzione.

Nota Per fare tutto questo, potete anche usare la funzione che trovate nell'applicazione UTILITA.MBX che fa parte della versione italiana di MapInfo. Se non avete l'applicazione, scaricatela dal nostro sito Internet.


PROBLEMA: E' possibile calcolare la lunghezza o la superficie complessiva di un certo numero di oggetti selezionati?

SOLUZIONE: Per calcolare la lunghezza complessiva di un certo numero di oggetti:

  1. Selezionate gli oggetti (devono essere tutte linee o polilinee, oppure tutte zone)
  2. Selezionate Interroga> Seleziona SQL:
  3. Nella casella "dove", specificate
    Selection
  4. Nella casella Seleziona colonne, cancellate l'asterisco (*) e scrivete
    Sum(Objectlen(obj,"m")) "Lunghezza"
  5. Fate clic su OK. MapInfo visualizza una finestra dati contenente una colonna Lunghezza contenente la lunghezza complessiva dei segmenti o delle polilinee selezionate, espressa in metri.

Nota Potete specificare "cm", "Km" o "mi" per avere la lunghezza in centimetri, kilometri o miglia.

Nota Usate la funzione Area(obj, "sq m") "Area" per ottenere la superficie complessiva delle zone selezionate. Usate "sq cm", "sq km", "sq ha" o "sq mi" per ottenere la superficie in centimetri quadri, metri quadri, ettari o miglia quadrate.


PROBLEMA: Ho tentato di eseguire il comando Unisci Oggetti tramite Colonna su una mappa di segmenti, per creare un'unica polilinea per ogni gruppo di segmenti con lo stesso nome, e il sistema ha dato un errore del tipo "Si è verificato un errore nell'aggiunta di nodi intersezione".

SOLUZIONE: Esistono nella mappa dei segmenti a lunghezza nulla. Per eliminarli:

  1. Eseguite il comando Interroga> Seleziona SQL
  2. In Seleziona colonne, specificate *
  3. In 'dalla tavola', specificate il nome della tavola con i segmenti (se la mappa è "tripla", cioè in formato Streetinfo, specificate la tavola nome1.tab)
  4. In 'dove', specificate la condizione:
    objectlen(obj,"m") = 0
  5. Fate clic su OK
  6. Cancellate i segmenti selezionati (sono tutti quelli a lunghezza nulla)
  7. Salvate e compattate la tavola, e ripetete l'operazione


PROBLEMA: Nell'effettuare una selezione SQL fra due tavole appare il messaggio "Non corrispondenza fra dato e tipo di dato nell'espressione".

SOLUZIONE: Le colonne che nella casella "dove" specificano il collegamento fra le due tavole non sono dello stesso tipo (per esempio, una è di tipo carattere e l'altra è di tipo intero)



PROBLEMA: E' possibile vedere i numeri nelle finestre Dati o nella finestra Informazioni senza formattazione?

SOLUZIONE: Usate l'icona Internazionale del Pannello di Controllo per specificare il separatore delle migliaia e il simbolo della virgola decimale. Riavviare MapInfo per rendere operative le variazioni.


PROBLEMA: Nell'importazione di un file DXF, MapInfo importa solo una parte della mappa

SOLUZIONE: Modificate i valori delle coordinate AutoCAD nella sezione Definisci trasformazione coordinate della finestra di dialogo Informazioni per l'importazione da DXF.




PROBLEMA: Quando provo a fare il geocode di una tavola, MapInfo non presenta il nome di nessuna tavola come Tavola di riferimento, anche se esistono altre tavole aperte oltre alla mia.

SOLUZIONE: Nessuna delle tavole aperte contiene un campo indicizzato. Per creare un indice:

  1. Selezionate Tavola> Mantieni tavole> Modifica struttura.
  2. Selezionate la tavola che contiene gli oggetti da utilizzare per fare il geocode.
  3. Fate clic sulla casella Indicizzato relativa alla colonna che contiene i nomi o codici degli oggetti (il contenuto di questa colonna deve corrispondere al contenuto di una colonna della tavola di cui volete fare il geocode)
  4. Fate clic su OK.

PROBLEMA: Ho appena creato dei punti, ma non vedo i punti sulla mappa

SOLUZIONE: I comandi Tavola > Geocode e Tavola> Crea punti non aggiungono automaticamente alla mappa la tavola di cui avete fatto il geocode. Usate il comando Mappa> Controllo Layer per aggiungere la tavola alla mappa.

oppure... Se la tavola è già sulla mappa, i punti non rientrano nella zona di mappa visibile nella finestra. Utilizzate Mappa> Visualizza intero layer e selezionate la tavola con i punti per vedere sulla mappa tutti i punti della tavola.


PROBLEMA: Vorrei creare dei punti con la funzione Crea Punti, ma la funzione non è attiva, o nella finestra di dialogo Crea Punti non appare la mia tavola.

SOLUZIONE: Nessuna tavola contiene colonne numeriche, o la vostra tavola con contiene colonne numeriche. Le colonne contenenti le coordinate devono essere numeriche. Usate Tavola > Mantieni tavole> Modifica struttura per modificare il tipo delle colonne con le coordinate.


PROBLEMA: Come posso modificare lo stile con cui i punti appaiono sulla mappa?

SOLUZIONE: Per cambiare in modo permanente lo stile degli oggetti di una tavola:

  1. Utilizzate Mappa> Controllo Layer per rendere modificabile il layer
  2. Selezionate l'oggetto o gli oggetti dei quali volete modificare il simbolo (potete selezionare tutti gli oggetti con Interroga> Seleziona tutto)
  3. Con attiva la finestra Mappa, selezionate Oggetti> Stile Simbolo, o l'icona Stile Simbolo
  4. Specificate un nuovo simbolo
  5. Selezionate File> Salva per salvare gli oggetti con il nuovo simbolo

Nota Se dopo questa operazione il simbolo degli oggetti non cambia, l'opzione "Ignora lo stile di default" è attiva per il layer che avete sepcificato. In questo caso, MapInfo usa il simbolo specificato nella finestra Opzioni Stili/Zoom per rappresentare tutti i punti della tavola. Per disattivare questa opzione, selezionate Mappa> Controllo Layer> Stili/Zoom.


PROBLEMA: Se faccio clic sui punti con lo strumento Informazioni, vedo dei dati che non sono relativi a quel punto!

SOLUZIONE: I dati della vostra tavola sono in formato Excel, Lotus o DBF. Avete aggiornato i dati con un altro software, modificando l'ordine dei dati. Rifate il geocode dei dati.


PROBLEMA: La funzione Geocode è molto lenta. Come posso accelerare l'operazione?

SOLUZIONE: I dati della vostra tavola sono in formato Excel, Lotus o ASCII. Usate File> Salva copia come per fare una copia dei vostri dati in formato MapInfo. Aprite la nuova tavola ed eseguite il comando Geocode. Ai record del file originario non saranno associati degli oggetti.


PROBLEMA: La funzione Crea Punti è molto lenta. Come posso accelerare l'operazione?

SOLUZIONE: I dati della vostra tavola sono in formato Excel, Lotus o ASCII. Usate File> Salva copia come per fare una copia dei vostri dati in formato MapInfo. Aprite la nuova tavola ed eseguite il comando Crea Punti. Ai record del file originario non saranno associati degli oggetti.



PROBLEMA: Come posso cambiare la scritta che appare quando uso lo strumento Etichetta o quando disegno automaticamente le etichette, attivando la casella Auto Etichette nella finestra di dialogo Controllo Layer?

SOLUZIONE: Nella finestra di dialogo Controllo Layer, selezionate il layer da etichettare, fate clic sul pulsante Etichette e selezionate la colonna con i dati che volete vedere sulla mappa dalla lista Etichetta con la colonna. Potete anche visualizzare più dati, facendo clic su Espressione in fondo alla lista delle colonne: consultate il Sommario Comandi alla voce Controllo Layer.


PROBLEMA: Ho eseguito due mappe tematiche per intervalli su un layer di aree e non le vedo in trasparenza, anche se ho disabilitato l'opzione Sfondo per le campiture della mappa tematica che sta sopra

SOLUZIONE: Procedendo in questo modo, NON è possibile vedere le mappe tematiche in trasparenza, perché, di fatto, si chiede a MapInfo di riempire lo stesso oggetto grafico in modi diversi.

Per rappresentare un layer di aree con due diverse mappe tematiche per intervalli:

  1. Create la prima mappa tematica per intervalli
  2. Selezionate lo strumento Controllo Layer. Appare la finestra di dialogo Controllo Layer.
  3. Usate il pulsante Aggiungi per visualizzare una seconda volta il layer sulla mappa, verificando che si trovi sopra il precedente. Rendere il layer non visibile.
  4. Create la seconda mappa tematica usando il layer che avete appena aggiunto, disattivando l'opzione Sfondo per tutte le campiture

In questo modo, MapInfo deve riempire due oggetti grafici distinti (anche se perfettamente sovrapposti), e la mappa tematica appare trasparente.


PROBLEMA: Se uso il comando File> Stampa per stampare una mappa tematica, MapInfo non stampa la legenda.

SOLUZIONE: Usate il comando Finestra> Imapginazione per inserire la mappa in un'impaginazione. Automaticamente, anche la legenda è inclusa nell'impaginazione

oppure... Usate la funzione Legende> Crea legenda incorporata dell'applicazione LEGENDS.MBX che trovate nella cartella o directory TOOLS per inserire la legenda direttamente all'interno della mappa.


PROBLEMA: Come posso cambiare l'unità di misura delle distanze quando uso lo strumento Righello?

SOLUZIONE: Selezionate Opzioni> Preferenze> Mappa. Attivate l'opzione "Unità metriche di distanza e di area" per vedere le distanze in Km, disattivatela per vederle in miglia.



PROBLEMA: Ho calibrato un raster specificando come proiezione quella originaria della carta. Vorrei creare un TAB che contenga le coordinate degli stessi punti di calibrazione, ma in una proiezione diversa. E' possibile?

SOLUZIONE: Supponete di avere creato la tavola di calibrazione del raster in proiezione Gauss-Boaga (immettendo quindi i valori di coordinate in Gauss-Boaga) e di volere avere le stesse coordinate in Longitudine/Latitudine (Roma 1940). I passi da compiere sono i seguenti:

  1. Effettuate una copia del file .TAB (usando il File Manager di Windows o Gestione Risorse di Windows 95), nella stessa directory del file .TAB originario.
  2. Aprite il nuovo TAB con File> Apri.
  3. Selezionate Tavola> Modifica Punti di Controllo e fate clic su Proiezione
  4. Specificate la proiezione Long.Lat. ROma 1940. Le coordinate cambiano automaticamente!
  5. Fate clic su OK per salvare i valori delle coordinate nel file .TAB.

PROBLEMA: Ho degli oggetti in coordinate Gauss-Boaga e vorrei esprimere le coordinate in Longitudine/Latitudine, 0 su Monte Mario. Se uso il comando File> Salva Copia Come e salvo la tavola in Proiezione Longitudine/Latitudine (Rome 1940), le coordinate sono espresse rispetto a Greenwich. Come posso fare?

SOLUZIONE: E' necessario anzitutto creare nel file MAPINFOW.PRJ due ulteriori definizioni di proiezioni nella sezione "-- Sistemi di Coordinate Italiani --". Aggiungete nel file MIF, dopo la definizione della proiezione Gauss-Boaga Fuso Est, le seguenti due righe:

"Gauss-Boaga Fuso Ovest 0 MM (Ellis. Internaz., Roma 1940)",8,87,7,-3.452333,0,0.9996,1500000,0

"Gauss-Boaga Fuso Est 0 MM (Ellis. Internaz., Roma 1940)",8,87,7,2.547667,0,0.9996,2520000,0

dove i valori in grassetto esprimono le Longitudini Origine dei due fusi espresse rispetto ad un'origine Zero in Monte Mario (rispetto a Greenwich, le origini sono rispettivamente 9 gradi e 15 gradi).

A questo punto, il modo di procedere dipende dal fatto cha abbiate già in MapInfo gli oggetti oppure no:

a) Nel caso non abbiate ancora gli oggetti in una tavola di MapInfo

Per creare gli oggetti in coordinate Gauss-Boaga:

  • Se ancora non avete creato gli oggetti, create la nuova tavola specificando come proiezione una delle due appena definite. Calibrate il digitizer usando una delle proiezioni appena definite
  • Se state importando oggetti da DXF o se state usando la funzione Crea Punti, specificate come proiezione una delle proiezioni appena definite.
  • Se state importando tramite il formato MIF/MID, usate una delle seguenti due istruzioni (riferitevi all'appendice A del Sommario Comandi per ulteriori informazioni sulla definizione della proiezione nei file MIF):
  • Coordsys Earth Projection 8,87,"m",-3.452333,0,0.9996,1500000,0
  • Coordsys Earth Projection 8,87,"m",2.547667,0,0.9996,2520000,0

Per convertire gli oggetti in Longitudine/Latitudine:

  • Selezionate File> Salva copia come e specificate come proiezione Longitudine/Latitudine (Roma 1940)

b) Nel caso abbiate già gli oggetti in una tavola di MapInfo creata in una delle proiezioni Gauss-Boaga definite nel file MAPINFOW.PRJ standard di MapInfo, dopo aver comunque definito le due nuove proiezioni nel file MAPINFOW.PRJ:

  1. Esportate la tavola in formato di interscambio di MapInfo
  2. Aprite il file .MIF con un editor di testi (per esempio, Microsoft Word)
  3. Modificate la linea Coordsys ... come segue:
    Coordsys Earth Projection 8,87,"m",-3.452333,0,0.9996,1500000,0
    Coordsys Earth Projection 8,87,"m",2.547667,0,0.9996,2520000,0

    dove i valori in grassetto esprimono le Longitudini Origine dei due fusi espresse rispetto ad un'origine Zero in Monte Mario (e sostituiscono rispettivamente i valori 9 e 15). Riferitevi all'appendice A del Sommario Comandi per ulteriori informazioni sulla definizione della proiezione nei file MIF.
  4. Importate il file .MIF così modificato.
  5. Selezionate File> Salva copia come per salvare gli oggetti della tavola in Longitudine/Latitudine, specificando come proiezione Longitudine/Latitudine (Roma 1940)