DynamicLayerConfig config = layer.addLayerConfig(osm + "-top-ten", Constants.GTYPE_GEOMETRY, userQuery.toString());
System.out.println("Added dynamic layer '"+config.getName()+"' with CQL: "+config.getQuery());
slides.clear();
slides.put(config, 0L);
StyledImageExporter imageExporter = new StyledImageExporter(graphDb());
String exportDir = "target/export/" + osm + "/analysis";
imageExporter.setExportDir(exportDir);
imageExporter.setZoom(2.0);
imageExporter.setOffset(-0.2, 0.25);
imageExporter.setSize(1280, 800);
imageExporter.setStyleFiles(new String[] { "sld/background.sld", "sld/rank.sld" });
String[] layerPropertyNames = new String[]{"name", "timestamp", "user", "days", "user_rank"};
StringBuffer userParams = new StringBuffer();
user_rank = 1;
for (User user : topTen) {
if(userParams.length()>0) userParams.append(",");
userParams.append(user.name).append(":").append(user_rank);
user_rank++;
}
boolean checkedOne = false;
for(DynamicLayerConfig layerToExport:slides.keySet()){
layerToExport.setExtraPropertyNames(layerPropertyNames);
layerToExport.getPropertyMappingManager().addPropertyMapper("timestamp", "days", "Days", Long.toString(slides.get(layerToExport)));
layerToExport.getPropertyMappingManager().addPropertyMapper("user", "user_rank", "Map", userParams.toString());
if (!checkedOne) {
int i = 0;
System.out.println("Checking layer '" + layerToExport + "' in detail");
SearchRecords records = layerToExport.getIndex().search(new SearchAll());
for (SpatialRecord record : records) {
System.out.println("Got record " + i + ": " + record);
for (String name : record.getPropertyNames()) {
System.out.println("\t" + name + ":\t" + record.getProperty(name));
checkedOne = true;
}
if (i++ > 10)
break;
}
}
imageExporter.saveLayerImage(new String[] { osm, layerToExport.getName() }, new File(layerToExport.getName() + ".png"));
//break;
}
}