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 |
} |