Wiki source code of Cartography
Hide last authors
8.1 | 1 | = Cartography = | |
2.1 | 2 | ||
8.1 | 3 | To add the cartography functionality, edit the file dysoweb.properties located in the folder tomcat/webapps/dysoweb/WEB-INF/classes: | |
4 | |||
5 | * add ",\" at the end of the last row. | ||
6 | * then add the row "com.almworks.sqlite4java" atthe end of the file. | ||
7 | |||
8 | Edit the file requeadb.xml located in dysoweb.home/config by adding the row : | ||
9 | <DbSpatial>true</DbSpatial> | ||
10 | |||
11 | In the Requea interface, go to the menu System Parameters in the item l’onglet Administrator and modify these two parameters: | ||
12 | |||
13 | * com.requea.osm.tiles.path : inform the path to the .mbtiles file | ||
14 | * com.requea.dynapage.geospatial.geomap : put the value OSM | ||
15 | |||
16 | = Use Cartography = | ||
9.1 | 17 | To display items on the map, you have to create an entity with a property type //spacial Geometry// and the format //2D Geodetic property// : | |
18 | [[image:Capturedecran2015-06-02a09.35.43.png||style="font-family: sans-serif; font-size: 14px;"]] | ||
8.1 | 19 | ||
20 | To view the map from the .mbtiles file, create an entity derived from GeoMapView: | ||
21 | [[image:Capturedecran2015-06-01a17.54.55.png]] | ||
22 | |||
23 | Modify the script of the field Display rules or behavior in the properties sysView and sysZoom so that it point to your preferred location: | ||
24 | |||
25 | [[image:Capturedecran2015-06-01a17.55.14.png]] | ||
26 | |||
27 | [[image:Capturedecran2015-06-01a17.55.38.png]] | ||
28 | |||
9.1 | 29 | To display items on that map, edit the operation BuildMap with a script. | |
30 | |||
31 | For example: | ||
32 | |||
33 | {{code language="javascript"}} | ||
34 | var map = {}; | ||
35 | map.layers = []; | ||
36 | var layer; | ||
37 | |||
38 | layer = {}; | ||
39 | layer.title = "Items"; | ||
40 | layer.points = []; | ||
41 | layer.layers = []; | ||
42 | |||
43 | var centerX = 0; | ||
44 | var centerY = 0; | ||
45 | var nb = 0; | ||
46 | var flt = new Filter("seItem"); | ||
47 | |||
48 | var iter = flt.search(); | ||
49 | |||
50 | while(iter.hasNext()) { | ||
51 | var item = iter.next(); | ||
52 | var pos = item.seGeoPosition; | ||
53 | |||
54 | if(pos != null) { | ||
55 | if(nb == 0) { | ||
56 | centerX = pos.x; | ||
57 | centerY = pos.y; | ||
58 | nb = 1; | ||
59 | } else { | ||
60 | centerX = (pos.x + nb * centerX) / ( nb+1 ); | ||
61 | centerY = (pos.y + nb * centerY) / ( nb+1 ); | ||
62 | nb ++; | ||
63 | } | ||
64 | } | ||
65 | } | ||
66 | map.layers.push(layer); | ||
67 | |||
68 | data = new Json(map); | ||
69 | } | ||
70 | {{/code}} |