I am planning out the creation of a web service for DTM editing. I can think of two ways of handling the DTM data on the backend, but are there better methods?
Have a base dataset of DTM tiles. Elevation queries would come from here and edits would directly affect these files. Problems: Tiles would need to be rendered on the fly in order to handle the changing data. This could be slow. A cache would overcome this, but then you would need to have a mechanism to update affected cached tiles when the underlying data changes..so their may be a significant lag between creating an edit and actually being able to see it! There is also the problem of supporting multiple resolutions. By tiling the base data, you could potentially have different resolutions (on a per tile basis), but you would then need to interpolate when rendering, slowing down the render more!
Store the data as points and serve it directly to the the browser as vector tiles. This would mean no round-tripping to see edits or query points, plus you could easily support variable resolution (since there is no 'resolution' in vector data). However I would be concerned about the potentially massive amounts of data that might need to be transmitted (depending on the zoom level).
Any thoughts of implementing data editing services like these?
Further info: The idea is to allow manual editing (draw a line/polygon and increase/decrease elevation in it by some delta) over a 2D map (DTM displayed with colorscale and/or hillshading)
Most/all edits would typically take place over a small area - these would be fine edits of e.g. waterways to prepare the DTM as input to modelling procedures.