BMP header is corrupt

Hi Gary

...once they are loaded, you will be prompted to "Calibrate".
I have found that once I have created a GeoTIFF image using WGS84 to import the SID file into GeoViewer I do NOT have to "Calibrate" when "adding map from disk" in SBX
IN FACT I never am prompted to do so.

We have BOTH learned something?

I also have found that the image created from the SID file does NOT 'look' as good as images created from tile downloads from ArcGis. You had suggested using ArcGis a long time ago stating that it appears to give a superior image and it does.
I will use PSP to improve the image (maybe using 'Smart Photo Fix' or similar).

Regards

John
 
Some more information regarding using WGS84 and not being prompted to "recalibrate" in SBX.

Firstly I looked up WGS84 to try and get a 'handle' on it as the GeoViewer user manual did NOT mention ANYTHING about it apart from setting preferences to 'use' it.
(To me) it looked far too complex to even be concerned with it so long as it works and it does (for me).

When I use WGS84 SBX does NOT prompt me to "calibrate" as I have already mentioned AND the 'map' (satellite imagery from the SIF file) is 'placed' in the SBX 'workspace' EXACTLY where it should be and EXACTLY the correct size. I know this as I had previously used 'vectors' to 'model' the islands in the Strait of Georgia south of Sechelt and when I imported (add map from disk) it was placed exactly over my 'islands' (which had I 'created' using "show background").
 
Hi again Gary

I am sure I found something which related to using GeoTIFF file images (from SID files) for adjacent 'tiles' but going through all this 'thread' and also Goggling it I can't find it again.

