svn-gvsig-desktop / trunk / extensions / extPublish / src / org / gvsig / remoteservices / conf / mapserver / test / MapServerTestWithTime.java @ 7125
History | View | Annotate | Download (4.1 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.MapServer; |
7 |
import org.gvsig.remoteservices.conf.mapserver.MapServer.CRS; |
8 |
import org.gvsig.remoteservices.conf.mapserver.MapServer.ConfigFile; |
9 |
import org.gvsig.remoteservices.conf.mapserver.MapServer.MetadataLayer; |
10 |
import org.gvsig.remoteservices.conf.mapserver.MapServer.MetadataWeb; |
11 |
import org.gvsig.remoteservices.conf.mapserver.MapServer.RasterLayer; |
12 |
import org.gvsig.remoteservices.conf.mapserver.MapServer.WebMap; |
13 |
|
14 |
public class MapServerTestWithTime { |
15 |
public static void test() { |
16 |
String cgiURL = "http://gruposigp1:81/cgi-bin/mapserv.exe"; |
17 |
String mapFileName="c:/zambiawms/conf/"+"prbtime.map"; |
18 |
String msHome = "C:/ms4w/mapserver"; |
19 |
String msData = msHome + "/data"; |
20 |
|
21 |
mapFileName = msHome + "/mapas"+"/prbtime.map"; |
22 |
|
23 |
String serviceURL = cgiURL+"?map="+mapFileName; |
24 |
String imagePath = "../tmp/"; |
25 |
String imageURL = "../tmp/"; |
26 |
String raster1 = "G:/sercart/carto/landsat/Europa/" + |
27 |
"p199r34_5t19870626.TM-EarthSat-Orthorectified/" +
|
28 |
"p199r34_5t19870626_nn1.tif";
|
29 |
String time1 = "1987-06-26"; |
30 |
String raster2 = "G:/sercart/carto/landsat/Europa/" + |
31 |
"p199r034_7x20011201.ETM-EarthSat-Orthorectified/" +
|
32 |
"p199r034_7t20011201_z30_nn10.tif";
|
33 |
String time2 = "2001-12-01"; |
34 |
|
35 |
String fileIndex = msData+"/index.shp"; |
36 |
|
37 |
String [] files = {raster1, raster2}; |
38 |
String [] times = {time1, time2}; |
39 |
generateIndex(fileIndex, files, times); |
40 |
|
41 |
System.out.println("Generating .map ..."); |
42 |
MapServer.ConfigFile map = new MapServer.ConfigFile();
|
43 |
map.mapName= "MAPSERVER_TIME_TEST";
|
44 |
map.mapStatus="ON";
|
45 |
map.mapUnits="METERS";
|
46 |
map.mapShapePath = msData; |
47 |
map.mapcrs= new MapServer.CRS("EPSG:23030",true); |
48 |
map.setExtent(499434,4037082,745189,4258014); |
49 |
|
50 |
MapServer.WebMap web = new MapServer.WebMap();
|
51 |
web.imagepath=imagePath; |
52 |
web.imageurl=imageURL; |
53 |
web.metadata=new MapServer.MetadataWeb();
|
54 |
web.metadata.crs= new MapServer.CRS("EPSG:23030",false); |
55 |
web.metadata.title="test time";
|
56 |
web.metadata.onlineresource=serviceURL; |
57 |
map.www=web; |
58 |
|
59 |
map.www.metadata.timeFormat = "YYYY-MM-DD";
|
60 |
|
61 |
MapServer.RasterLayer capa = new MapServer.RasterLayer();
|
62 |
capa.name = "p199r034";
|
63 |
capa.title = "Landsat 5-7 scenes p199r034";
|
64 |
capa.type="RASTER";
|
65 |
capa.extent = null;
|
66 |
capa.metadata=new MapServer.MetadataLayer();
|
67 |
map.setExtent(499434,4037082,745189,4258014); |
68 |
capa.metadata.title = "Landsat 5-7 scenes p199r034";
|
69 |
capa.metadata.crs = new CRS("EPSG:23030", false); |
70 |
//capa.layercrs= new MapServer.CRS("EPSG:23030",true);
|
71 |
|
72 |
capa.tileIndex="index.shp";
|
73 |
capa.tileItem = "location";
|
74 |
capa.metadata.timeDefault=time2; |
75 |
capa.metadata.timeExtent=time1+","+time2;
|
76 |
capa.metadata.timeItem="date";
|
77 |
|
78 |
map.layers.add(capa); |
79 |
|
80 |
map.generate(mapFileName); |
81 |
|
82 |
System.out.println("done."); |
83 |
} |
84 |
|
85 |
private static void generateIndex(String fileIndex, String[] fNames, String[] times) { |
86 |
String cmd = "\"c:/Program Files/FWTools0.9.8sid/bin/gdaltindex.exe\""; |
87 |
String params = fileIndex;
|
88 |
for (int i=0; i<fNames.length; i++) |
89 |
params += " "+fNames[i];
|
90 |
System.out.println("Generating index.shp ..."); |
91 |
try {
|
92 |
deleteIndexFile(fileIndex); |
93 |
System.out.println(cmd+" "+params); |
94 |
Runtime.getRuntime().exec(cmd+" "+params); |
95 |
} catch (IOException e) { |
96 |
// TODO Auto-generated catch block
|
97 |
e.printStackTrace(); |
98 |
} |
99 |
try {
|
100 |
Thread.sleep(100); |
101 |
} catch (InterruptedException e) { |
102 |
// TODO Auto-generated catch block
|
103 |
e.printStackTrace(); |
104 |
} |
105 |
AddFieldToDBF dbfFile = new AddFieldToDBF();
|
106 |
String dbfFileName = fileIndex.substring(0,fileIndex.length()-4)+".dbf"; |
107 |
dbfFile.add(dbfFileName, "date", times);
|
108 |
System.out.println("done."); |
109 |
} |
110 |
|
111 |
private static void deleteIndexFile(String fileIndex) { |
112 |
File f = new File(fileIndex); |
113 |
if (f.exists()) {
|
114 |
String root = fileIndex.substring(0,fileIndex.length()-4); |
115 |
String [] exts = {"shp", "dbf", "shx"}; |
116 |
for (int i=0; i<exts.length; i++) { |
117 |
f = new File(root+"."+exts[i]); |
118 |
f.delete(); |
119 |
} |
120 |
} |
121 |
} |
122 |
public MapServerTestWithTime() {
|
123 |
test(); |
124 |
} |
125 |
|
126 |
public static void main(String args[]) { |
127 |
new MapServerTestWithTime();
|
128 |
} |
129 |
|
130 |
} |