Revision 7157 trunk/extensions/extPublish/src/com/iver/cit/gvsig/publish/servers/mapserver/MapServerPublishControler.java
MapServerPublishControler.java | ||
---|---|---|
40 | 40 |
* +34 963163400 |
41 | 41 |
* dac@iver.es |
42 | 42 |
*/ |
43 |
import java.awt.geom.Rectangle2D; |
|
43 | 44 |
import java.io.File; |
44 | 45 |
import java.io.IOException; |
45 | 46 |
import java.util.ArrayList; |
... | ... | |
55 | 56 |
import org.gvsig.remoteservices.conf.mapserver.MapServer.WebMap; |
56 | 57 |
import org.gvsig.remoteservices.conf.mapserver.test.AddFieldToDBF; |
57 | 58 |
|
59 |
import com.iver.cit.gvsig.fmap.DriverException; |
|
58 | 60 |
import com.iver.cit.gvsig.fmap.drivers.RasterDriver; |
59 |
import com.iver.cit.gvsig.fmap.drivers.raster.CmsRasterDriver; |
|
60 | 61 |
import com.iver.cit.gvsig.fmap.layers.FLayer; |
61 | 62 |
import com.iver.cit.gvsig.fmap.layers.FLayers; |
62 | 63 |
import com.iver.cit.gvsig.fmap.layers.FLyrRaster; |
... | ... | |
76 | 77 |
* |
77 | 78 |
*/ |
78 | 79 |
public class MapServerPublishControler extends PublishControler{ |
79 |
|
|
80 |
private String dataPath = null; //"C:/ms4w/test/"; |
|
81 |
private String fileIndex = null; //indexDir + "index.shp"; |
|
82 |
private String gdalPath = "C:/Archivos de programa/FWTools1.0.5/bin/"; |
|
83 |
private String cmd = "\""+gdalPath+"gdaltindex\""; |
|
84 |
private ConfigFile map = null; |
|
80 | 85 |
/** |
81 | 86 |
* Constructor |
82 | 87 |
*/ |
... | ... | |
113 | 118 |
private ConfigFile publish(String onlineResource, String path, String mapFile, |
114 | 119 |
String symbolsFile, String fontsFile, String ImageURL, |
115 | 120 |
String imagePath) { |
121 |
dataPath = path; |
|
116 | 122 |
|
117 |
ConfigFile map = getConfigFile(path);
|
|
123 |
map = getConfigFile(dataPath);
|
|
118 | 124 |
map.www = getWebMapVect(onlineResource,imagePath,ImageURL); |
119 | 125 |
|
120 | 126 |
for (int i = 0; i < getLayers().getLayersCount(); i++) { |
... | ... | |
180 | 186 |
} |
181 | 187 |
|
182 | 188 |
private MapLayer publishMosaicLayer(ConfigFile config,FLayers layers) throws LayerException{ |
183 |
MapLayer mapLayer = null; |
|
189 |
fileIndex = layers.getName().split("]")[1] + "_index.shp"; |
|
190 |
MapLayer mapLayer = publishSimpleLayer(layers.getLayer(0)); |
|
191 |
String[] sFiles = new String[layers.getLayersCount()]; |
|
192 |
for (int i=0 ; i<sFiles.length ; i++){ |
|
193 |
sFiles[i] = getRasterFile(layers.getLayer(i)); |
|
194 |
} |
|
184 | 195 |
|
185 |
return mapLayer; |
|
196 |
mapLayer.name = layers.getName().split("]")[1]; |
|
197 |
mapLayer.tileIndex = fileIndex; |
|
198 |
mapLayer.tileItem = "location"; |
|
199 |
mapLayer.data = null; |
|
200 |
mapLayer.metadata.title = mapLayer.name; |
|
201 |
Rectangle2D extent = map.extent; |
|
202 |
/*try { |
|
203 |
extent = layers.getFullExtent(); |
|
204 |
} catch (DriverException e) { |
|
205 |
throw new LayerException(LayerException.EXC_NO_DETECTED_EXTENT,e.getMessage()); |
|
206 |
}*/ |
|
207 |
mapLayer.metadata.setExtent(extent); |
|
208 |
generateIndex(dataPath + "/" + fileIndex,sFiles,null); |
|
209 |
return mapLayer; |
|
186 | 210 |
} |
187 | 211 |
|
188 | 212 |
private MapLayer publishTimeLayer(ConfigFile config,FLayers layers) throws LayerException{ |
189 |
MapLayer mapLayer = null; |
|
190 |
String indexDir = "C:/ms4w/test/"; |
|
191 |
String fileIndex = indexDir+"index.shp"; |
|
192 |
mapLayer = publishSimpleLayer(layers.getLayer(0)); |
|
213 |
fileIndex = layers.getName().split("]")[1] + "_index.shp"; |
|
214 |
MapLayer mapLayer = publishSimpleLayer(layers.getLayer(0)); |
|
193 | 215 |
|
194 | 216 |
SortedSet times = new TreeSet(); |
195 | 217 |
Hashtable files = new Hashtable(); |
... | ... | |
218 | 240 |
String[] options = sOptions.split(","); |
219 | 241 |
mapLayer.name = layers.getName().split("]")[1]; |
220 | 242 |
config.www.metadata.timeFormat = options[1]; |
221 |
mapLayer.tileIndex = "index.shp";
|
|
243 |
mapLayer.tileIndex = fileIndex;
|
|
222 | 244 |
mapLayer.tileItem = "location"; |
223 | 245 |
mapLayer.data = null; |
224 | 246 |
mapLayer.metadata.title = mapLayer.name; |
225 | 247 |
mapLayer.metadata.timeDefault = options[2]; |
226 | 248 |
mapLayer.metadata.timeExtent = timeExtent; |
227 | 249 |
mapLayer.metadata.timeItem = "date"; |
228 |
generateIndex(fileIndex,sFiles,sTimes); |
|
250 |
generateIndex(dataPath + "/" + fileIndex,sFiles,sTimes);
|
|
229 | 251 |
return mapLayer; |
230 | 252 |
} |
231 | 253 |
|
... | ... | |
237 | 259 |
} |
238 | 260 |
|
239 | 261 |
private void generateIndex(String fileIndex,String[] fNames, String[] times){ |
240 |
String gdalPath = "C:/Archivos de programa/FWTools1.0.5/bin/"; |
|
241 |
String cmd = "\""+gdalPath+"gdaltindex\""; |
|
242 | 262 |
String params = fileIndex; |
243 | 263 |
for (int i=0; i<fNames.length; i++) |
244 | 264 |
params += " "+fNames[i]; |
... | ... | |
251 | 271 |
// TODO Auto-generated catch block |
252 | 272 |
e.printStackTrace(); |
253 | 273 |
} |
254 |
try { |
|
255 |
Thread.sleep(200); |
|
256 |
} catch (InterruptedException e) { |
|
257 |
// TODO Auto-generated catch block |
|
258 |
e.printStackTrace(); |
|
274 |
if (times != null){ |
|
275 |
try { |
|
276 |
Thread.sleep(200); |
|
277 |
} catch (InterruptedException e) { |
|
278 |
// TODO Auto-generated catch block |
|
279 |
e.printStackTrace(); |
|
280 |
} |
|
281 |
AddFieldToDBF dbfFile = new AddFieldToDBF(); |
|
282 |
String dbfFileName = fileIndex.substring(0,fileIndex.length()-4)+".dbf"; |
|
283 |
dbfFile.add(dbfFileName, "date", times); |
|
259 | 284 |
} |
260 |
AddFieldToDBF dbfFile = new AddFieldToDBF(); |
|
261 |
String dbfFileName = fileIndex.substring(0,fileIndex.length()-4)+".dbf"; |
|
262 |
dbfFile.add(dbfFileName, "date", times); |
|
263 | 285 |
System.out.println("done."); |
264 | 286 |
} |
265 | 287 |
|
... | ... | |
288 | 310 |
map.mapShapePath = path; |
289 | 311 |
map.mapcrs = new CRS(getMapCtrl().getMapContext().getViewPort() |
290 | 312 |
.getProjection().getAbrev(), true); |
291 |
map.setExtent(getMapCtrl().getMapContext().getViewPort().getExtent()); |
|
313 |
map.setExtent(getMapCtrl().getMapContext().getViewPort().getAdjustedExtent());
|
|
292 | 314 |
return map; |
293 | 315 |
} |
294 | 316 |
|
Also available in: Unified diff