Hi, as I am working on turning the old airport race in my hometown into a racetrack and would love to incorporate another track nearby, as well as some mountain roads, (...), I started to play around in my head if a proper regional approach would make sense. As I believe I can't be the only person do ever have considered such a thing (I know some large freeroam maps exist for AC, even though I rarely use them), I'd love to ask how well this would work from experience users' perspective - my area of knowledge is mostly geodata, so perhaps what I'm going on about is not well-known in all aspects, but perhaps there are things that I'm totally overlooking.
My approach for creating a huge driveable map would be:
a) Find a vector file for driveable roads. In my case, the "Hochrangiges Straßennetz" (high ranking road-network)-Layer as published by the local government seems perfect, it includes regional roads such as mountain passes, and nothing else, not suburban streets etc.
Now for my area, 1m-resolution aerial lidar scans (DSM and DEM - surface and elevation/terrain models, as in with/without trees and buildings) are available for free, as well as 0.25m resolution orthophotos -which seem to be both better resolution and more consistant in terms of color/season of recording (=how far up does the snow start) than the google ones, but they are after all only 2.5D by nature, meaning no overhangs or actual vertical walls. There are a few artifacts, but with 1-m resolution, I believe an automatic road generation is feasible and usable for the track based on this data - for comparison, please note how the airfield looks in this data, with high surface gloss applied to make (un)evenness visible. I think just by that representation of the full-res mesh from the 1m-DSM via cloudcompare that the runway and taxiways+parking areas would be quite driveable, the grassy regions on the right not so much.:
So the approach I'd take would be the following:
===Terrain===
- Create an even grid to split up the entire region in three LODs (max, medium, min): 1m, 4m, 10m - each with 250 pixel, so 250x250m, 1000x1000m, 2500x2500m in size - makes it quite understandable which grid you're looking at from the coordinates alone.
- Find out which grids are within 500 (max LOD) or 2000m (medium LOD) of the track - as in, buffer the track lines with 500 and 2000m width and find intersecting grids, meaning "it will be very/medium close to the track since it's within the buffer zone"-> these get generated.
[Optional: I think some slight decimation might give good results, after all we're not after scientific precision for these non-driveable areas]
- Generate DEM and DSM + Orthophoto (I think at that scale, 1024x1024px will suffice-> that's 2.5m resolution for stuff that's further than 2km away, I think that's more than high quality.. perhaps I should actually introduce a fourth "ultra-far" LOD) for the entire region in question; that minimum should at any rate be available for the entire region.
- Where available, this can be aided by Google 3d buildings via blosm (works well for Innsbruck, not so much for villages in valleys around), and then of course receive all the trackmodding care one could give it.
==Road and nearby surfaces===
For this, we can use our grids but sample only those parts that are within a 25m buffer of the road path (that is plenty wide even for the Autobahn):
These can then be further smoothed and analyzed, perhaps classified by "smooth dark road", "rough medium road" "road shoulder unpaved" etc. according to roughness and visual appearance (semi-automatic classification plugin might work very well), and can be used to generate the physical road meshes with a matching color texture. Smarter ways may exist to separate this into distinct parts, but splitting it by those same max-LOD 250x250 meshes will be enough for starters, and will leave plenty of room for manual smoothing and subdivision.
So that's what I've been thinking about trying for a small-ish region, would go about it by py-scripts, using only free data and software and share that here - any hints or comments on that process?
My approach for creating a huge driveable map would be:
a) Find a vector file for driveable roads. In my case, the "Hochrangiges Straßennetz" (high ranking road-network)-Layer as published by the local government seems perfect, it includes regional roads such as mountain passes, and nothing else, not suburban streets etc.
Now for my area, 1m-resolution aerial lidar scans (DSM and DEM - surface and elevation/terrain models, as in with/without trees and buildings) are available for free, as well as 0.25m resolution orthophotos -which seem to be both better resolution and more consistant in terms of color/season of recording (=how far up does the snow start) than the google ones, but they are after all only 2.5D by nature, meaning no overhangs or actual vertical walls. There are a few artifacts, but with 1-m resolution, I believe an automatic road generation is feasible and usable for the track based on this data - for comparison, please note how the airfield looks in this data, with high surface gloss applied to make (un)evenness visible. I think just by that representation of the full-res mesh from the 1m-DSM via cloudcompare that the runway and taxiways+parking areas would be quite driveable, the grassy regions on the right not so much.:
So the approach I'd take would be the following:
===Terrain===
- Create an even grid to split up the entire region in three LODs (max, medium, min): 1m, 4m, 10m - each with 250 pixel, so 250x250m, 1000x1000m, 2500x2500m in size - makes it quite understandable which grid you're looking at from the coordinates alone.
- Find out which grids are within 500 (max LOD) or 2000m (medium LOD) of the track - as in, buffer the track lines with 500 and 2000m width and find intersecting grids, meaning "it will be very/medium close to the track since it's within the buffer zone"-> these get generated.
[Optional: I think some slight decimation might give good results, after all we're not after scientific precision for these non-driveable areas]
- Generate DEM and DSM + Orthophoto (I think at that scale, 1024x1024px will suffice-> that's 2.5m resolution for stuff that's further than 2km away, I think that's more than high quality.. perhaps I should actually introduce a fourth "ultra-far" LOD) for the entire region in question; that minimum should at any rate be available for the entire region.
- Where available, this can be aided by Google 3d buildings via blosm (works well for Innsbruck, not so much for villages in valleys around), and then of course receive all the trackmodding care one could give it.
==Road and nearby surfaces===
For this, we can use our grids but sample only those parts that are within a 25m buffer of the road path (that is plenty wide even for the Autobahn):
These can then be further smoothed and analyzed, perhaps classified by "smooth dark road", "rough medium road" "road shoulder unpaved" etc. according to roughness and visual appearance (semi-automatic classification plugin might work very well), and can be used to generate the physical road meshes with a matching color texture. Smarter ways may exist to separate this into distinct parts, but splitting it by those same max-LOD 250x250 meshes will be enough for starters, and will leave plenty of room for manual smoothing and subdivision.
So that's what I've been thinking about trying for a small-ish region, would go about it by py-scripts, using only free data and software and share that here - any hints or comments on that process?
Attachments
-
386.5 KB Views: 105
Last edited: