Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
en:help:v2:maps:on-demand-create [2017/09/12 11:21] – external edit 127.0.0.1 | en:help:v2:maps:on-demand-create [2020/11/30 16:12] – alpinequest |
---|
====== 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]]. |
<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> |
<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> |
Note that the application will recognize the ''**{$x}**'', ''**{$y}**'' and ''**{$z}**'' variable and replace them with correct values. | Note that the application will recognize the ''**{$x}**'', ''**{$y}**'' and ''**{$z}**'' variable and replace them with correct values. |
| |
The source ''**id**'' field must be unique in the file, and contains only characters and numbers. It is used internally by the application to identify the data storage of the map. | The source ''"**id**"'' field must be unique in the file, and contains only characters and numbers. It is used internally by the application to identify the data storage of the map. |
| |
\\ | \\ |
<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> |
<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> |
{{ :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**"''. |
| |
| ==== 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. |
| |
\\ | \\ |
<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> |
<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. |
| |
\\ | \\ |
<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> |
| |
<?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> |
<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> |
</level> | </zoom-levels> |
| |
<zoom-levels z="9"> | <zoom-levels z="9"> |
<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> |
</level> | </zoom-levels> |
| |
</source> | </source> |
... | ... |
</code> | </code> |
| |
| |
| ===== AQX versions ===== |
| |
| ^ Version ^ Min. app version ^ Notable changes ^ |
| | 10 | 2.2.5 | Added support for composite sources. Added support for ''**insecure**'' parameter. Added support for ''**unixtime**'' and ''**tostring(int,radix)**'' functions. Added support for ''**{$y!}**'' variable. | |
| | 9 | 2.0.4 | Added support for ''**default-location**'' tag. Added support for ''**china-offset**'' and ''**clear-color**'' parameters. Added support for ''**md5**'' function. Sources parameter ''**opacity**'' expressed in percent (0-100) instead of 0-255. | |
| | 8 | 2.0.0 | Added support for ''**zoom-level**'' and ''**zoom-levels**'' definitions. Added support for ''**replace**'' and ''**format**'' functions. | |
| |
| |
| |
| |
| |