About dcdb


/tile/14/15165/9494

dcdb is a tightly-tuned tile server for the geometry component of the Property boundaries Queensland (aka "DCDB Lite") dataset. The dataset is licensed under a Creative Commons - Attribution 3.0 Australia licence.

The Department of Natural Resources and Mines requests attribution in the following manner:

© State of Queensland (Department of Natural Resources and Mines) 2020. Updated data available at http://qldspatial.information.qld.gov.au/catalogue// .

How do I use this tileserver?

If you use these tiles for tracing objects for OpenStreetMap, please use this tag:

source:geometry=qld.gov.au:dcdb.prop:2020-06-14

A tile server serves PNG images of its dataset when given scaled {x}, {y} EPSG:3857 coordinates and their {z} scale factor. The URL scheme used by dcdb is http://dcdb.adaptive-enterprises.com:17475/tile/{z}/{x}/{y}. This template is compatible with what the OpenStreetMap iD editor uses for its "custom" backgrounds.


Configuring the iD custom background

Performance

Every PNG tile from this server is generated on demand; every valid request results in a render, but that's OK because the database and render code is pretty efficient (~11 million vertices/second). The server also has upstream bandwidth of about 20 Mb/s.

I first wrote about dcdb in an OSM diary entry, Queensland DCDB as an iD background, where I outlined the mechanics of the tileserver. The most interesting thing (to me) about this tileserver is how it was written from scratch and tuned for serving the DCDB dataset with minimal CPU, disk and memory use.

Slippy map

A small Javascript/HTML5 map viewer is included (at /) with dcdb as a simple tool to test the tile server. It is an extract from Simple Slippy Map (JS + CANVAS) for Openstreetmap Tiles & Co.

Copyright 2010 dFacts Network

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Statistics

Simple JSON-encoded statistics of the tileserver can be accessed at: /tile/stats. The meaning of the structure is as follows:

nrequests Total number of requests served.
nverticies Total number of vertices (re)used in drawing.
time_served Total real time elapsed for threads serving tile requests.
rusage POSIX process resource usage statistics
rusage.maxrss maximum resident set size used in kB
rusage.minflt number of "minor" page faults serviced (no I/O)
rusage.majflt number of "major" page faults serviced (I/O to swap)
rusage.nvcsw number of voluntary context switches performed (indicates I/O work)
rusage.nivcsw number of involuntary context switches performed (indicates CPU work)
rusage.utime seconds spend executing in user mode
rusage.stime seconds spend executing in system mode (kernel)
polyfile Information about the pre-processed polygon database
polyfile.size Size of the file in bytes, mmap'ed
polyfile.text Copyright information to include in every image
polyfile.npoly Number of polygons using packed vertex lists
polyfile.nhuge Number of "overflow" polygons using non-packed vertex lists
polyfile.depth Depth of the binary search R-tree
request_rate Mean tile request rate as experienced by clients, nrequests / time_served
vertex_rate Mean vertex draw rate as experienced by server, nverticies / rusage.utime

Author

dle0