oscarpilote / Ortho4XP

A scenery generator for the X-Plane flight simulator
490 stars 200 forks source link

Flat mesh #226

Open mmaechtel opened 3 months ago

mmaechtel commented 3 months ago

Hi,

I only get totally flat meshes out of 1.4. I'm sure I changed something, since it worked about 2 weeks ago, but I've run out of ideas what the cause could be. Maybe someone could help me out of my 'flat world' :) Tnx Mike

Batch build launched for a number of 1 tiles. Dealing with tile 1 / 1 : +47+008

Step 1 : Building vector data for tile +47+008 :

-> Dealing with airports

Final number of constrained edges : 152483

Completed in 46.20sec.


Step 2 : Building mesh for tile +47+008 :

-> Modifying curv_tol weight map according to runway locations. -> Modifying curv_tol weight map according to coastline location.

-> Loading of the mesh computed by Triangle4XP. -> Post processing of altitudes according to vector data Smoothing inland water. Smoothing of sea water. Treatment of airports, roads and patches. -> Writing output nodes file. -> Writing final mesh to the file C:/X-Plane Enhancement/1.4/zOrtho-Experiments\zOrtho4XP_+47+008\Data+47+008.mesh

Completed in 3.72sec.


Step 2.5 : Building masks for tile +47+008 :

-> Deleting existing masks -> Reading mesh data -> Deleting existing masks -> Reading mesh data

Completed in 4.57sec.


Step 3 : Building DSF/Imagery for tile +47+008 :

-> Initializing providers with potential data on this tile. -> Checking airport locations for upgraded zoomlevel. -> Reading mesh file -> Adapting water triangles to XP12 requirements -> Computing bathymetry depth ratio bounds based on distance masks -> Computing point pools and texture requirements -> Encoding of the DSF file Final nbr of nodes: 393846 Extracting some rasters from X-Plane's Global Scenery DSF file encoded, total size is : 16789809 bytes (16.0M) *Activating DSF file.

Completed in 16.99sec.


Step 4 : Extracting overlay for tile +47+008 :

-> Making a copy of the original overlay DSF in tmp dir -> The original DSF is a 7z archive, uncompressing... -> Converting the copy to text format Converting .\tmp+47+008.dsf from DSF to text as .\tmp+47+008_tmp_dsf.txt

 File .\tmp\+47+008.dsf had 167 ter, 0 obj, 187 pol, 12 net.

 Converted .\tmp\+47+008.dsf to .\tmp\+47+008_tmp_dsf.txt

-> Selecting overlays for copy/paste -> Converting back the text DSF to binary format Converting .\tmp+47+008_tmp_dsf_without_mesh.txt from text to DSF as .\tmp+47+008_tmp_dsf_without_mesh.dsf

 Scanning for dimension properties...

 Got dimension properties, establishing file writer...

 Got entire file, processing and creating DSF.

 Converted .\tmp\+47+008_tmp_dsf_without_mesh.txt to .\tmp\+47+008_tmp_dsf_without_mesh.dsf

-> Coping the final overlay DSF in .\yOrtho4XP_Overlays\Earth nav data+40+000

Completed in 9.26sec.


Batch process completed in 1m20sec


apt_smoothing_pix=8 road_level=1 road_banking_limit=0.5 lane_width=4.0 max_levelled_segs=200000 water_simplification=0.0 min_area=0.05 max_area=200.0 clean_bad_geometries=True mesh_zl=19 curvature_tol=2.0 apt_curv_tol=0.5 apt_curv_ext=0.5 coast_curv_tol=1.0 coast_curv_ext=0.5 limit_tris=3.0 min_angle=10.0 sea_smoothing_mode=zero water_smoothing=10 iterate=0 mask_zl=15 masks_width=100 masking_mode=sand use_masks_for_inland=False imprint_masks_to_dds=False distance_masks_too=False masks_use_DEM_too=False masks_custom_extent= cover_airports_with_highres=True cover_extent=1.0 cover_zl=18 water_tech=XP12 ratio_bathy=1.0 ratio_water=1.0 overlay_lod=25000.0 sea_texture_blur=0.0 normal_map_strength=1.0 terrain_casts_shadows=True use_decal_on_terrain=True custom_dem= fill_nodata=True default_website=BI default_zl=18 zone_list=[]

d41k4n commented 3 months ago

Please zip and attach C:/X-Plane Enhancement/1.4/zOrtho-Experiments\zOrtho4XP_+47+008\Data+47+008.mesh

