Changes The layout window avoids recomputing queries for components built on them after changes to the layout. The layout window shares the results of computing queries between layout frames: if the same component built on a query is used in multiple layout frames, the query will be computed only once. (Fix) The layout window displays and prints images based on a table with a btree index on level-x-y fields (the format used by old Radian builds and occasionally used by some dataports when image data is actually stored that way). (Fix) The query engine no longer fails to pass or receive tables from script functions. (Example uses of the feature follow.) Expression objects in scripts can take table parameters. (Examples follow.) Command objects in scripts can take table parameters. Inline queries called from scripts can take table parameters. (Examples follow.) The PBF dataport reads data faster. The PIX dataport recovers after invalid vector data. The image servers dataport allows server URLs to include control sequences. URLs for built-in image servers have been expanded to include control sequences. Old-style URLs stored in data sources created before this build are supported, unless they have been edited manually (if so, the user has to re-create the data source). An incomplete list of control sequences: - {x}, {y} - specify the X and Y coordinates of a tile,
- {zoom} - specifies the zoom level of a tile (zoom level is a numeric value similar to an image level but going in the reverse direction: the image level of 0 is the most detailed level, while the zoom level of 0 is the least detailed level supported by the server),
- {key} - specifies the API key if entered by the user,
- {keyApp} - specifies the application key if entered by the user,
- {lon}, {lat} - specify the longitude and latitude of the center of the requested tile,
- {switch:a,b,c} - specify the server selector for load balancing, the choices after the semicolon are available alternatives.
A full list of control sequences will be in the documentation. Creating a new image server data source allows selecting the 'Custom' image server and supplying a custom URL with the control sequences. Custom image servers use additional parameters such as the tile size (defaults to 256) and the zoom range (defaults to 0 through 20). (There are many sources of custom image servers. This page, for example, lists many custom image servers designed for use with OSM: https://josm.openstreetmap.de/wiki/Maps. To try, say, the 'Hike & Bike' server, click it in the list to locate the URL, then use that URL with the custom image server in Future: http://{switch:a,b,c}.tiles.wmflabs.org/hikebike/{zoom}/{x}/{y}.png ) Connection strings for data sources generated by the UI have been cleaned up to avoid converting boolean and numeric values to strings. New query function: ValueSequenceRandom - takes the number of values to generate and a seed value, and returns a table of floating-point random values between 0 and 1. If the seed value is zero or negative, it is ignored and the random generator uses a seed value unique for the session. New query function: ValueSequenceRandomInt - takes the number of values to generate, an integer limit and a seed value, and returns a table of integer random values between 0 and limit-1. If the seed value is zero or negative, it is ignored and the random generator uses a seed value unique for the session. (For both functions above, the random number generator is xorshift128+.) (Fix) Moving or resizing a layout frame no longer snaps it to itself. Printing a layout tracks progress. End of list.
|