Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/utils/RiverMapfileGenerator.java @ 4703:38ec171544de
Work on rivers.map Generator.
author | Christian Lins <christian.lins@intevation.de> |
---|---|
date | Tue, 18 Dec 2012 15:46:36 +0100 |
parents | 13abfb1bcb75 |
children | d93748043cbc |
comparison
equal
deleted
inserted
replaced
4702:13abfb1bcb75 | 4703:38ec171544de |
---|---|
12 import org.apache.log4j.Logger; | 12 import org.apache.log4j.Logger; |
13 import org.apache.velocity.Template; | 13 import org.apache.velocity.Template; |
14 | 14 |
15 public class RiverMapfileGenerator extends MapfileGenerator { | 15 public class RiverMapfileGenerator extends MapfileGenerator { |
16 | 16 |
17 public static final String XPATH_RIVERMAP_RIVER_PROJECTION = | |
18 "/artifact-database/rivermap/river[@name=$name]/srid/@value"; | |
19 | |
20 public static final String XPATH_RIVERMAP_SHAPEFILE_DIR = | |
21 "/artifact-database/rivermap/shapefile-path/@value"; | |
22 | |
23 public static final String XPATH_RIVERMAP_VELOCITY_LOGFILE = | |
24 "/artifact-database/rivermap/velocity/logfile/@path"; | |
25 | |
26 public static final String XPATH_RIVERMAP_MAPSERVER_URL = | |
27 "/artifact-database/rivermap/mapserver/server/@path"; | |
28 | |
29 public static final String XPATH_RIVERMAP_MAPFILE_PATH = | |
30 "/artifact-database/rivermap/mapserver/mapfile/@path"; | |
31 | |
32 public static final String XPATH_RIVERMAP_MAPFILE_TEMPLATE = | |
33 "/artifact-database/rivermap/mapserver/map-template/@path"; | |
34 | |
35 public static final String XPATH_RIVERMAP_MAPSERVER_TEMPLATE_PATH = | |
36 "/artifact-database/rivermap/mapserver/templates/@path"; | |
37 | |
17 private static Logger logger = Logger.getLogger(RiverMapfileGenerator.class); | 38 private static Logger logger = Logger.getLogger(RiverMapfileGenerator.class); |
18 | 39 |
19 /** | 40 /** |
20 * Generate river axis mapfile. | 41 * Generate river axis mapfile. |
21 */ | 42 */ |
22 @Override | 43 @Override |
23 public void generate() { | 44 public void generate() { |
24 logger.debug("generate()"); | 45 logger.debug("generate()"); |
25 | 46 |
26 List<River> rivers = RiverFactory.getRivers(); | 47 List<River> rivers = RiverFactory.getRivers(); |
27 List<String> riverNames = new ArrayList<String>(); | 48 List<String> riverFiles = new ArrayList<String>(); |
28 | 49 |
29 for (River river : rivers) { | 50 for (River river : rivers) { |
30 /*createRiverAxisLayer( | 51 createRiverAxisLayer( |
31 river.getName(), | 52 river.getName(), |
32 river.getId(), | 53 river.getId(), |
33 "41677", | 54 "41677", |
34 "100,100,100,100");*/ | 55 "100,100,100,100"); |
35 riverNames.add(river.getName()); | 56 riverFiles.add("river-" + river.getName() + ".map"); |
36 } | 57 } |
37 writeMapfile(riverNames); | 58 writeMapfile(riverFiles); |
38 } | 59 } |
39 | 60 |
40 protected void createRiverAxisLayer(String riverName, int riverID, String srid, String extend) { | 61 protected void createRiverAxisLayer(String riverName, int riverID, String srid, String extend) { |
41 LayerInfo layerInfo = new LayerInfo(); | 62 LayerInfo layerInfo = new LayerInfo(); |
42 layerInfo.setName(riverName); | 63 layerInfo.setName(riverName); |
43 layerInfo.setSrid(srid); | 64 layerInfo.setSrid(srid); |
44 layerInfo.setExtent(extend); | 65 layerInfo.setExtent(extend); |
66 layerInfo.setConnectionType(FLYSUtils.isUsingOracle() ? "oraclespatial" : "postgis"); | |
45 | 67 |
46 File layerFile = new File(getMapfilePath()); | 68 File layerFile = new File("river-" + riverName + ".map"); |
47 Template template = getTemplateByName(DB_LAYER_TEMPLATE); | 69 Template template = getTemplateByName(DB_LAYER_TEMPLATE); |
48 if (template == null) { | 70 if (template == null) { |
49 logger.warn("Template '" + DB_LAYER_TEMPLATE + "' found."); | 71 logger.warn("Template '" + DB_LAYER_TEMPLATE + "' not found."); |
50 return; | 72 return; |
51 } | 73 } |
52 | 74 |
53 try { | 75 try { |
54 writeLayer(layerInfo, layerFile, template); | 76 writeLayer(layerInfo, layerFile, template); |
58 } | 80 } |
59 } | 81 } |
60 | 82 |
61 @Override | 83 @Override |
62 protected String getVelocityLogfile() { | 84 protected String getVelocityLogfile() { |
63 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_VELOCITY_LOGFILE); | 85 return FLYSUtils.getXPathString(XPATH_RIVERMAP_VELOCITY_LOGFILE); |
64 } | 86 } |
65 | 87 |
66 @Override | 88 @Override |
67 protected String getMapserverTemplatePath() { | 89 protected String getMapserverTemplatePath() { |
68 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_MAPSERVER_TEMPLATE_PATH); | 90 return FLYSUtils.getXPathString(XPATH_RIVERMAP_MAPSERVER_TEMPLATE_PATH); |
69 } | 91 } |
70 | 92 |
71 @Override | 93 @Override |
72 protected String getMapserverUrl() { | 94 protected String getMapserverUrl() { |
73 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_MAPSERVER_URL); | 95 return FLYSUtils.getXPathString(XPATH_RIVERMAP_MAPSERVER_URL); |
74 } | 96 } |
75 | 97 |
76 @Override | 98 @Override |
77 protected String getMapfilePath() { | 99 protected String getMapfilePath() { |
78 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_MAPFILE_PATH); | 100 return FLYSUtils.getXPathString(XPATH_RIVERMAP_MAPFILE_PATH); |
79 } | 101 } |
80 | 102 |
81 @Override | 103 @Override |
82 protected String getMapfileTemplate() { | 104 protected String getMapfileTemplate() { |
83 return FLYSUtils.getXPathString(FLYSUtils.XPATH_RIVERMAP_MAPFILE_TEMPLATE); | 105 return FLYSUtils.getXPathString(XPATH_RIVERMAP_MAPFILE_TEMPLATE); |
84 } | 106 } |
85 } | 107 } |