Skip to content

Commit c04d8aa

Browse files
committed
adding some regions + logic to programmatically change color
1 parent cdbffed commit c04d8aa

6 files changed

Lines changed: 51 additions & 10 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
</httpConnector>
2929
</configuration>
3030
</plugin>
31-
<plugin>
31+
<plugin>
3232
<groupId>org.codehaus.mojo</groupId>
3333
<artifactId>exec-maven-plugin</artifactId>
3434
<version>1.6.0</version>

src/main/java/fr/beneth/mapnik/EntryPoint.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,35 @@
1414
import mapnik.Mapnik;
1515
import mapnik.Projection;
1616
import mapnik.Renderer;
17+
import mapnik.Layer;
1718

1819
public class EntryPoint {
1920

2021
public static void main(String[] args) throws ClassNotFoundException, URISyntaxException, IOException {
2122

2223
Mapnik.initialize();
2324
// France métropolitaine
24-
// -9.86 41.15
25-
// 10.38 51.56
26-
Box2d bounds = new Box2d(-9.86, 41.15, 10.38, 51.56);
25+
// -9.86 41.15 : -1097610.18 5034491.87
26+
// 10.38 51.56 : 1155496.31 6720955.49
27+
Box2d bounds = new Box2d(-1097610.18, 5034491.87, 1155496.31, 6720955.49);
2728
MapDefinition m = new MapDefinition();
2829

2930
URL myMapFile = EntryPoint.class.getResource("/data/france.xml");
3031
// This should be done by the initialize() call, but ...
3132
FreetypeEngine.registerFonts(Mapnik.getInstalledFontsDir(), true);
3233

3334
m.loadMap(new File(myMapFile.toURI()).getAbsolutePath(), false);
34-
m.setSrs(Projection.LATLNG_PARAMS);
35+
// Programatically get Aquitaine and set it to red Style
36+
Layer aquitaine = m.getLayer(1);
37+
aquitaine.setStyles(new String[]{ "red" });
38+
m.removeLayer(1);
39+
m.addLayer(aquitaine);
40+
41+
m.setSrs(Projection.SRS900913_PARAMS);
3542
m.resize(4096, 4096);
3643
m.zoomToBox(bounds);
3744

45+
3846
Image image = new Image(4096, 4096);
3947
Renderer.renderAgg(m, image);
4048

src/main/resources/data/france.xml

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,52 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<Map background-color="#000" srs="+proj=longlat +datum=WGS84 +no_defs">
2+
<Map background-color="#000" srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs">
33
<Style name="white">
44
<Rule>
5-
<PolygonSymbolizer fill-opacity="1" fill="#fff"/>
5+
<PolygonSymbolizer fill-opacity="0.1" fill="#fff"/>
66
</Rule>
77
</Style>
88
<Style name="green">
99
<Rule>
10-
<PolygonSymbolizer fill-opacity="0.8" fill="#0f0"/>
10+
<PolygonSymbolizer fill-opacity="0.8" gamma="0.2" fill="#0f0" comp-op="lighten" />
11+
<LineSymbolizer stroke-width="2" stroke="#0f0" />
12+
</Rule>
13+
</Style>
14+
<Style name="red">
15+
<Rule>
16+
<PolygonSymbolizer fill-opacity="0.8" gamma="0.2" fill="#f00" comp-op="lighten" />
17+
<LineSymbolizer stroke-width="2" stroke="#f00" />
1118
</Rule>
1219
</Style>
1320
<Layer name="france.geojson" status="on" srs="+proj=longlat +datum=WGS84 +no_defs">
1421
<StyleName>white</StyleName>
1522
<Datasource>
1623
<Parameter name="type">ogr</Parameter>
1724
<Parameter name="file">france.geojson</Parameter>
18-
<Parameter name="layer">OGRGeoJSON</Parameter>
25+
<Parameter name="layer">france</Parameter>
26+
</Datasource>
27+
</Layer>
28+
<Layer name="nouvelle-aquitaine.geojson" status="on" srs="+proj=longlat +datum=WGS84 +no_defs">
29+
<StyleName>green</StyleName>
30+
<Datasource>
31+
<Parameter name="type">ogr</Parameter>
32+
<Parameter name="file">nouvelle-aquitaine.geojson</Parameter>
33+
<Parameter name="layer">Nouvelle-Aquitaine</Parameter>
34+
</Datasource>
35+
</Layer>
36+
<Layer name="grand-est.geojson" status="on" srs="+proj=longlat +datum=WGS84 +no_defs">
37+
<StyleName>green</StyleName>
38+
<Datasource>
39+
<Parameter name="type">ogr</Parameter>
40+
<Parameter name="file">grand-est.geojson</Parameter>
41+
<Parameter name="layer">grand-est</Parameter>
42+
</Datasource>
43+
</Layer>
44+
<Layer name="hauts-de-france.geojson" status="on" srs="+proj=longlat +datum=WGS84 +no_defs">
45+
<StyleName>green</StyleName>
46+
<Datasource>
47+
<Parameter name="type">ogr</Parameter>
48+
<Parameter name="file">hauts-de-france.geojson</Parameter>
49+
<Parameter name="layer">hauts-de-france</Parameter>
1950
</Datasource>
2051
</Layer>
21-
2252
</Map>

src/main/resources/data/grand-est.geojson

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

src/main/resources/data/hauts-de-france.geojson

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

src/main/resources/data/nouvelle-aquitaine.geojson

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)