I have decided to create (as an education) photo realistic scenery of the islands off the south coast of Sechelt which require TWO SID files.
I initially thought of just 'stitching' them together using PSP (to import each into a 'workspace' which allows them both to be inside a wide image but then thought that the 'data' (Geo co-ordinates would be lost).
Can you 'point me' to relevant documentation on the best way to 'handle' such situations. I really don't want to use multiple images and masks.
I feel sure I mentioned something about 'stitching' images together and you replied but I can't find that.
Sorry my eyes often 'gloss over' (don't see) things I read - I have a problem with my right eye which could be rectified with a very new and invasive eye operation which I'm not game to undergo not to forget that I wear multi focal glasses which can be a challenge.

Sorry forgot to include images of the two GeoTIFF images

islands west.jpg islands east.jpg



Thanks

John
 
Hi John:

AFAIK, you should be able to load both Mr.SID image files for the "Trail Islands" into GeoViewer concurrently, then export them as a single GeoTIFF image with a "World" (aka "*.TFW") file.

The resulting 1-piece GeoTIFF should then be ready to use in SBuilderX as a new Background Map via:

SBuilderX Menu > File > Add Map > From Disk


If you select that entire new Background Map within the SBuilderX work-space, and submit it to "BGL compile" (but do NOT click to compile), SBuilderX will output a ' basic' INF with a BMP aerial image source data file inside:

[SBuilderX install path]\Tools\Work sub-folder.


That source data info can be used in your 'complex" multi-source INF to work with either BMPs or TIFFs.


FYI: Depending on the overall total of pixel Rows / Columns in your custom aerial photo-real source image, you may- or may not- reach the internal and/or Windows Task Session USERVA limits that SBuilderX and/or SDK Resample allow when processing 1-piece source files.

If you do reach those limits, you may need to sub-divide the Geographic extents of coverage for your project area into more than 1-piece source files for ex: Day / Night / Seasonal (if any) / Blend Mask / Water Mask.

In the event that you sub-divide the Geographic extents of coverage for your project area into more than 1-piece source files, when each such portion of the source files are individually entered into your 'complex" multi-source INF as either BMPs or TIFFs, SDK Resample will output to 1 or more BGLs mapped to your project area according to the Parameter Values you enter in the [Destination] section of that 'complex" multi-source INF file.

BTW: Even if you do not reach those limits cited above for SBuilderX and/or SDK Resample for 1-piece source files, you may find that allowing SDK Resample to "RESAMPLE" those multiple local source files and map them onto the (internally calculated) vertices of 'the FS terrain grid, ...may actually make the development process easier than attempting to create and work with a huge 1-piece photo-real aerial image 'composite' from copies of separate image tiles, while still maintaining proper Geo-referencing.

I am traveling at this time, and must defer more detailed replies until I am back at a "real" computer mid-week. :santahat:

GaryGB
 
Last edited:
Thanks Gary

Hope the travelling isn't too arduous in the cold conditions.

Yes I have already 'imported' the two SID images for the "Trail Islands" but didn't consider attempting to export as a single file.
I think I have it sorted out the problem of Calibrate not seeming to work in SBX when you add map from disk.

ADDED LATER
Hi Gary
I am assuming you haven't already read this post as there hasn't been any replies.
I have removed most of what was originally in it as I have uncovered some pertinent information which I will now advise.
In the SBX HELP Luis states -
All Maps must be in the so-called Geographic projection using the WGS84 datum.

I had discovered earlier that WGS84 resulted in CALIBRATE not being necessary. It seems that the correct coordinates and pixel size must be in the GeoTIFF file exported from GeoViewer.
YET further on the the help file Luis states -

As soon as you insert a map in SBuilder (File - Add Map from Disk) you are prompted to calibrate it. You can do it at once by introducing the latitudes and longitudes of the 4 borders of the map, as well as the dimensions of the degrees in the x and y directions.

I do NOT get prompted to CALIBRATE when using a GeoTIFF from a SID imported into GeoViewer as projection WGS84.

I find this a contradiction. Should I be creating a thread on this in the Ptsim forum?

If I use NATIVE projection (NOT what Luis states) I then get prompted to calibrate it.

WGS84 in GeoViewer also causes the following prompt when adding a second SID (the Trail Islands) cover two SID files) -
The coordinate reference system of this layer does not match that of the map. In order to be added it must be remapped OK CANCEL.
AND it leaves a small gap between each map displayed but this is not evedent in the exported GeoTIFF file.

I went ahead using WGS84 and then used the GeoTIFF file in my INF file without any coordinates and 'compiled' (resample) to BGL and it appears to have worked ALTHOUGH when the 'compile' started Resample gave a warning -
Unknown field with tag 42113 (0xa481) encountered
I don't have a water or blend mask as yet just wanted to see if it would world.

I can't see any point in using SBX if I already have a GeoTIFF file. What would the point in using SBX to add map from disk if I can create a BGL file using resample and an INF file which uses a GeoTIFF files which doesn't require data for the coordinates?
Or have I missed something?

Any comments on that?
 
Last edited:
More 'stuff' uncovered since the reply above
The GeoTIFF image created (in GeoViewer) using (projection) WGS84 results in the islands being distorted (they appear stretched horizontally).

I can't use the GeoTIFF image created by GeoViewer using (projection) NATIVE as then RESAMPLE complains -
Only geographical coordinates are supported

Now I'm between a rock and a hard place.

Back to the drawing board as they say.

Not sure if all this is worth the effort.
 
Last edited:
Hi John:

While I have returned from my travels over the first part of this holiday week, my available time and capacity for looking into these latter development issues related to your project, has been limited by a need to attend to other ongoing personal commitments, in addition to recuperating from some inter-current health issues. ;)


