Statistics
| Revision:

root / branches / v10 / extensions / extPublish / src-test / org / gvsig / remoteservices / conf / mapserver / test / MapServerTestWithTime.java @ 13570

History | View | Annotate | Download (3.72 KB)

1
package org.gvsig.remoteservices.conf.mapserver.test;
2

    
3
import java.io.File;
4
import java.io.IOException;
5

    
6
import org.gvsig.remoteservices.conf.mapserver.MapServerConfiguration;
7
import org.gvsig.remoteservices.conf.mapserver.MapServerConfiguration.CRS;
8

    
9
public class MapServerTestWithTime {
10
        public static void test() {
11
                String cgiURL = "http://gruposigp1:81/cgi-bin/mapserv.exe";
12
                String mapFileName="c:/zambiawms/conf/"+"prbtime.map";
13
                String msHome = "C:/ms4w/test";
14
                String msData = msHome;
15
                
16
                mapFileName = msHome + "/mapas"+"/prbtime.map";
17
                
18
                String serviceURL = cgiURL+"?map="+mapFileName;
19
                String imagePath = "../tmp/";
20
            String imageURL = "../tmp/";
21
                String raster1 = "E:/cartografia/yell_15sep99_bands432.tif";
22
                String time1 = "1987-06-26";
23
                String raster2 = "E:/cartografia/yell_15sep99_bands432.tif";
24
                        
25
                String time2 = "2001-12-01";
26
                
27
                String fileIndex = msData+"/index.shp";
28

    
29
                String [] files = {raster1, raster2};
30
                String [] times = {time1, time2};
31
                generateIndex(fileIndex, files, times);
32
                
33
                System.out.println("Generating .map ...");
34
                MapServerConfiguration.ConfigFile map = new MapServerConfiguration.ConfigFile();
35
                map.mapName= "MAPSERVER_TIME_TEST";
36
                map.mapStatus="ON";
37
                map.mapUnits="METERS";
38
                map.mapShapePath = msData; 
39
                map.mapcrs= new MapServerConfiguration.CRS("EPSG:23030",true);
40
                map.setExtent(499434,4037082,745189,4258014);
41
                
42
                MapServerConfiguration.WebMap web = new MapServerConfiguration.WebMap();
43
                web.imagepath=imagePath;
44
                web.imageurl=imageURL;
45
                web.metadata=new MapServerConfiguration.MetadataWeb();
46
                web.metadata.crs= new MapServerConfiguration.CRS("EPSG:23030",false);
47
                web.metadata.title="test time";
48
                web.metadata.onlineresource=serviceURL;
49
                map.www=web;
50

    
51
                map.www.metadata.timeFormat = "YYYY-MM-DD";
52

    
53
                MapServerConfiguration.RasterLayer capa = new MapServerConfiguration.RasterLayer();
54
                capa.name = "p199r034";
55
                capa.title = "Landsat 5-7 scenes p199r034";
56
                capa.type="RASTER";
57
                capa.metadata=new MapServerConfiguration.MetadataLayer();
58
                map.setExtent(499434,4037082,745189,4258014);
59
                capa.metadata.title = "Landsat 5-7 scenes p199r034";
60
                capa.metadata.crs = new CRS("EPSG:23030", false);
61
                //capa.layercrs= new MapServer.CRS("EPSG:23030",true);
62

    
63
                capa.tileIndex="index.shp";
64
                capa.tileItem = "location";
65
                capa.metadata.timeDefault=time2;
66
                capa.metadata.timeExtent=time1+","+time2;
67
                capa.metadata.timeItem="date";
68
                
69
                map.add(capa);
70
                
71
                map.generate(mapFileName);
72

    
73
                System.out.println("done.");
74
        }
75
        
76
        private static void generateIndex(String fileIndex, String[] fNames, String[] times) {
77
                String cmd = "\"C:/Archivos de programa/FWTools1.0.5/bin/gdaltindex.exe\"";
78
                String params =  fileIndex;
79
                for (int i=0; i<fNames.length; i++)
80
                        params += " "+fNames[i];
81
                System.out.println("Generating index.shp ...");
82
                try {
83
                        deleteIndexFile(fileIndex);
84
                        System.out.println(cmd+" "+params);
85
                        Runtime.getRuntime().exec(cmd+" "+params);
86
                } catch (IOException e) {
87
                        // TODO Auto-generated catch block
88
                        e.printStackTrace();
89
                }
90
                try {
91
                        Thread.sleep(100);
92
                } catch (InterruptedException e) {
93
                        // TODO Auto-generated catch block
94
                        e.printStackTrace();
95
                }
96
                AddFieldToDBF dbfFile = new AddFieldToDBF();
97
                String dbfFileName = fileIndex.substring(0,fileIndex.length()-4)+".dbf";
98
                dbfFile.add(dbfFileName, "date", times);
99
                System.out.println("done.");
100
        }
101
        
102
        private static void deleteIndexFile(String fileIndex) {
103
                File f = new File(fileIndex);
104
                if (f.exists()) {
105
                        String root = fileIndex.substring(0,fileIndex.length()-4);
106
                        String [] exts = {"shp", "dbf", "shx"};
107
                        for (int i=0; i<exts.length; i++) {
108
                                f = new File(root+"."+exts[i]);
109
                                f.delete();
110
                        }
111
                }
112
        }        
113
        public MapServerTestWithTime() {
114
                test();
115
        }
116
        
117
        public static void main(String args[]) {
118
                new MapServerTestWithTime();
119
        }
120

    
121
}