mmaechtel commented 3 months ago

Ortho4XP_+47+008.zip

d41k4n commented 3 months ago

Does it work with OrthoXP 1.3?

mmaechtel commented 3 months ago

Yes, with 1.3 no problem at all

mmaechtel commented 3 months ago

When i use a custom_dem it's also working but not with the default 'custom_dem' (e.g. empty) settings

d41k4n commented 3 months ago

I would suggest to delete the tmp folder and copy the Elevation_data folder of your 1.30 installation over to 1.40 (overwriting existing files and folders).

mmaechtel commented 3 months ago

ok, will try it. Many thanks 👍

Ricky1975 commented 3 months ago

Same error here. But also with a fresh 1.3. I have no 1v3 with "old" height data to check with.

Update (same effect for 1.3 and 1.4): Seems like someting in the naming logic of viewfinderpanoramas changed. App is stating to download: Downloading .\Elevation_data+40+000\N47E008.hgt from Viewfinderpanoramas (J. de Ferranti). Downloading .\Elevation_data+40+000\N47E007.hgt from Viewfinderpanoramas (J. de Ferranti). Downloading .\Elevation_data+40+000\N47E009.hgt from Viewfinderpanoramas (J. de Ferranti). Downloading .\Elevation_data+40+000\N46E008.hgt from Viewfinderpanoramas (J. de Ferranti). Downloading .\Elevation_data+40+000\N46E007.hgt from Viewfinderpanoramas (J. de Ferranti). Downloading .\Elevation_data+40+000\N46E009.hgt from Viewfinderpanoramas (J. de Ferranti). Downloading .\Elevation_data+40+000\N48E008.hgt from Viewfinderpanoramas (J. de Ferranti).

but the downloaded elevation data directory does not contain file N47E008.hgt.

Also, if I understood the code correctly, for +47+008 the download should request the 1° version. But the filesize is 2.8MByte and not 25MByte - so it seems to be the 3° version.

d41k4n commented 3 months ago

IMO the cause is similar to what I wrote in https://github.com/oscarpilote/Ortho4XP/issues/228#issuecomment-2000147639. Not much you can do apart from selecting a different DEM source or manually downloading the lower res 3" DEM from https://viewfinderpanoramas.org/dem3/L32.zip and extracting the missing .hgt's to the appropriate subfolder(s) in Elevation_data.

d41k4n commented 3 months ago

However, for Europe in particular I highly recommend manually downloading and installing the much superior LiDAR DTMs provided by Sonny (and consider making a donation while at it).

mmaechtel commented 3 months ago

Now works great again with Lidar DTMs from Sonny. Many thanks for this great link to more precise data :)

w8sl commented 3 months ago

See comment: https://github.com/oscarpilote/Ortho4XP/issues/228#issuecomment-2002318083

scriptPilot commented 3 months ago

Following the install guide for MacOS I also have flat terrain as a result.

I found the following error in the logs, but the named config field is not available in the config window:

ERROR: file  Earth nav data/+40+000/+45+007.dsf absent.
Recall that the overlay source directory needs to be set  in the config window first.

The elevation data seems to be downloaded correctly.

Bildschirmfoto 2024-03-22 um 10 34 06

Any idea how to solve this issue?

d41k4n commented 3 months ago

The error message is unrelated to the topic discussed here and possible workarounds were already mentioned earlier.

scriptPilot commented 3 months ago

When i use a custom_dem it's also working but not with the default 'custom_dem' (e.g. empty) settings

With Lidar DTMs from Sonny, is it required to select for each tile a new .hgt file and start the process for a single tile only? Or it it possible to download the whole folder from Google and automatize its usage to create a bunch of tiles at once?

scriptPilot commented 3 months ago

The error message is unrelated to the topic discussed here and possible workarounds were already mentioned earlier.

Alright, I've created a new issue for the error message above. https://github.com/oscarpilote/Ortho4XP/issues/239

d41k4n commented 3 months ago

When i use a custom_dem it's also working but not with the default 'custom_dem' (e.g. empty) settings

With Lidar DTMs from Sonny, is it required to select for each tile a new .hgt file and start the process for a single tile only? Or it it possible to download the whole folder from Google and automatize its usage to create a bunch of tiles at once?

If you copy the .hgt files into the right folder(s) under Elevation_data you can leave custom_DEM empty and create tiles in batch mode as usual.

If you need help with installing Sonny's DTM I suggest reading/posting here:

https://forums.x-plane.org/index.php?/forums/topic/165525-sonnys-lidar-digital-terrain-models-of-europe/

scriptPilot commented 3 months ago

Thanks for the quick and helpful responses, @d41k4n!

scriptPilot commented 3 months ago

Example for N45E007 ... the files are downloaded and read but +265 max altitude seems not reasonable for that tile. And loading the Sim results in a more or less flat tile in that area.

Loading elevation data and smoothing it over airports.
    Downloading  ./Elevation_data/+40+000/N45E007.hgt from Viewfinderpanoramas (J. de Ferranti).
    Downloading  ./Elevation_data/+40+000/N45E006.hgt from Viewfinderpanoramas (J. de Ferranti).
    Downloading  ./Elevation_data/+40+000/N45E008.hgt from Viewfinderpanoramas (J. de Ferranti).
    Downloading  ./Elevation_data/+40+000/N44E007.hgt from Viewfinderpanoramas (J. de Ferranti).
    Downloading  ./Elevation_data/+40+000/N44E006.hgt from Viewfinderpanoramas (J. de Ferranti).
    Downloading  ./Elevation_data/+40+000/N46E007.hgt from Viewfinderpanoramas (J. de Ferranti).
    Downloading  ./Elevation_data/+40+000/N46E006.hgt from Viewfinderpanoramas (J. de Ferranti).
    Downloading  ./Elevation_data/+40+000/N46E008.hgt from Viewfinderpanoramas (J. de Ferranti).
    * Min altitude: 0.0 , Max altitude: 265.33334 , Mean: 0.021674784
Bildschirmfoto 2024-03-30 um 21 47 19

Replacing the hgt file with the one from https://sonny.4lima.de/, the result is ok:

 * Min altitude: 0.0 , Max altitude: 4623.0 , Mean: 1514.325
scriptPilot commented 3 months ago

What I am wondering also is that the hgt files are downloaded again on each run for the same tile. Is that by design or should they be reused like OSM or satellite images?

w8sl commented 4 days ago

Elevation data from Viewfinder Panoramas can only be downloaded in chunks of 24 tiles. Direct tile downloads based on latitude and longitude are not supported anymore.

This part of code is deprecated:

if (lat, lon) in ( (44, 5), (45, 5), (46, 5), (43, 6), (44, 6), (45, 6), (46, 6), (47, 6), (43, 7), (44, 7), (45, 7), (46, 7), (47, 7), (45, 8), (46, 8), (47, 8), (45, 9), (46, 9), (47, 9), (45, 10), (46, 10), (47, 10), (45, 11), (46, 11), (47, 11), (45, 12), (46, 12), (47, 12), (46, 13), (47, 13), (46, 14), (47, 14), (46, 15), (47, 15), ): resol = 1 url = ( "http://viewfinderpanoramas.org/dem1/"

Above tiles belong to: "L31", "L32", "L33", "K32",

The correct syntax is:

if source == "View":

Viewfinderpanorama grouping of files and resolutions is a

    # bit complicated...

    deferranti_nbr = 31 + lon // 6
    if deferranti_nbr < 10:
        deferranti_nbr = "0" + str(deferranti_nbr)
    else:
        deferranti_nbr = str(deferranti_nbr)
    alphabet = list("ABCDEFGHIJKLMNOPQRSTUVWXYZ")
    deferranti_letter = (
        alphabet[lat // 4] if lat >= 0 else alphabet[(-1 - lat) // 4]
    )
    if lat < 0:
        deferranti_letter = "S" + deferranti_letter
    if deferranti_letter + deferranti_nbr in (
            "L31",
            "L32",
            "L33",
            "K32",
            "O31",
            "P31",
            "N32",
            "O32",
            "P32",
            "Q32",
            "N33",
            "O33",
            "P33",
            "Q33",
            "R33",
            "O34",
            "P34",
            "Q34",
            "R34",
            "O35",
            "P35",
            "Q35",
            "R35",
            "P36",
            "Q36",
            "R36",
        ):
            resol = 1
    else:
            resol = 3
    url = (
            "http://viewfinderpanoramas.org/dem"
            + str(resol)
            + "/"
            + deferranti_letter
            + deferranti_nbr
            + ".zip"
        )
d41k4n commented 4 days ago

@w8sl Appreciate the feedback.

It would be helpful if you could create a pull-request that addresses this issue instead of pasting code in comments.

w8sl commented 4 days ago

@d41k4n Appreciate your feedback as well! Tried my best. Could not resist to update requirements