FYI: I have been endeavoring to see if use of GeoViewer ('free' version rather than the "Pro" version) in conjunction with SBuilderX, may obviate your need to utilize a discrete freeware or payware GIS application to convert your Mr.SID source files (which would otherwise entail opening yet another entire 'Pandora's Box' of learning).


AFAIK, SBuilderX 'should' be able to display GeoTIFF imagery loaded via Add Map > From Disk as a "MAP" (like downloaded tiles); selected tiles 'should' then be output as a 1-piece BMP and a 'paired' Geo-referencing *.TXT file to:

[SBuilderX install path]\Tools\Work sub-folder


CAVEAT: SBuilderX aerial imagery 'MAPs' must have a name prefix of "Photo" to be compiled to BGL.


FYI: SBuilderX does NOT offer the "Coordinates Tool" that is otherwise available in SBuilder for FS9 (aka: "SB9").

See: SB9 Help File > Contents tab > SBuilder Reference > File Menu > Coordinates Tool


However, assuming one can successfully display a GeoTIFF imagery loaded via Add Map > From Disk as a "MAP" in SBuilderX' work-space, then output as a 1-piece BMP, one 'should' be able to "Convert" the BMP from its native Coordinate Reference System (aka "CRS") to that required by SDK Resample: Geographic (Lat-Lon) / WGS84 ....using the "Coordinates Tool" in SBuilder for FS9.

It 'should' be possible to load that SB9-converted BMP as a "MAP" in the SBuilderX' work-space via Add Map > From Disk.

One can then use that 'non-warped' Background Image 'MAP' to create any desired scenery content in proper alignment.



If you find that you are unable to achieve a successful work-flow via the above described method, before considering use of a payware "Pro" version of GeoViewer, you may wish to consider another work-flow using a 'freeware' GIS utility.

It is possible to use the 'free' demo of Global Mapper version-13 (aka "DLGv32_Pro" previously distributed via USGS / NASA) to read the internal Metadata of your Mr.SID source files in their 'native' UTM Zone-10 / NAD83 projection.

You could use Geographic coordinate 'equivalents' for a 'native' source CRS of UTM Zone-10 / NAD83, read via:

DLGv32_Pro Menu > Tools > Control Center > [Metadata] button > [Metadata] tab > [Copy to Clipboard] button

...
to construct a custom SBuilderX-preferred Geo-referencing 'world' *.TXT file that would be used instead of the paired Geo-referencing 'world' *.TFW file output by GeoViewer.


BTW: The 'free' DLGv32_Pro allows loading and reading of GIS files and their metadata, but does not allow output. :alert:


By using the correct projection source [descriptor] tag in a custom SBuilderX-preferred Geo-referencing 'world' *.TXT file created within ex: Windows NotePad, you should be able to Add Map > From Disk, that GeoTIFF output by GeoViewer as a non-warped "MAP" in the SBuilderX' work-space ...semi-automatically, without a need to 'Calibrate'.

NOTE: The GeoTIFF output by GeoViewer and its custom SBuilderX-preferred Geo-referencing 'world' *.TXT file (its filename matching the GeoTIFF filename, but with a *.TXT file extension rather than *.TIF) ...must be located in:

[SBuilderX install path]\Tools\Work sub-folder.


Download DLGv32_Pro here: :pushpin:

https://gcmd.nasa.gov/KeywordSearch/RedirectAction.do?target=c1my2S8on40LrGsKjy0lIvetTsPh6azn0z334O7+27Tj2YPG9cFD86ySLLLpiE7CGQN4XaJ1wIz4 /5IQhg0nAZnnqG/PfQ26+NpX/0nPJPs3+N2F/s35UA==&page=relatedURL

...from this web page:

https://gcmd.nasa.gov/KeywordSearch/Metadata.do?Portal=GCMD&MetadataType=1&MetadataView=Full&KeywordPath=&EntryId=DLGv32_Pro


Hope this helps with exploring additional options for making your scenery package eligible for public distribution ...with accompanying aerial imagery for your project area. :)


PS: I am likely to to be traveling again over the New Years holiday weekend, but I shall look forward to seeing your further progress with the development process. :santahat:

GaryGB
 
Last edited:
Thanks again Gary,

