Il 0% ha trovato utile questo documento (0 voti)
26 visualizzazioni36 pagine

Tutorial Di DotSpatial Tutorial 4

Questo documento fornisce un tutorial su come utilizzare DotSpatial per eseguire operazioni su file shapefile, tabelle di attributi e stampa. Il tutorial è composto da 5 fasi: 1) Scaricare la libreria di classi DotSpatial, 2) Aggiungere i riferimenti DotSpatial e modificare le opzioni di compilazione in Visual Studio, 3) Aggiungere i controlli DotSpatial alla toolbox, 4) Progettare un'interfaccia utente grafica con pannelli per visualizzare operazioni, legende, mappe e attributi, e 5) Scrivere codice per implementare operazioni sulla mappa come la creazione e il salvataggio di shapefile per punti, polilinee e poligoni, visualizzazione e modifica delle tabelle di attributi, e stampa delle mappe. I compiti specifici trattati includono la creazione di shapefile per punti, polilinee e poligoni; aggiunta, rimozione e aggiornamento delle colonne della tabella di attributi; e impostazione delle proprietà di stampa come la freccia del nord.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
26 visualizzazioni36 pagine

Tutorial Di DotSpatial Tutorial 4

Questo documento fornisce un tutorial su come utilizzare DotSpatial per eseguire operazioni su file shapefile, tabelle di attributi e stampa. Il tutorial è composto da 5 fasi: 1) Scaricare la libreria di classi DotSpatial, 2) Aggiungere i riferimenti DotSpatial e modificare le opzioni di compilazione in Visual Studio, 3) Aggiungere i controlli DotSpatial alla toolbox, 4) Progettare un'interfaccia utente grafica con pannelli per visualizzare operazioni, legende, mappe e attributi, e 5) Scrivere codice per implementare operazioni sulla mappa come la creazione e il salvataggio di shapefile per punti, polilinee e poligoni, visualizzazione e modifica delle tabelle di attributi, e stampa delle mappe. I compiti specifici trattati includono la creazione di shapefile per punti, polilinee e poligoni; aggiunta, rimozione e aggiornamento delle colonne della tabella di attributi; e impostazione delle proprietà di stampa come la freccia del nord.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Introduzione alla programmazione con DotSpatial

File di forma, operazioni sulla tabella degli attributi


e stampa della mappa in DotSpatial
Tutorial(4)

Scopo di questo tutorial: Familiarizzarsi con le seguenti operazioni in DotSpatial:

Operazioni relative ai file di forma.

1.1) Creazione dei seguenti tipi di file shape: Punto, Polilinea, Poligono

1.2) Aggiungi un attributo ai file di forma sopra.

1.3) Salva i file di forma con attributi definiti dall'utente.

2. Operazioni relative alla tabella degli attributi.

2.1) Visualizza una tabella degli attributi di un file shape.

2.2) Aggiungi una nuova colonna in una tabella degli attributi.

2.3) Rimuovere una colonna da una tabella attributi.

2.4) Aggiornare una colonna di attributi nel file shapefile.

2.3) Esporta un attributo in una tabella nel foglio di lavoro MS Excel.

3. Stampare una mappa in DotSpatial.

3.1) Implementare un'operazione di stampa.

3.2) Imposta le proprietà del documento di stampa. (Freccia del nord, Legenda, Barra delle scale, Titolo)

Questo tutorial ha 5 passaggi importanti.

Passo 1: Scarica la libreria di classi DotSpatial

Passo 2: Aggiungi il riferimento DotSpatial e modifica l'opzione di compilazione.

Passo 3: Aggiungi i controlli DotSpatial nella Toolbox di Visual Studio.

Passo 4: Progettare l'interfaccia grafica. (GUI - Interfaccia Grafica Utente)

Passo 5: Scrivi il codice per implementare le operazioni sulla mappa.

Teva ~ Veluppillai Page 1


Introduzione alla programmazione con DotSpatial

Passo 1: Scarica la libreria di classi DotSpatial

Questo passaggio è lo stesso del passaggio 1 del Tutorial #1.

Passaggio 2: Aggiungi il riferimento DotSpatial e modifica l'opzione di compilazione.

2.1) Aggiungere il riferimento DotSpatial richiesto nell'ambiente di sviluppo di Visual Studio.

Crea una nuova applicazione VB o C# e fai clic con il tasto destro sul progetto nell'esplora soluzioni.
menu contestuale seleziona aggiungi riferimento e aggiungi il seguente riferimento dalla cartella DotSpatial.

[Link], [Link], [Link], [Link]


[Link], [Link]

Fig. 1 Riferimenti richiesti.

Teva ~ Veluppillai Page 2


Introduzione alla programmazione con DotSpatial

Fig. 2 Riferimenti richiesti sull'ambiente di sviluppo di Visual Studio.

2.2) Cambiare l'opzione di compilazione da .Net FrameWork 4 Client Profile a .Net FrameWork 4

Questo passaggio è lo stesso del Tutorial # 1 passaggio 2.2.

Passaggio 3: Aggiungi i controlli DotSpatial nella Toolbox di Visual Studio.

Questo passaggio è lo stesso del Tutorial # 1 passo 3.

Passaggio 4: Progettare l'interfaccia grafica. (Interfaccia Utente Grafica)

Progetta l'interfaccia grafica come segue:

Teva ~ Veluppillai Page 3


Introduzione alla programmazione con DotSpatial

Fig.3. GUI finale

Considerazioni sul design dell'interfaccia.

1. Aggiungi quattro controlli pannello. Le proprietà del controllo pannello devono essere le seguenti:

Pannello Proprietà1 Pannello2 Pannello3 Pannello4


Nome operazioni pnl mappa pnl pnlAttributo
Darsena In alto a sinistra Riempire Fondo
Nota: Imposta lo stile del bordo dei pannelli su Singolo Fisso (Opzionale)

2. Aggiungi un controllo menu strip sulla pnlOperations. Il menu dovrebbe contenere i seguenti elementi di menu.

2.1) Voce del menu principale: File, Operazioni su Shapefile, Opzioni della mappa e Operazioni sulla tabella degli attributi

2.2) Sottocategorie del menu:

Under File menu item create 3 sub menu items as follows: Load, Clear, Exit

Queste implementazioni possono essere trovate in 'Tutorial 2'.

Under the Shapefile Operations create the following sub menu items : Point , Polyline, Polygon

Sotto la voce di sottomenù Punto, creare i seguenti elementi di sottomenù: Crea Shapefile Punto, Salva Punto
Shapefile.

