Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:help:v2:maps:on-demand-create [2019/05/01 09:29]
alpinequest
en:help:v2:maps:on-demand-create [2019/11/04 16:57] (current)
alpinequest
Line 3: Line 3:
 ====== How to create a custom map? ====== ====== How to create a custom map? ======
 \\ \\
-The application uses an XML based format for its maps configuration. Files must have an ''​**.AQX**'' ​extention ​and be placed in the "''​**[application folder]/cache/​custom-maps/​**''"​ folder.+The application uses an XML based format for its maps configuration. Files must have an ''​"**.aqx**"'' ​extension ​and be placed in the ''​"**[application folder]/datastore/​custom-maps/​**"''​ folder (you may need to create the ''"​**custom-maps**"''​ sub-folder ​if it doesn'​t exist).
  
 See [[en:​help:​v2:​settings:​storage#​how_to_locate_the_application_folder|how to locate the application folder here]]. See [[en:​help:​v2:​settings:​storage#​how_to_locate_the_application_folder|how to locate the application folder here]].
Line 15: Line 15:
 <file xml TEST1.AQX>​ <file xml TEST1.AQX>​
 <?xml version="​1.0"​ encoding="​utf-8"​ ?> <?xml version="​1.0"​ encoding="​utf-8"​ ?>
-<aqx version="​8">+<aqx version="​9">
  
   <​name>​Simple Test AQX</​name>​   <​name>​Simple Test AQX</​name>​
Line 23: Line 23:
     <​name>​Standard Mapnik</​name>​     <​name>​Standard Mapnik</​name>​
     <​zoom-levels z="​3,​5,​7,​8,​9,​10,​11,​12,​13,​14,​15,​16,​17">​     <​zoom-levels z="​3,​5,​7,​8,​9,​10,​11,​12,​13,​14,​15,​16,​17">​
-      <​server><​![CDATA[http://​a.tile.openstreetmap.org/​{$z}/​{$x}/​{$y}.png]]></​server>​+      <​server><​![CDATA[https://​a.tile.openstreetmap.org/​{$z}/​{$x}/​{$y}.png]]></​server>​
     </​zoom-levels>​     </​zoom-levels>​
   </​source>​   </​source>​
Line 45: Line 45:
 <file xml TEST2.AQX>​ <file xml TEST2.AQX>​
 <?xml version="​1.0"​ encoding="​utf-8"​ ?> <?xml version="​1.0"​ encoding="​utf-8"​ ?>
-<aqx version="​8">+<aqx version="​9">
  
   <​name>​Simple Test AQX</​name>​   <​name>​Simple Test AQX</​name>​
   <​description>​© OpenStreetMap</​description>​   <​description>​© OpenStreetMap</​description>​
  
-  <source id="​MAP01">​+  <source id="​MAP01" type="​topo">
   ​   ​
     <​name>​Standard Mapnik</​name>​     <​name>​Standard Mapnik</​name>​
Line 62: Line 62:
       <​max-threads>​2</​max-threads>​       <​max-threads>​2</​max-threads>​
       <​user-agent>​MyApp</​user-agent>​       <​user-agent>​MyApp</​user-agent>​
-      <​referer><​![CDATA[http://​www.openstreetmap.org/​]]></​referer>​+      ​<​key-url><​![CDATA[https://​www.openstreetmap.org/​key]]></​key-url>​ 
 +      ​<​referer><​![CDATA[https://​www.openstreetmap.org/​]]></​referer>​
       ​       ​
-      <​server><​![CDATA[http://​a.tile.openstreetmap.org/​{$z}/​{$x}/​{$y}.png]]></​server>​ +      <​server><​![CDATA[https://​a.tile.openstreetmap.org/​{$z}/​{$x}/​{$y}.png]]></​server>​ 
-      <​server><​![CDATA[http://​b.tile.openstreetmap.org/​{$z}/​{$x}/​{$y}.png]]></​server>​ +      <​server><​![CDATA[https://​b.tile.openstreetmap.org/​{$z}/​{$x}/​{$y}.png]]></​server>​ 
-      <​server><​![CDATA[http://​c.tile.openstreetmap.org/​{$z}/​{$x}/​{$y}.png]]></​server>​+      <​server><​![CDATA[https://​c.tile.openstreetmap.org/​{$z}/​{$x}/​{$y}.png]]></​server>​
       ​       ​
     </​zoom-levels>​     </​zoom-levels>​
Line 80: Line 81:
 {{ :​en:​help:​v2:​maps:​on-demand-create-preview-2.jpg?​nolink }} {{ :​en:​help:​v2:​maps:​on-demand-create-preview-2.jpg?​nolink }}
  
-The ''​**<​update-delay>​**''​ tag indicates after how many time the stored map data should be updated if it's used again. The default is ''​**None**'',​ meaning the application will never try to update the stored data. Must end with ''​**D**''​ (number of days), ''​**W**''​ (weeks), ''​**M**''​ (months) or ''​**Y**''​ (years). ''​**3M**''​ means ''​**3 months**''​. Use ''​**0D**''​ to force the application to update the data on each display.+The ''​**<​update-delay>​**''​ tag indicates after how many time the stored map data should be updated if it's used again. The default is ''​**None**'',​ meaning the application will never try to update the stored data. Must end with ''​**D**''​ (number of days), ''​**W**''​ (weeks), ''​**M**''​ (months) or ''​**Y**''​ (years). ​For example, ​''​**3M**''​ means 3 months. Use ''​**0D**''​ to force the application to update the data on each display.
  
-\\+The optional ''"​**type**"''​ attribute allows to define the type of the map. If no preview is available, the application will use common preview based on the map type. Can be one of ''"​**roads**"'',​ ''"​**topo**"'',​ ''"​**satellite**"'',​ ''"​**hybrid**"'',​ ''"​**nautical**"'',​ ''"​**aeronautical**"'',​ ''"​**historical**"'',​ ''"​**hillshade**"'',​ ''"​**contours**"''​.
  
-===== Advanced example =====+==== Map layer ====
 \\ \\
 +The difference between regular maps and map layers is that a map layer is added over the current map when being selected. This is usually used for maps having a transparent background. Here is how to define a map layer:
  
 +<code xml>
 +  <source id="​LAYER01"​ layer="​true"​ opacity="​50">​
 +    <​name>​Map Layer Example</​name>​
 +    <​zoom-levels z="​3,​5,​7,​8,​9,​10,​11,​12,​13,​14,​15,​16,​17">​
 +      <​server><​![CDATA[https://​a.tile.openstreetmap.org/​{$z}/​{$x}/​{$y}.png]]></​server>​
 +    </​zoom-levels>​
 +  </​source>​
 +</​code>​
  
 +The optional ''"​**opacity**"''​ attribute allows to define an initial opacity, given in percent.
  
 \\ \\
Line 99: Line 110:
     <​name>​Quadtree Map Example</​name>​     <​name>​Quadtree Map Example</​name>​
     <​zoom-levels z="​3,​5,​7,​8,​9,​10,​11,​12,​13,​14,​15,​16,​17">​     <​zoom-levels z="​3,​5,​7,​8,​9,​10,​11,​12,​13,​14,​15,​16,​17">​
-      <​server><​![CDATA[http://​map.example.com/​tiles/​{$q}]]></​server>​+      <​server><​![CDATA[https://​map.example.com/​tiles/​{$q}]]></​server>​
     </​zoom-levels>​     </​zoom-levels>​
   </​source>​   </​source>​
Line 115: Line 126:
     <​zoom-levels z="​3,​5,​7,​8,​9,​10,​11,​12,​13,​14,​15,​16,​17">​     <​zoom-levels z="​3,​5,​7,​8,​9,​10,​11,​12,​13,​14,​15,​16,​17">​
       <​expression set="​my_variable"​ type="​int">​iif( z>10, x*y, x+y )</​expression>​       <​expression set="​my_variable"​ type="​int">​iif( z>10, x*y, x+y )</​expression>​
-      <​server><​![CDATA[http://​map.example.com/​tiles/​{$my_variable}.png]]></​server>​+      <​server><​![CDATA[https://​map.example.com/​tiles/​{$my_variable}.png]]></​server>​
     </​zoom-levels>​     </​zoom-levels>​
   </​source>​   </​source>​
 </​code>​ </​code>​
  
-The "''​**set**''​" ​attribute defines the name of the custom variable, the "''​**type**''​" ​attribute tells how to display the variable (either ''​**int**'',​ ''​**long**'',​ ''​**float**''​ or ''​**double**''​).+The ''​"**set**"''​ attribute defines the name of the custom variable, the ''​"**type**"''​ attribute tells how to display the variable (either ''​"**int**"'',​ ''​"**long**"'',​ ''​"**float**"''​ or ''​"**double**"''​)
 + 
 +Most common functions and operators can be used, for example ''"​**abs(x)**"'',​ ''"​**sqrt(x)**"'',​ ''"​**hypot(x,​y)**"'',​ ''"​**cos(x)**"'',​ ''"​**charat(str,​index)**"'',​ ''"​**replace(str,​target,​replace)**"'',​ ''"​**deg_to_rad(x)**"'',​ ''"​**dist_eucl(x1,​y1,​x2,​y2)**"'',​ ''"​**md5(str)**"'',​ ''"​**rand_uni()**"'',​ ''"​**quadtree(x,​y,​z)**"'',​ etc.
  
 \\ \\
Line 133: Line 146:
     <​zoom-levels z="​3,​5,​7,​8,​9,​10,​11,​12,​13,​14,​15,​16,​17">​     <​zoom-levels z="​3,​5,​7,​8,​9,​10,​11,​12,​13,​14,​15,​16,​17">​
       <​bbox-crs-code>​EPSG:​4326</​bbox-crs-code>​       <​bbox-crs-code>​EPSG:​4326</​bbox-crs-code>​
-      <​server><​![CDATA[http://​server.example.com/​wms/​Service?​REQUEST=GetMap&​VERSION=1.1.1&​LAYERS=layer&​FORMAT=image/​png&​BBOX={$bbox}&​SRS=EPSG:​4326&​WIDTH=256&​HEIGHT=256]]></​server>​+      <​server><​![CDATA[https://​server.example.com/​wms/​Service?​REQUEST=GetMap&​VERSION=1.1.1&​LAYERS=layer&​FORMAT=image/​png&​BBOX={$bbox}&​SRS=EPSG:​4326&​WIDTH=256&​HEIGHT=256]]></​server>​
     </​zoom-levels>​     </​zoom-levels>​
   </​source>​   </​source>​
Line 147: Line 160:
  
 <?xml version="​1.0"​ encoding="​utf-8"​ ?> <?xml version="​1.0"​ encoding="​utf-8"​ ?>
-<aqx version="​8">+<aqx version="​9">
  
   <​import-ogc-wkt-def code="​EPSG:​4218">​GEOGCS["​Bogota 1975",​DATUM["​Bogota_1975",​SPHEROID["​International 1924",​6378388,​297,​AUTHORITY["​EPSG","​7022"​]],​TOWGS84[307,​304,​-318,​0,​0,​0,​0],​AUTHORITY["​EPSG","​6218"​]],​PRIMEM["​Greenwich",​0,​AUTHORITY["​EPSG","​8901"​]],​UNIT["​degree",​0.01745329251994328,​AUTHORITY["​EPSG","​9122"​]],​AUTHORITY["​EPSG","​4218"​]]</​import-ogc-wkt-def>​   <​import-ogc-wkt-def code="​EPSG:​4218">​GEOGCS["​Bogota 1975",​DATUM["​Bogota_1975",​SPHEROID["​International 1924",​6378388,​297,​AUTHORITY["​EPSG","​7022"​]],​TOWGS84[307,​304,​-318,​0,​0,​0,​0],​AUTHORITY["​EPSG","​6218"​]],​PRIMEM["​Greenwich",​0,​AUTHORITY["​EPSG","​8901"​]],​UNIT["​degree",​0.01745329251994328,​AUTHORITY["​EPSG","​9122"​]],​AUTHORITY["​EPSG","​4218"​]]</​import-ogc-wkt-def>​
Line 160: Line 173:
       <​projection-offset-y>​-800000.0</​projection-offset-y><​!-- optional, default is 0 -->       <​projection-offset-y>​-800000.0</​projection-offset-y><​!-- optional, default is 0 -->
       <​tiles-size>​256</​tiles-size><​!-- optional, default is 256 -->       <​tiles-size>​256</​tiles-size><​!-- optional, default is 256 -->
-      <​tiles-bounds>​104,​80,​527,​423</​tiles-bounds><​!-- optional --> +      <​tiles-bounds>​104,​80,​527,​423</​tiles-bounds><​!-- optional, expressed as "min x,min y,max x,max y" ​--> 
-      <​referer>​http://​server.example.com/​wmts/</​referer><​!-- optional, default is empty --> +      <​referer>​https://​server.example.com/​wmts/</​referer><​!-- optional, default is empty --> 
-      <​server>​http://​server.example.com/​wmts/​{$z}/​{$y}/​{$x}.png</​server>​+      <​server>​https://​server.example.com/​wmts/​{$z}/​{$y}/​{$x}.png</​server>​
     </​zoom-levels>​     </​zoom-levels>​
     ​     ​
Line 172: Line 185:
       <​tiles-size>​256</​tiles-size><​!-- optional, default is 256 -->       <​tiles-size>​256</​tiles-size><​!-- optional, default is 256 -->
       <​tiles-bounds>​208,​160,​1047,​839</​tiles-bounds><​!-- optional -->       <​tiles-bounds>​208,​160,​1047,​839</​tiles-bounds><​!-- optional -->
-      <​referer>​http://​server.example.com/​wmts/</​referer><​!-- optional, default is empty --> +      <​referer>​https://​server.example.com/​wmts/</​referer><​!-- optional, default is empty --> 
-      <​server>​http://​server.example.com/​wmts/​{$z}/​{$y}/​{$x}.png</​server>​+      <​server>​https://​server.example.com/​wmts/​{$z}/​{$y}/​{$x}.png</​server>​
     </​zoom-levels>​     </​zoom-levels>​
     ​     ​

Choose language:

Online help