I realised that you and most people are 'busier' than normal at this time of the year and wow after seeing items on the tv news about the 'big freeze' in part of the USA (didn't your president say something about sending some global warming to melt away the snow :scratchch) you could have been 'snow bound' for all I knew.

I found the DLGv32_Pro very interesting and useful. At least I now see that those 'funny' values outputted to the TFW file are another method to display geo-cordinates which I was sure they were but didn't know how to convert them - now I can.

In the last few days I have been wondering if all this is worth it. All I am trying to do is create photo realistic scenery so that I can release it as freeware on the public domain without the fear of copyright infringement. There would be few people who would be interested in a water airport anyway.

I am still trying to work out how SBX will help in this matter as once a map in imported 'add from disk' what can I do with it?

If I could find/work out the xDim and yDim values for the INF file I could just convert the GeoTIFF file to a non GeoTIFF file (TIFF) and RESAMPLE using that (I have the ulyMap and ulxmap values).

My interest is starting to 'wain' somewhat especially as I am also trying to build by first timber boat (schooner) from a kit at the same time.

Stay warm - wish you could send some cold weather here as we have been experiencing many days around 100F.

Regards
 
http://www.fsdeveloper.com/forum/threads/bmp-header-is-corrupt.441662/page-4#post-788519

I am still trying to work out how SBX will help in this matter as once a map is imported via 'add from disk' what can I do with it ?

If I could find/work out the xDim and yDim values for the INF file I could just convert the GeoTIFF file to a non GeoTIFF file (TIFF) and RESAMPLE using that (I have the ulyMap and ulxmap values).
[EDITED]

Once a properly calibrated, non-warped "MAP" image is displayed in the SBuilderX' work-space, you can create your CVX vector waves in the water offshore by your "Trail Islands", using either GUIDs for those already associated with visible shoreline textures, or using GUIDs for those coastal wave lines not associated with a visible shoreline texture ...if desired.

[END_EDIT]

However, if that is not planned for the "Trail Islands", once you have the image file converted to a BMP and re-projected to Geographic (Lat-Lon) / WGS84 via SB9, when that BMP is loaded into SBX via Add Map > From Disk, when the initial "Calibrate" dialog appears, you can press the [GeoTIFF] button to output a GeoTIFF to:

[SBuilderX install path]\Tools\Work sub-folder.


You can then use Ollyau's GeoTIFF to INF utility to read that GeoTIFF generated by SBuilderX; this utility will output a INF file with info to use in your own 'complex' multi-source INF: :idea:

http://www.fsdeveloper.com/forum/resources/geotiff-to-inf.119/

GaryGB
 
Last edited:
I'm impressed Gary.

Ollyau's GeoTIFF to INF utility seems to be exactly what I wanted (and it outputs to an INF too - BARGAIN!)

However, if that is not planned for the "Trail Islands", once you have the image file converted to a BMP and re-projected to Geographic (Lat-Lon) / WGS84 via SB9,
Also I have now downloaded SB9 (SBuilderFS9 I assume).
I tried to install SB9 but I get error "FS2004 does not exist on this computer".
I thought I once saw a way to make installation programs think that FS2004 is installed (by creating some folders/files) but couldn't find anything.

Once again another 'hurdle' and I am wondering if it's all worth the effort.
As you know a map has to be in projection WGS84 before GeoTifftoINF will allow output to an INF file.

Hope you are feeling better soon. Keep warm.

BTW what are 'vector wave lines' (Once a non-warped "MAP" image is displayed in the SBuilderX work-space, you can create your vector wave lines if desired.) All I can think of is wave lines for surf and a 'Google search' found many other things. but I feel sure that is not what they are.

Added later.
Well I have found something VERY strange but it seems to work.
I mentioned earlier that loading the SID files into Geoviewer and selecting WGS84 projection resulted in both the displayed map being stretched horizontally and the output GeoTIFF image file displays the same way (stretched horizontally). I loaded the GeoTiff file into GeoTifftoINF and exported an INF (as it is WGS84 it works). I then compiled with Resample and when I view the photo realistic image in FSX it is NOT stretched. It looks fine.
That is very strange.
Oh well I will 'forge ahead' and create masks for this image (although I will be seeing a stretched image), update the INF and recompile.
It's weird - now you see it (stretched 'map') and now you don't (fsx scenery).

Regards
 
Last edited:
Hi John:

See the edits to my latter post immediately above: ;)