Teva ~ Veluppillai Page 4


Introduzione alla programmazione con DotSpatial

Sotto il sottomenu Polyline crea i seguenti sottomenu: Crea Shapefile Polilinea, Salva
Shapefile Polilinea.

Sotto il sottomenu Poligono crea i seguenti sottomenu: Crea Shapefile Poligonale, Salva
File Shapefile Poligonale.

Sotto l'elemento del menu Opzioni Mappa crea i seguenti sottogruppi: Predefinito, Informazioni,
Misura

Sotto la voce di menu Operazioni sulla Tabella degli Attributi crea i seguenti elementi di sottomenu: Visualizza Attributo
tabella, Aggiungi una colonna nella tabella degli attributi, Salva la colonna in ShapeFile, Elimina una colonna negli attributi
tabella, Aggiorna la tabella degli attributi nel Shapefile, Esporta la tabella degli attributi in Excel.

Fig. 4. Elementi del Menu

3. Aggiungi i controlli Mappa e legenda nel modulo.

3.1 ) Aggiungere il controllo mappa sul controllo pnlMap e aggiungere il controllo legenda sul pnlLegend.

La mappa e il controllo della legenda si trovano nella Toolbox sotto i controlli DotSpatial.

Imposta le proprietà della mappa come segue: Dock = Riempire, Legenda = Legenda1

Imposta le proprietà della legenda come segue: Dock = Riempi

4. Aggiungere un DataGridView sulla pnlAttribute.

Imposta le sue proprietà come segue: Nome: dgvAttributeTable, Dock = Fill

Passo 5: Scrivi il codice per implementare le operazioni sulla mappa.

5.1) Importa i seguenti spazi dei nomi:

VB

[Link]
[Link]
[Link]
[Link]

C#
[Link];

Teva ~ Veluppillai Page 5


Introduzione alla programmazione con DotSpatial

[Link];
[Link];
[Link];

Crea un file shapefile di punti.

Dichiarare le seguenti variabili a livello di classe.

VB

che tipo di shapefile viene creato


DimshapeTypeComeStringa

#Regione "Variabile a livello di classe del shapefile punto"

il nuovo set di caratteristiche del punto


DimpointFAs NuovoInsiemeDiCaratteristiche([Link])

l'id del punto


DimpointIDAs Integer= 0

differenziare il clic del mouse destro e sinistro


DimpointmouseClickAs Boolean=False

#Fine Regione

C#

//quale tipo di shapefile viene creato


string tipoDiForma;
variabile di livello della classe ShapeFile di regionePunto

//il nuovo set di funzionalità punto


FeatureSetpointF = newFeatureSet([Link]);

//l'id del punto


intpointID = 0;

per differenziare il clic del mouse destro e sinistro


boolpointmouseClick =false;

#fine_sezione

Scrivi il seguente codice nell'evento "CreatePointShapeFileToolStripMenuItem_Click"

VB
Sottoprogramma CreaFileDiFormaPuntoStrumentoMenu_Click(ByVal sender As [Link], ByVal e As
[Link])Gestisce [Link]
Cambia lo stile del cursore
[Link] = [Link]
imposta il tipo di forma sulla variabile stringa classlevel

Teva ~ Veluppillai Page 6


Introduzione alla programmazione con DotSpatial

useremo questa variabile nella dichiarazione select case


Punto
imposta proiezione
[Link] = [Link]
inizializza la tabella degli attributi featureSet
Dim column As New DataColumn("PointID")
[Link](colonna)
aggiungi il featureSet come livello mappa
DimpointLayerAsMapPointLayer= [Link](pointF)
Crea un nuovo simbolizzatore
DimsymbolComeNuovoSymbolizerPunto([Link], [Link], 3)
Imposta il simbolizzatore sul livello del punto
[Link] = simbolo
Imposta il legendText come punto
punto
Imposta il clic sinistro del mouse su vero
pointmouseClick =True
Fine Sub

C#

private void creaPuntoShapefileStrumentoStripMenuItem_Click(object sender, EventArgs e)


{
//Cambia lo stile del cursore
[Link] = [Link];
//imposta il tipo di forma alla variabile stringa classlevel
//utilizzeremo questa variabile nella dichiarazione switch
Punto
//imposta proiezione
[Link] = [Link];
//inizializza la tabella degli attributi featureSet
DataColumn column = new DataColumn("PointID");
[Link](colonna);
//aggiungi il featureSet come livello della mappa

MapPointLayerpointLayer = (MapPointLayer)[Link](pointF);
//Crea un nuovo simbolizzatore
PointSymbolizersymbol =newPointSymbolizer([Link], [Link], 3);
//Imposta il simbolizzatore per il livello punto
[Link] = simbolo;
//Imposta il legentText come punto
punto
//Imposta il clic sinistro del mouse come vero

vero
}

Scrivi il seguente codice nell'evento di pressione del mouse sulla mappa.

Genera l'evento di pressione del mouse Map1: Seleziona il controllo mappa e premi il tasto F4 per ottenere
la finestra delle proprietà. Nella finestra delle proprietà seleziona la scheda eventi e nella scheda eventi fai doppio clic
sopra il mouse giù.

Teva ~ Veluppillai Page 7


Introduzione alla programmazione con DotSpatial

Fig. 5. Evento mouse down della mappa.

Scrivi il seguente codice nell'evento Map1_MouseDown.

VB

Seleziona Tipologia Caso

Caso"Punto"
[Link] = [Link]
Se(pointmouseClick)Allora
Questo metodo è utilizzato per convertire le coordinate dello schermo in coordinate della mappa
'[Link] è il punto di clic del mouse sul controllo della mappa
DimcoordAsCoordinate= [Link]([Link])
Crea un nuovo punto
Il parametro di input è la coordinata del punto cliccato
[Link](coord)
Aggiungi il punto nella Caratteristica Punto
assegnando la caratteristica punto a IFeature perché solo attraverso di essa possiamo impostare gli attributi.
DimcurrentFeatureAsIFeature= [Link](point)
aumentare l'ID del punto
pointID = pointID + 1
imposta l'attributo ID
[Link]("PointID") = pointID
aggiorna la mappa
[Link]()
Fine Se
Altro
[Link] = [Link]
Falso
Fine If
Fine selezione

Teva ~ Veluppillai Page 8


Introduzione alla programmazione con DotSpatial

C#

