This is for launching mapserver from c# code // Dopo aver referenziato le librerie Mapscript per c# using OSGeo.MapServer; /// /// Path del mapfile. /// string mapfile = @"C:\ms4w\Apache\htdocs\cesena.map" /// /// Path dell'immagine png da salvare. /// string outputPng = @"C:\ms4w\Apache\htdocs\cesena.png" /// /// Path allo shapefile senza l'estensione .shp // Il file di questo esempio č C:\ms4w\Apache\htdocs\cesena.shp /// string shpFileWithoutExtension = @"C:\ms4w\Apache\htdocs\cesena"; // Crea la mappa utilizzando il mapfile sorgente specificato mapObj map = new mapObj(mapfile); // new mapObj(null); per inizializzare una mappa vuota // Crea un nuovo layer che verrā poi inserito nella mappa layer = new layerObj(null); layer.name = "layer1"; // Lo status deve essere ON per essere visualizzato layer.status = mapscript.MS_ON; // Il layer deve mostrare le informazioni contenute nello ShapeFile indicato layer.data = shpFileWithoutExtension; // Imposta lo stile di visualizzazione del nuovo layer styleObj style1 = new styleObj(null); // Impostiamo grandezza e colore della linea di visualizzazione style1.width = 2; // Spessore della linea - .size non funziona stile1.color.setRGB(0, 0, 0); // Lo stile deve essere associato a una classe che deve essere associata al layer classObj class1 = new classObj(null); class1.insertStyle(style1, -1); layer.insertClass(class1, -1); // Aggiunge un nuovo layer alla mappa map.insertLayer(layer, -1); // Crea un'immagine con la mappa in memoria imageObj image = map.draw(); // Salva l'immagine su hard disk image.save(outputPng, map); // Disegna la mappa su un controllo picturebox byte[] img = image.getBytes(); using (MemoryStream ms = new MemoryStream(img)) pictureBox.Image = Image.FromStream(ms); // Salva il mapfile con il nuovo layer map.save(mapfile);