http://www.fsdeveloper.com/forum/threads/bmp-header-is-corrupt.441662/page-4#post-788520


While it is possible that using Ollyau's GeoTIFF to INF utility to read the GeoTIFFs generated by GeoViewer in WGS84 'may' work to create proper Geographic coordinates in the INF which it outputs, I would be concerned that you do not have the proper Geographic coordinates being used to calibrate the MAP from the GeoTIFF loaded into SBuilderX via Add Map > From Disk, ...resulting in the characteristic display of Geographic (Lat-Lon) / WGS84 projected aerial imagery as vertically-compressed (not 'stretched'), and (often) rotated counter-clockwise from 1 to 3 degrees.

So, while it may be possible to use the INF parameter values output by Ollyau's GeoTIFF to INF utility external to SBuilderX for graphics work and manual BGL compilation with manually-created INFs and "previously-Geo-rectified" source files, I would be concerned about the ongoing use of raster or vector scenery content intended to be output from SBuilderX, that has been created or derived from use of a Background Map which is not properly calibrated within the SBuilderX work-space, ...as this inherently means that any selected image tiles / vector objects will not be projected correctly when submitted to compile a BGL.

If you are otherwise finished working within the SBuilderX work-space, and are now working exclusively outside of SBuilderX via a graphics application and a text editor for creation of source files and an INF file, it is 'possible' that you may not have a problem assuming Ollyau's GeoTIFF to INF utility successfully read that GeoTIFF generated by GeoViewer in WGS84 prior to deriving Geographic coordinates for the INF that it subsequently was able to output.


I suggest that before proceeding further, you verify N-S-E-W Geographic coordinates for several 'landmark' positions in the source aerial imagery with your compiled BGLs within FS using slew mode with the "flight parameters" on screen: :pushpin:

https://www.microsoft.com/Products/Games/FSInsider/freeflight/Pages/CustomizingShift-Z.aspx


Alternatively, your "test" aerial imagery compiled BGLs can be viewed within SDK TMFViewer, with Geographic coordinates displayed on the bottom status bar.


Hope this helps ! :)

GaryGB
 
Last edited:
Thanks again Gary

I think all this is becoming a tad too technical for me.
It's always good to have a 'challenge' but this is becoming more than a challenge.

I suggest that before proceeding further, you verify N-S-E-W Geographic coordinates for several 'landmark' positions in the source aerial imagery with your compiled BGLs within FS using slew mode with the "flight parameters" on screen: :pushpin:
Anyway I checked the coordinates at three different places on the Trail Islands (the roof of a house on island furthest north - yes there are a few houses to the end of a rocky outcrop on the island furthest east and south) between FSX and Google Earth and they are within 0.3 "longitudinal seconds" which equates about 6 metres (and this could be the result of me not being more precise using my mouse)-

On the equator at sea level, one longitudinal second measures 30.92 metres, a longitudinal minute is 1855 metres
and a longitudinal degree is 111.3 kilometres. At 30° a longitudinal second is 26.76 metres, at Greenwich (51°28′38″N) 19.22 metres, and at 60° it is 15.42 metres.

I also checked using TmfViewer getting the same results.

That is close enough for me and it will do for me - and I checked both latitude and longitude!

Regards
 
Last edited:
Hello Roby

FSEarthTiles had been mentioned in the past but I couldn't find out if there was any copyright on satellite imagery downloaded.

I have created a water airport with some parts 'covered' by photo realistic scenery created from satellite imagery downloaded via SBX using the ArcGis tile server.