cambia(shapeType)
{
Punto
se([Link] == [Link])
{
se((puntoClicMouse))
{
Questo metodo viene utilizzato per convertire le coordinate dello schermo in coordinate della mappa
//[Link] è il punto di clic del mouse sul controllo della mappa
coordinatecoord = [Link]([Link]);

//Crea un nuovo punto


//Il parametro di input è la coordinata del punto cliccato
[Link] punto = new [Link](coord);

//Aggiungi il punto nel Point Feature


//assegnare la caratteristica punto a IFeature perché solo tramite essa possiamo impostare gli attributi.
IFeaturecurrentFeature = [Link](punto);

//incrementa l'id del punto


pointID = pointID + 1;

//imposta l'attributo ID
//[Link]["PointID"] = pointID;

//aggiorna la mappa
[Link]();
}
}

in caso contrario
{
//clic destro del mouse
[Link] = [Link];
pointmouseClick =false;
}
interrompere;

Salva un file di forma punto: Scrivi il seguente codice in SavePointShapeFileToolStripMenuItem_Click


evento.

VB

Sottoprogramma SalvaPuntoFormaFileStrumentiStripMenuItem_Clicca(ByVal mittente As [Link], ByVal e As


[Link])[Link]
[Link]("[Link]", True)
MsgBox("Il file shapefile del punto è stato salvato.")
[Link] = [Link]
Fine Sub

C#
private void SalvaPuntoFormaFileToolStripMenuItem_Click(object mittente, EventArgs e)
{

Teva ~ Veluppillai Page 9


Introduzione alla programmazione con DotSpatial

[Link]("[Link]",true);
[Link]("Il file shapefile punto è stato salvato.");
[Link] = [Link];
}

Uscita del codice sopra:

Fig. 6. Crea un file shape di punto.

Crea un file shapefile Polyline.

Dichiarare le seguenti variabili a livello di classe.

VB

#Regione"Variabili a livello di classe del shapefile della polilinea"

il livello linea
DimlineLayerAsMapLineLayer

il set di caratteristiche della linea

DimlineFAs NewFeatureSet([Link])

DimlineID As Integer = 0

variabile boolean per il primo clic del mouse


Dim firstClick As Boolean = False

Controlla il disegno della polilinea dopo l'operazione di salvataggio della polilinea.


DimlinemouseClickAs Boolean=False

#Fine Regione

Teva ~ Veluppillai Page 10


Introduzione alla programmazione con DotSpatial

C#

variabili di livello della classe ShapeFile della regionePolyline

MapLineLayerlineLayer = predefinito(MapLineLayer);

//il set di funzionalità della linea

FeatureSetlineF = new FeatureSet([Link]);

intlineID = 0;

//variabile boolean per il primo clic del mouse


boolfirstClick =false;

Controlla il disegno della polilinea dopo l'operazione di salvataggio della polilinea.


boollinemouseClick =false;

Scrivi il seguente codice nell'evento CreatePolylineShapeFileToolStripMenuItem_Click

VB

Sottoprocedura CreaFileDiFormaPolilineaToolStripMenuItem_Click(ByVal sender As [Link], ByVal e As


[Link])[Link]
inizializza il set di funzionalità della polilinea

[Link] = [Link]

imposta tipo di forma


linea

imposta proiezione
[Link]

inizializza la tabella degli attributi featureSet


Dim column As New DataColumn("LineID")

Se Not([Link]("LineID")) Allora
[Link](colonna)
Fine If

aggiungi il featureSet come livello mappa


lineLayer = [Link](lineF)

DimsymbolCome NuovoSimbolizzatoreDiLinea([Link], 2)
symbolo
linea

firstClick =True
vero
Fine Sub

Teva ~ Veluppillai Page 11


Introduzione alla programmazione con DotSpatial

C#

private void CreaPolylineShapeFileToolStripMenuItem_Click(object sender, EventArgs e)


{

//Cambia il cursore del mouse


[Link] = [Link];

//imposta il tipo di forma

line

//imposta proiezione
[Link] = [Link];

//inizializza la tabella degli attributi featureSet


DataColumn column = new DataColumn("LineID");

if(![Link]("LineID"))
{
[Link](colonna);
}

//aggiungi il featureSet come livello mappa


lineLayer = (MapLineLayer)[Link](lineF);

//Imposta il simbolizzatore sulla feature della linea.


LineSymbolizersymbol = new LineSymbolizer([Link], 2);
[Link] = simbolo;
linea

firstClick =true;

linemouseClick =true;
}

Scrivi il seguente codice nell'evento Map1_MouseDown.

VB

Caso "line"
[Link]
clic sinistro - riempi array di coordinate
coordinate del punto cliccato
DimcoordAsCoordinate= [Link]([Link])
Se(linemouseClick)Allora
clic sinistro della prima volta - crea funzione riga vuota
SePrimoClicAllora
Crea una nuova lista chiamata lineArray.
In una lista non è necessario definire la dimensione e anche
Qui questa lista memorizzerà le coordinate
Memorizzeremo le coordinate dei clic del mouse in questo array.
DimlineArrayAs NuovaList(OfCoordinate)
Crea un'istanza per la classe LineString.

Teva ~ Veluppillai Page 12


Introduzione alla programmazione con DotSpatial

Dobbiamo passare una collezione di coordinate dell'elenco


DimlineGeometryAs NewLineString(lineArray)
Aggiungi la geometria della linea alla funzione linea
DimlineFeatureAsIFeature= [Link](lineGeometry)
aggiungi la prima coordinata al carattere della linea
[Link](coord)
imposta l'attributo della funzionalità della linea

lineID = lineID + 1
[Link]("LineID") = lineID
firstClick =False
Altro
secondo o più clic - aggiungi punti alla funzione esistente
Dim existingFeature As IFeature = [Link]([Link] - 1)
[Link](coord)
aggiorna la mappa se la linea ha 2 o più punti
Se [Link] >= 2 Allora
[Link]()
[Link]()
Fine If
Fine Se
Fine If
Altro
clic destro - ripristina primo clic del mouse
firstClick =True
[Link]()
Fine se

C#

caso": "linea":
se([Link] == [Link])
{
//clic sinistro - riempi array di coordinate
//coordinate del punto cliccato
Coordinatecoord = [Link]([Link]);
se(linemouseClick)
{
//prima volta clic sinistro - crea funzionalità di linea vuota
se(primoClick)
{
//Crea una nuova lista chiamata lineArray.
//Questa lista conterrà le coordinate
Memorizzeremo le coordinate del clic del mouse in questo array.
List<Coordinate> lineArray = new List<Coordinate>();

//Crea un'istanza per la classe LineString.


Dobbiamo passare una collezione di coordinate della lista
LineStringlineGeometry =newLineString(lineArray);

//Aggiungi la geometria della linea alla funzione linea

IFeaturelineFeature = [Link](lineGeometry);

Teva ~ Veluppillai Page 13


Introduzione alla programmazione con DotSpatial

//aggiungi la prima coordinata alla caratteristica della linea

[Link](coord);
//imposta l'attributo della caratteristica della linea

lineID = lineID + 1;
[Link]["LineID"] = lineID;
firstClick =false;
}
altrimenti
{
//seconda o più clic - aggiungi punti alla funzionalità esistente
IFeatureexistingFeature = [Link][[Link] - 1];
[Link](coord);

//aggiorna la mappa se la linea ha 2 o più punti


se([Link] >= 2)
{
[Link]();
[Link]();
}
}
}
}
altro
{
//clic destro - ripristina il primo clic del mouse
firstClick =true;
[Link]();
}
rompere;
Salva il file shapefile della polilinea

VB
Sottoprogramma SalvaFileFormaPoligonaleToolStripMenuItem_Click(ByVal sender As [Link], ByVal e As
[Link])Gestisce [Link]
[Link]("c:\MW\[Link]", True)
MsgBox("Il file shapefile della linea è stato salvato in C:\MW\")
[Link] = [Link]
Falso;
Fine Sub

C#

private void savePolylineShapefileToolStripMenuItem_Click(object sender, EventArgs e)


{
[Link]("c:\MW\[Link]", true);
[Link]("Il file shapefile della linea è stato salvato in C:\MW\");
[Link] = [Link];
linemouseClick =false;
}}

Teva ~ Veluppillai Page 14


Introduzione alla programmazione con DotSpatial

Output del codice sopra

Fig. 7. Crea un shapefile polilinea.

Crea shapefile Poligonale.

Dichiara le seguenti variabili a livello di classe.

VB

#Regione"Variabili a livello di classe shapefile del poligono"


il set di funzionalità poligonale
DimpolygonFAs NewFeatureSet([Link])
DimpolygonIDAs Integer= 0
DimpolygonmouseClickAs Boolean=False
#Fine Regione

C#
variabili di livello della classe ShapeFile del poligono della regione

FeatureSetpolygonF = nuovoFeatureSet([Link]);
0;

Teva ~ Veluppillai Page 15


Introduzione alla programmazione con DotSpatial

boolpolygonmouseClick =false;

#regione

Scrivi il seguente codice nell'evento CreatePolygonShapeFileToolStripMenuItem_Click

VB

Sottoprogramma CreaFileDiFormaPoligonaleToolStripMenuItem_Click(ByVal sender Come [Link], ByVal


[Link])[Link]
inizializzare l'insieme delle funzionalità della polilinea

[Link] = [Link]

imposta il tipo di forma

poligono

imposta proiezione
[Link] = [Link]

inizializza la tabella degli attributi featureSet


Dim column As New DataColumn("PolygonID")
[Link](column)

aggiungi il featureSet come layer mappa


[Link](polygonF)

imposta una simbologia


DimsymbolCome NuovoSimbolizzatorePoligonale([Link])
[Link] = simbolo

aggiungi il testo della leggenda

poligono

firstClick =True

polygonmouseClick =True

Fine Sub

C#

private void CreaPolygonShapeFileToolStripMenuItem_Click(object sender, EventArgs e)


{
//inizializza il set di funzionalità della polilinea

[Link] = [Link];

//imposta tipo di forma


poligono

//imposta proiezione
[Link] = [Link];

//inizializza la tabella degli attributi featureSet

Teva ~ Veluppillai Page 16


Introduzione alla programmazione con DotSpatial

DataColumn column = new DataColumn("PolygonID");

se(![Link]("PolygonID"))
{
[Link](colonna);
}

//aggiungi il featureSet come livello della mappa

MapPolygonLayerpolygonLayer = (MapPolygonLayer)[Link](polygonF);

PolygonSymbolizersymbol = new PolygonSymbolizer([Link]);

[Link] = simbolo;
poligono

firstClick =true;

polygonmouseClick =true;

Scrivi il seguente codice nell'evento Map1_MouseDown.

VB

Caso "poligono"
[Link] = [Link]
clic sinistro - riempi array di coordinate
DimcoordAsCoordinate= [Link]([Link])
Se(polygonmouseClick)Allora
primo clic sinistro - crea una linea vuota funzione
SePrimoClicAllora
Crea una nuova lista chiamata polygonArray.
Qui questa lista memorizzerà le coordinate
Registreremo le coordinate del clic del mouse in questo array.
DimpolygonArrayAs NewList(OfCoordinate)
Crea un'istanza per la classe LinearRing.
Passiamo l'elenco dei poligoni al costruttore di questa classe
DimpolygonGeometryComeNuovoAnelloLineare(polygonArray)
Aggiungi l'istanza polygonGeometry a PolygonFeature
[Link](polygonGeometry)
aggiungi la prima coordinata alla funzione del poligono
[Link](coord)
imposta l'attributo della feature del poligono
polygonID = polygonID + 1
[Link]("PolygonID") = polygonID
firstClick =False
Altro
secondo o più clic - aggiungi punti alla funzionalità esistente
Dim existingFeature As IFeature = [Link]([Link] - 1)
[Link](coord)
aggiorna la mappa se la linea ha 2 o più punti

Teva ~ Veluppillai Page 17


Introduzione alla programmazione con DotSpatial

Se [Link] >= 3 Allora


aggiorna la mappa
[Link]()
[Link]()
Fine If
Fine Se
Fine se
Altro
clic destro - ripristina primo clic del mouse
firstClick =True
[Link] = [Link]
Fine Se

C#
caso "poligono":

se([Link] == [Link])
{
//clic sinistro - riempi l'array di coordinate
Coordinatecoord = [Link]([Link]);

se(polygonmouseClick)
{
//prima volta clic sinistro - crea funzione riga vuota
se(primoClic)
{
//Crea una nuova lista chiamata polygonArray.

//questa lista memorizzerà le Coordinate


Stiamo per memorizzare le coordinate del clic del mouse in questo array.

Lista<Coordinate> polygonArray = nuova Lista<Coordinate>();

//Crea un'istanza per la classe LinearRing.


//Passiamo la lista dei poligoni al costruttore di questa classe
LinearRingpolygonGeometry = new LinearRing(polygonArray);

//Aggiungi l'istanza polygonGeometry a PolygonFeature


IFeaturepolygonFeature = [Link](polygonGeometry);

//aggiungi la prima coordinata alla funzione poligonale


[Link](coord);

//imposta l'attributo della feature del poligono


polygonID = polygonID + 1;
[Link]["PolygonID"] = polygonID;
firstClick =false;
}
altrimenti
{
//secondo clic o più - aggiungi punti alla funzione esistente
IFeatureexistingFeature = (IFeature)[Link][[Link] - 1];

Teva ~ Veluppillai Page 18


Introduzione alla programmazione con DotSpatial

[Link](coord);

//aggiorna la mappa se la linea ha 2 o più punti


se([Link] >= 3)
{
// aggiorna la mappa
[Link]();
[Link]();
}
}
}
}
altrimenti
{
//clic destro - ripristina il primo clic del mouse
firstClick =true;
}
interrompere;

Salva il shapefile del poligono

VB

Sottoscrivi SalvaFileFormaPoligonaleToolStripMenuItem_Clicca([Link], ByValeCome


[Link]) Gestisce [Link]
[Link]("c:\MW\[Link]", True)
MsgBox("Il file shapefile del poligono è stato salvato in C:\MW\")
[Link] = [Link]
polygonmouseClick =False
Fine Sub

C#

private void SalvaPoligonoFileFormaToolStripMenuItem_Click(object mittente, EventArgs e)


{
[Link]("c:\MW\[Link]",true);
Il file shapefile del poligono è stato salvato.
[Link] = [Link];
falso
}

L'output del codice sopra

Teva ~ Veluppillai Page 19


Introduzione alla Programmazione con DotSpatial

Fig. 8. Crea un file shapefile poligonale.

Codice completo dell'evento mouse down di Map1: Negli esempi sopra, lo stesso evento è utilizzato per implementare
diverse funzionalità delle forme. Quindi, il seguente codice è il codice completo per l'evento mouse down di Map1.
Il seguente codice mostra tutte le diverse operazioni sulle forme.

VB
Sottoprocedura Private SubMap1_MouseDown(ByVal sender As Object, ByVal e As
[Link])[Link]
Seleziona TipoDiFormaCaso
Caso "Punto"
[Link] = [Link]
Se(pointmouseClick)Allora
Questo metodo viene utilizzato per convertire le coordinate dello schermo in coordinate mappa
'[Link] è il punto di clic del mouse sul controllo della mappa
DimcoordAsCoordinate= [Link]([Link])

Crea un nuovo punto


Il parametro di input è la coordinata del punto cliccato
Dim point As New [Link](coord)

Aggiungi il punto nella Caratteristica Punto


Assegnare la caratteristica del punto a IFeature (Perché solo tramite essa possiamo impostare gli attributi.)

Teva ~ Veluppillai Page 20


Introduzione alla programmazione con DotSpatial

DimcurrentFeatureAsIFeature= [Link](point)

aumentare l'ID del punto


pointID = pointID + 1

imposta l'attributo ID
[Link]("PointID") = pointID

aggiorna la mappa
[Link]()

Fine Se
Altro
clic destro del mouse
[Link] = [Link]
Falso
Fine If

Caso"linea"
[Link]
clic sinistro - riempi array di coordinate
coordinate del punto cliccato
DimcoordAsCoordinate= [Link]([Link])
Se(linemouseClick)Allora
clic sinistro per la prima volta - crea funzionalità di linea vuota
SePrimoClicAllora
Crea una nuova lista chiamata lineArray.
Nella lista non è necessario definire la dimensione e anche
Qui questo elenco memorizzerà le coordinate
Stiamo per memorizzare le coordinate del clic del mouse in questo array.
DimlineArrayAs NewList(OfCoordinate)
Crea un'istanza per la classe LineString.
Dobbiamo passare una collezione di coordinate della lista
DimlineGeometryAs NewLineString(lineArray)
Aggiungi la geometria della linea alla funzione linea
DimlineFeatureAsIFeature= [Link](lineGeometry)
aggiungi la prima coordinata alla funzione linea
[Link](coord)
imposta l'attributo della linea caratteristica

lineID = lineID + 1
[Link]("LineID") = lineID
firstClick =False
Altro
secondo o più clic - aggiungi punti alla funzionalità esistente
Dim existingFeature As IFeature = [Link]([Link] - 1)
[Link](coord)
aggiorna la mappa se la linea ha 2 o più punti
Se [Link] >= 2 Allora
[Link]()
[Link]()
Fine If
Fine If
Fine If

Teva ~ Veluppillai Page 21


Introduzione alla programmazione con DotSpatial

Altro
clic destro - ripristina il primo clic del mouse
firstClick =True
[Link]()
Fine se

Caso "poligono"
[Link] = [Link]
clic sinistro - riempi array di coordinate
DimcoordAsCoordinate= [Link]([Link])
Se(polygonmouseClick)Allora
clic sinistro per la prima volta - funzione per creare una linea vuota
SePrimoClicAllora
Crea una nuova lista chiamata polygonArray.
Qui questo elenco memorizzerà le Coordinate
Andremo a memorizzare le coordinate del clic del mouse in questo array.
DimpolygonArrayAs NuovaLista(OfCoordinate)
Crea un'istanza per la classe LinearRing.
Passiamo l'elenco dei poligoni al costruttore di questa classe
DimpolygonGeometryComeNuovoAnelloLineare(polygonArray)
Aggiungi l'istanza polygonGeometry a PolygonFeature
[Link](polygonGeometry)
aggiungi la prima coordinata alla feature del poligono
[Link](coord)
imposta l'attributo della feature del poligono
polygonID = polygonID + 1
[Link]("PolygonID") = polygonID
firstClick =False
Altro
secondi o più clic - aggiungi punti alla funzionalità esistente
Dim existingFeature As IFeature = [Link]([Link] - 1)
[Link](coord)
aggiorna la mappa se la linea ha 2 o più punti
Se [Link] >= 3 Allora
aggiorna la mappa
[Link]()
[Link]()
Fine If
Fine se
Fine If
Altro
clic destro - ripristina il primo clic del mouse
firstClick =True
[Link] = [Link]
Fine If
Fine Seleziona
Fine Sub

Teva ~ Veluppillai Page 22


Introduzione alla programmazione con DotSpatial

C#

private void map1_MouseDown(object sender, MouseEventArgs e)


{
cambia(shapeType)
{
Punto
se([Link] == [Link])
{
se((pointmouseClick))
{
//Questo metodo è utilizzato per convertire le coordinate dello schermo in coordinate della mappa
//[Link] è il punto di clic del mouse sul controllo della mappa
Coordinatecoord = [Link]([Link]);

//Crea un nuovo punto


//Il parametro di input è la coordinata del punto cliccato
[Link] punto = new [Link](coord);

//Aggiungi il punto nella Funzione Punto


//assegnare la funzionalità punto a IFeature perché solo attraverso di essa possiamo impostare le attributi.
IFeaturecurrentFeature = [Link](point);

//aumentare l'ID del punto


pointID = pointID + 1;

//imposta l'attributo ID
[Link]["PointID"] = pointID;

//aggiorna la mappa
[Link]();
}
}

altro
{
//clic destro del mouse
[Link] = [Link];
pointmouseClick =false;
}
interrompere;

line
se([Link] == [Link])
{
//clic sinistro - riempi array di coordinate
//coordinate del punto cliccato
Coordinatecoord = [Link]([Link]);
se(linemouseClick)
{
//primo clic sinistro - crea una funzione vuota
se(primoClick)

Teva ~ Veluppillai Page 23


Introduzione alla programmazione con DotSpatial

{
//Crea una nuova lista chiamata lineArray.
//Questa lista memorizzerà le Coordinate
Conserveremo le coordinate del clic del mouse in questo array.
List<Coordinate> lineArray = new List<Coordinate>();

//Crea un'istanza per la classe LineString.


Dobbiamo passare una collezione di coordinate di lista
LineStringlineGeometry = newLineString(lineArray);

//Aggiungi la geometria della linea alla funzione linea

IFeaturelineFeature = [Link](lineGeometry);

//aggiungi la prima coordinata alla caratteristica della linea

[Link](coord);
//impostare l'attributo della funzionalità linea

lineID = lineID + 1;
[Link]["LineID"] = lineID;
false
}
altro
{
//secondo o più clic - aggiungi punti alla funzionalità esistente
IFeature existingFeature = [Link][[Link] - 1];
[Link](coord);

//aggiorna la mappa se la linea ha 2 o più punti


se([Link] >= 2)
{
[Link]();
[Link]();
}
}
}
}
altrimenti
{
//clic destro - ripristina il primo clic del mouse
firstClick =true;
[Link]();
}
interrompere;

poligono

se([Link] == [Link])
{
//clic sinistro - riempi array di coordinate
Coordinatecoord = [Link]([Link]);

se(polygonmouseClick)
{
//prima volta clic sinistro - crea una funzionalità di riga vuota

Teva ~ Veluppillai Page 24


Introduzione alla programmazione con DotSpatial

se(primoClick)
{
//Crea una nuova lista chiamata polygonArray.

//questa lista memorizzerà le coordinate


Memorizzeremo le coordinate dei clic del mouse in questo array.

List<Coordinate> polygonArray = new List<Coordinate>();

//Crea un'istanza per la classe LinearRing.


Passiamo la lista dei poligoni al costruttore di questa classe
LinearRing polygonGeometry = new LinearRing(polygonArray);

//Aggiungi l'istanza polygonGeometry a PolygonFeature


IFeaturepolygonFeature = [Link](polygonGeometry);

//aggiungi la prima coordinata alla caratteristica del poligono


[Link](coord);

//imposta l'attributo della feature del poligono


polygonID = polygonID + 1;
[Link]["PolygonID"] = polygonID;
firstClick =false;
}
altrimenti
{
//secondo o ulteriori clic - aggiungi punti alla funzione esistente
IFeatureexistingFeature = (IFeature)[Link][[Link] -
1];

[Link](coord);

//aggiorna la mappa se la linea ha 2 o più punti


se([Link] >= 3)
{
//aggiorna la mappa
[Link]();
[Link]();
}
}
}
}
altro
{
//clic destro - ripristina il primo clic del mouse
firstClick =true;
}
interrompere;
}

Teva ~ Veluppillai Page 25


Introduzione alla programmazione con DotSpatial

Operazioni relative alla tabella degli attributi

Visualizza la tabella degli attributi del file shapefile degli Stati Uniti.

VB

Private SubVisualizzaTabellaAttributiToolStripMenuItem_Click(ByVal sender As [Link],


[Link])[Link]
Dichiarare una tabella dei dati

DimdtAsDataTable
Se [Link] > 0 Allora
DimstateLayerAsMapPolygonLayer
stateLayer = TryCast([Link](0), MapPolygonLayer)
Se stateLayer è nullo allora
[Link]("Il layer non è un layer poligonale.")
Altro
Ottieni la tabella degli attributi del file shapefile nel nostro datatable dt
dt = [Link]
Imposta la sorgente dati del datagridview da datatable dt
[Link] = dt
Fine If
Altro
[Link]("Per favore, aggiungi un livello alla mappa.")
Fine Se
Fine Sub

C#

private void VisualizzaTabellaAttributiToolStripMenuItem_Click(object sender, EventArgs e)


{
//Dichiarare una tabella dati
[Link] dt = null;

se([Link] > 0)
{
MapPolygonLayerstateLayer = default(MapPolygonLayer);

stateLayer = (MapPolygonLayer)[Link][0];

se(stateLayer == null)
{
[Link]("Il livello non è un livello poligonale.");
}
altro
{
//Ottieni la tabella degli attributi del shapefile nella nostra datatable dt
dt = [Link];
//Imposta la sorgente dati della datagridview dalla datatable dt
[Link] = dt;
}
}
altrimenti
{

Teva ~ Veluppillai Page 26


Introduzione alla programmazione con DotSpatial

[Link]("Per favore aggiungi un livello alla mappa.");


}

5.1.1) Uscita del codice sopra

Fig. 9. Visualizza la tabella degli attributi del shapefile.

Aggiungi una nuova colonna nella tabella degli attributi. Nel seguente esempio il nome della nuova colonna è
PercentualeMaschi

VB
Sottoprocedura CreaUnaColonnaNellaTabellaAttributiStrumentoStripMenuItem_Click(ByVal sender As [Link],
[Link])[Link]
Dichiarare una tabella dei dati

DimdtAsDataTable
Se [Link] > 0 Allora
DimstateLayerAsMapPolygonLayer
stateLayer = TryCast([Link](0), MapPolygonLayer)
Se stateLayer è nullo allora
[Link]("Il layer non è un layer poligonale.")
Altro
Ottieni la tabella degli attributi del shapefile nella nostra tabella dt
dt = [Link]
Aggiungi nuova colonna

Teva ~ Veluppillai Page 27


Introduzione alla programmazione con DotSpatial

Dim column As New DataColumn("PercentMales")


[Link](colonna)
calcolare valori
Per ogni riga come DataRow in [Link]
Dimmales As Double = row("males")
Dimfemales As Double = riga("females")
DimmalesPercentageCome Double= (maschi / (maschi + femmine)) * 100
maliPercentuale
Successivo
Imposta la sorgente dati del datagridview da datatable dt
[Link] = dt
Fine If
Altro
[Link]("Per favore, aggiungi un layer alla mappa.")
Fine Se
Fine Sub

C#

private void CreaUnaColonnaNellaTabellaDiAttributoToolStripMenuItem_Click(object sender, EventArgs e)


{
//Dichiarare una datatable
[Link] dt = null;

//controlla i livelli
se([Link] > 0)
{
//Dichiarare un livello mappolygon
MapPolygonLayerstateLayer =default(MapPolygonLayer);

//Assegna il layer mappolygon dalla mappa


stateLayer = [Link][0] come MapPolygonLayer;

se(stateLayer ==null)
{
[Link]("Il livello non è un livello poligonale.");
}
altro
{
//Ottieni la tabella degli attributi del shapefile nella nostra datatable dt
dt = [Link];

//Aggiungi nuova colonna


DataColumn column = new DataColumn("PercentMales");
[Link](colonna);

//calcolare valori
per ogni riga in [Link]
{

doublemales = [Link](row["males"]);
doublefemales = [Link](row["females"]);
(maschi / (maschi + femmine)) * 100;
percentualeMaschi
}
//Imposta la sorgente dati del datagridview dalla datatable dt
[Link] = dt;
}

Teva ~ Veluppillai Page 28


Introduzione alla programmazione con DotSpatial

}
altrimenti
{
[Link]("Per favore aggiungi un livello alla mappa.");
}

Output del codice sopra.

Fig. 10. Aggiungi una nuova colonna PercentMales nella tabella degli attributi.

Aggiorna la tabella degli attributi del shapefile.

VB
Private Sub SalvaLaColonnaInShapeFileToolStripMenuItem_Click(ByVal sender As [Link],
[Link])[Link]
Se [Link] > 0Allora
DimstateLayerAsMapPolygonLayer
stateLayer = TryCast([Link](0), MapPolygonLayer)
Se stateLayer è nullo allora
[Link]("Il layer non è un layer poligonale.")
Altro
[Link]()
Fine Se
Altro
[Link]("Per favore aggiungi un livello alla mappa.")

Teva ~ Veluppillai Page 29


Introduzione alla programmazione con DotSpatial

Fine Se
Fine Sub

C#

private void SalvaLaColonnaInFileShapeToolStripMenuItem_Click(object sender, EventArgs e)


{
se ([Link] > 0)
{
MapPolygonLayerstateLayer =default(MapPolygonLayer);
stateLayer = [Link][0] come MapPolygonLayer;
se(stateLayer ==null)
{
[Link]("Il livello non è un livello poligonale.");
}
altro
{
[Link]();
}
}
altrimenti
{
[Link]("Per favore aggiungi un livello alla mappa.");
}
}

Elimina la colonna degli attributi dalla tabella degli attributi. Nell'esempio seguente, la colonna "PercentMales" sarà
essere eliminato.

VB

Private Sub EliminaColonnaNellaTabellaAttributiToolStripMenuItem_Click(ByVal sender As [Link],


[Link])[Link]
Dichiarare una tabella dati
DimdtAsDataTable
Se [Link] > 0 Allora
DimstateLayerAsMapPolygonLayer
stateLayer = TryCast([Link](0), MapPolygonLayer)
Se stateLayer è nulla allora
[Link]("Il livello non è un livello poligonale.")
Altro
Ottieni la tabella degli attributi del shapefile nella nostra datatable dt
dt = [Link]
Rimuovi una colonna
[Link]("PercentMales")
Imposta la sorgente di dati del datagridview dal datatable dt
[Link] = dt
Fine If
Altro
[Link]("Si prega di aggiungere un livello alla mappa.")
Fine Se
Fine Sub

C#

private void EliminaColonnaInTabellaAttributiToolStripMenuItem_Click(object sender, EventArgs e)

Teva ~ Veluppillai Page 30


Introduzione alla programmazione con DotSpatial

{
//Dichiarare una tabella dei dati

[Link] dt = null;

se([Link] > 0)
{
default(MapPolygonLayer)

stateLayer = [Link][0] come MapPolygonLayer;

se(stateLayer == null)
{
[Link]("Il livello non è un livello poligonale.");
}
altro
{
//Ottieni la tabella degli attributi del shapefile nella nostra tabella dati dt
dt = [Link];

Rimuovi una colonna


[Link]("PercentMales");

//Imposta la sorgente dati del datagridview dalla datatable dt


[Link] = dt;
}
}
altrimenti
{
[Link]("Per favore, aggiungi un layer alla mappa.");
}

Esporta una tabella attributi in un foglio di calcolo Excel.

Fai clic con il tasto destro sul progetto nell'esplora soluzioni. Nel menu contestuale seleziona aggiungi riferimento e
aggiungi il riferimento .NET: [Link]

Scrivi il seguente codice nell'evento ExportAttributeTableToExcelToolStripMenuItem_Click.

VB
Private Sub EsportaTabellaAttributiInExcelToolStripMenuItem_Click(ByVal sender As [Link],
[Link])[Link]
Dichiara una tabella dati
DimdtAsDataTable
[Link] > 0Allora
DimstateLayerAsMapPolygonLayer
stateLayer = TryCast([Link](0), MapPolygonLayer)
Se stateLayer è Niente Allora
[Link]("Il livello non è un livello poligonale.")
Altrimenti
Ottieni la tabella degli attributi del shapefile nella nostra tabella dati dt
dt = [Link]
Chiama il sub ExportToExcel

Teva ~ Veluppillai Page 31


Introduzione alla programmazione con DotSpatial

Questa sottoprocedura si aspetta una tabella dati come input


EsportaInExcel(dt)
Fine se
Altro
[Link]("Per favore aggiungi un livello alla mappa.")
Fine If
Fine Sub

C#

private void EsportaTabellaAttributiInExcelToolStripMenuItem_Click(object sender, EventArgs e)


{
//Dichiarare una tabella dati
[Link] dt = null;

se ([Link] > 0)
{
MapPolygonLayerstateLayer =default(MapPolygonLayer);
stateLayer = [Link][0] come MappaPoligonaleLayer;
se(stateLayer == null)
{
[Link]("Il layer non è un layer poligonale.");
}
altro
{
//Ottieni la tabella degli attributi del file shapefile nella nostra datatable dt

dt = [Link];
//Chiama il sotto ExportToExcel
//Questa sottoprocedura si aspetta un datatable come input
EsportaInExcel(dt);
}
}
altrimenti
{
[Link]("Per favore, aggiungi uno strato alla mappa.");
}

Scrivi il seguente sottometodo per ottenere un output di foglio di calcolo Excel da una tabella di attributi.

VB
<riassunto>
Questo metodo secondario è utilizzato per creare un foglio di lavoro Excel dalla tabella degli attributi
</riassunto>
tabella degli attributi come input di datatable
<commenti>Fai clic sulla scheda COM nella finestra di dialogo Aggiungi Riferimento e cerca Microsoft Excel 14 Object
Biblioteca.</commenti>
Private Sub EsportaInExcel(ByVal objDT As DataTable)

Dim Excel As Object = CreateObject("[Link]")


DimstrFilenameAs String
DimintCol, intRowCome Intero
percorso per memorizzare il foglio di dati Excel

DimstrPathAs String="C:\2009 Cadute\"

Teva ~ Veluppillai Page 32


Introduzione alla programmazione con DotSpatial

Se Excel è nullo Allora


MsgBox("Sembra che Excel non sia installato su questa macchina. Questa operazione richiede MS Excel")
da installare su questa macchina.
Restituisci
Fine If
Prova
Con Excel
.SheetsInNewWorkbook = 1
.[Link]()
Seleziona .Worksheets(1)

.cells(1, 1).value ="Tabella degli attributi"


.cells(1, 1).[Link] =True

Aggiungi i nomi delle colonne dalla tabella degli attributi al foglio di lavoro di Excel
DimintIAs Intero= 1
ForintCol = [Link] - 1
.cells(2, intI).value = [Link](intCol).ColumnName
.celle(2, intI).[Link] = True
intI += 1
Successivo

Aggiungi i valori delle righe di dati dalla tabella degli attributi al foglio di lavoro Excel
intI = 3
DimintKAs Intero= 1
ForintCol = [Link] - 1
intI = 3
ForintRow = 0 A [Link] - 1
.Cells(intI, intK).Value = [Link](intRow).ItemArray(intCol)
intI += 1
Prossimo
intK += 1
Successivo

Se Mid$(strPath, [Link], 1) <> "" Allora


strPath = strPath &"\"
Fine If

strFilename = strPath & "[Link]"

.[Link](strFilename)
Fine con

[Link](Excel)

Excel =Niente
MsgBox("I dati sono stati esportati in Excel con successo in '
[Link])
CatchexAsException
MsgBox([Link])
Fine Prova
L'Excel è stato creato e aperto per inserire il valore. Dobbiamo chiudere questo Excel utilizzando questo sistema.
Dimpro()ComeProcess= [Link]("EXCEL")
Per OgniProcessoInpro
[Link]()
Prossimo
Fine Sub

Teva ~ Veluppillai Page 33


Introduzione alla programmazione con DotSpatial

C#

/// <summary>
Questo sottometodo è utilizzato per creare un foglio di lavoro Excel dalla tabella degli attributi
/// </summary>
/// <param name="objDT">attribute table as a datatable input</param>
// <remarks>Fai clic sulla scheda COM della finestra di dialogo Aggiungi riferimento e trova Microsoft Excel 14 Oggetto
Biblioteca.

private void esportaInExcel([Link] objDT)


{
//excel = new [Link]();
[Link] xlApp = new [Link]();

null;
intintCol = 0;
intintRow = 0;
//percorso per memorizzare il foglio di calcolo excel

stringstrPath ="C:\2009 Ffalls\";

se(xlApp ==null)
{
[Link]("Sembra che Excel non sia installato su questa macchina. Questa operazione richiede MS")
Excel deve essere installato su questa macchina.
ritorna;
}
prova
{
//var _with1 = [Link]();
[Link] = 1;
[Link]();
[Link][1].Seleziona();

[Link][1, 1].value ="Tabella degli attributi";


//Intestazione del file excel
[Link][1, 1].[Link] = true;

//Aggiungi i nomi delle colonne dalla tabella degli attributi al foglio di lavoro di Excel
intintI = 1;
per(intCol = 0; intCol <= [Link] - 1; intCol++)
{
[Link][2, intI].value = [Link][intCol].ColumnName;
[Link][2, intI].[Link] = true;
intI += 1;
}

//Aggiungi i valori della riga di dati dalla tabella degli attributi al foglio di lavoro di Excel
intI = 3;
intintK = 1;
per(intCol = 0; intCol <= [Link] - 1; intCol++)
{
intI = 3;
per(intRow = 0; intRow <= [Link] - 1; intRow++)
{
[Link][intI, intK].Value = [Link][intRow].ItemArray[intCol];
intI += 1;

Teva ~ Veluppillai Page 34


Introduzione alla programmazione con DotSpatial

}
intK += 1;
}

se([Link]([Link] - 1, 1) !="\")
{
strPath = strPath +"\";
}

strFilename = strPath +"[Link]";

[Link](strFilename);

[Link](xlApp);

xlApp =null;
[Link]("I dati sono stati esportati in Excel con successo in '" + strFilename + "'", "",
Pulsanti della finestra di [Link], Icona della finestra di [Link]);
}
catturare(Exception ex)
{
[Link]([Link]);
}
L' excel è creato e aperto per inserire valori. Dobbiamo chiudere questo excel utilizzando questo sistema.
[Link][] pro =
([Link][])[Link]("EXCEL");
foreach([Link])
{
[Link]();
}
}

Stampare una mappa in DotSpatial

Scrivi il seguente codice nell'evento PrintMapToolStripMenuItem_Click

VB

Private SubStampaMappaStrumentoMenuItem_Clicca(ByVal mittente Come [Link], ByVal e Come


[Link])[Link]
Dim frm As New [Link]
[Link] = Mappa1
[Link]()
Fine Sub

C#

private void StampaMappaStrumentoStripMenuItem_Click(object sender, EventArgs e)


{
[Link] = new [Link]();
[Link] = map1;
[Link]();
}

Teva ~ Veluppillai Page 35


Introduzione alla programmazione con DotSpatial

L'output del codice sopra è il seguente:

Teva ~ Veluppillai Page 36

Potrebbero piacerti anche