I was mentioning that I was considering releasing it as freeware and Gary suggested I use the SCRD web site (http://www.scrd.ca/download-tiles) to download non copyright SID files for satellite imagery - SCRD contains lots of data files for British Columbia Canada.

Do you know if satellite imagery downloaded via FSEarthtiles can be used in freeware FSX scenery without violating any copyright laws?

Regardless of that I cannot find where to download FSEarthTiles from. A Google search got lots of hits but nothing worthwhile. I read that there is FSEarthTile 1.03b zip but could not fins that either.

Regards
 
Hi John:

It would seem from the info you posted above, that your results using a work-flow for aerial imagery processing external to SBuilderX via GeoViewer and GeoTiff To Inf, is within the expected limits of precision for either one- or both- of those utilities.

In the event that you create any scenery content via SBuilderX with the current Background Map calibration you described above, IMHO, you would be advised to verify Geographic coordinates for that as well.

I am doubtful that prospective end users of your scenery package would object to the coordinate precision you reported above for the "Trail Islands" expansion to your existing scenery aerial imagery coverage extents via the work-flow external to SBuilderX, so happy 'mask-making', and best wishes for the coming New Year ! :)

GaryGB
 
Last edited:
Thanks Gary

I just realised if I go ahead and keep my photo realistic scenery for the Trail Islands then I might have a problem.

Firstly the islands do NOT exist in 'standard' FSX scenery.

Using SBX I created them by making 'holes' for them in the existing hydro poly (using a Poly of type None). Obviously the contours are already there in FSX but covered by the water and making 'holes' they appear with what appears to be correct elevation and covered in the same vegetation as nearby land (I did read a long time agao that the FSX world is firstly covered with vegetation and then the water polys are 'on top' of that.

I will maybe add more vertices to my polys so that the satellite scenery covers the poly more accurately.
Hope I have explained enough for you to understand.
The blend masks I used only allow the rocky edges to display as I painted out all the areas shown as having trees in the real world. This also prevents the need to create a winter 'view'.

Happy New Year to all. It is 2:23pm Sunday December 31 as I type but still Saturday in the USA so you have another day to wait :laughing:

Regards
 
Last edited:
Hi John:

FYI: "FSET" is a 'Abandon-Ware' free software package used for downloading aerial imagery and creating INF files.

It has its own significant learning curve, IMHO, complicated by limited 'official' documentation from the French author, with scattered discussion threads on various FS web forums by end users seeking help with how to use it.

Although certain members of its 'orphaned' community of end users seem to have established a work-flow for accessing aerial imagery tile servers that are not (yet ?) accessible via SBuilderX, AFAIK, FSET would not offer an advantage for your particular project development scenario, as I believe 'public-distribution' of your scenery package requires that you have used imagery derived from the Mr.SID format source files downloaded from the above cited web portal as ZIP files.

This is distinct from otherwise having used files output by FSET after downloaded from a aerial imagery web tile server; you have already done this via SBuilderX, and those aerial imagery tiles may not be used for public distribution. :alert:

Perhaps Roby is aware of how FSET may use files loaded from disk after converted from Mr.SID format source files ? :scratchch

GaryGB
 
Last edited:
Thanks Gary,

I suspected that "FSET" may be "abandoned".
Also I don't want to go through a
significant learning curve
as it might be with little documentation in English.

Thanks anyway Roby for mentioning it.

Hey Gary sorry for the question "what are vector wave lines" earlier on. I already had them for my 'polygon' Trail Islands (created by a 'hole') and will adjust their position as needed.

Regards
 
Hi Gary

There was a fatal crash of a DHC2 Beaver aircraft in the Sydney (Australia) are 2 days ago.
I was looking at the stock FSX scenery in the area and noticed what appears to be photo realistic scenery of the water.
Have a look.
Start at Sydney International airport (YSSY) and the SLEW you aircraft to position S33 25.08' E151 15.51' and have a look at the water effects.
Just in case it was from some scenery I had added I 'disabled' ADDON SCENERY in the scenety library but it still appears.
Do you think it is photo realistic scenery? And if so is it from FSX?

water effect.jpg
 
Top