• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Knowing ulxMap & ulxMap of Google Images

Messages
78
Country
canada
Hi all,

I'm trying to use another way than SBX to create photo scenery since it makes too much of "Can't make an image" and other bugs when using large files.

I'm using Google Satellite Maps Downloader, then download images at Zoom 14 with the intention to get a LOD 14 (which may don't correlate, I don't know).

My problem: I can't figure out how calculate ulxMap & ulxMap size in the .INF file. How do we?

My results so far give me a too small image compared to the real surface. I used for ulxMap the number 2.13742E-05 related to the One Pixel (degrees) information for LOD14 provided in the Terrain and scenery SDK guide. I took the ulxMap number form other .INF at LOD14 generated by SBX. I read the guide but couldn't find a solution.

There are the coordinates of the image's sides:
West : -139.1031
East: -137.997
North: 64.8622
South: 64.2425

This is my .INF:

[Source]
Type = BMP
Layer = Imagery
SourceDir = "."
SourceFile = "Tombstone2.BMP"
Variation = All
NullValue = 255,255,255
SamplingMethod = Gaussian
ulyMap = 64.8622
ulxMap = -139.1031
xDim = 4.29153442382813E-05
yDim = 2.13742E-05

[Destination]
DestDir = "."
DestBaseFileName = "Tombstone02"
DestFileType = BGL
LOD = Auto
UseSourceDimensions = 1
CompressionQuality = 85

Thanks very much in advance for your help!!

Guillaume
 
Last edited:
Hello:

You may wish to utilize Ollyau's "GeoTIFF to INF" utility: :idea:

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


NOTE: Be aware of the FS SDK Resample limits on file output size at no more than 2GB per BGL.

Also, be aware of the Resample processing limits for total aggregate size of aerial imagery source files per Resample task session with a multi-source INF file, as that must not exceed the available Windows User Virtual Address Space (aka "USERVA") ...which varies by Windows version (32-bit versus 64-bit) and each Windows user individual account profile configuration for Windows CMD mode itself. ;)

Hope this helps ! :)

GaryGB
 
Last edited:
Thanks Gary. I checked it quick. It seams it could make the work faster if I can get a reliable GoeTIFF source. Any idea on this ? It seams like Google Earth doesn't provide it. Openstreetmap neither.
 
But the first question, in a simpler way is how to determine the size of each pixel in the X direction (Longitude) in degrees and in the Y direction (Latitude) in degrees for a given image?
 
Hi Guillaume:

It is possible to perform the task you describe by means of various work-arounds with several different 3rd party FS and/or GIS utilities.

However, you may find that you are performing more work than you might otherwise have had to, if you were to instead utilize SBuilderX to download your aerial imagery tiles, and then output image source files in a format for use with Ollyau's "GeoTIFF to INF" and FS SDK Resample via a "multi-source" INF file.

I believe that if you would be willing to persevere a bit further with learning to use SBuilderX more successfully, it would be well worth your effort. :idea:


FYI
: There is aerial imagery available for Tombstone Territorial Park, Yukon Territory, Canada via SBuilderX using the NokiaImagery tile-server at Zoom level 17 (Zoom 18 is merely an 'enlarged' version of the Zoom 17 imagery). ;)

The Zoom 17 imagery quality might be preferable in appearance to the Zoom level 14 imagery you referred to above in your opening post, when displayed by FS at run time on or near the ground.

Because the project area is very large for a photo-realistic tile set, you may wish to utilize FS SDK Resample lower LOD range output BGL(s) ex: LOD-14 or LOD-15 from the same Zoom 17 imagery source files ...for areas where your aircraft will not be near ground level.


If you are experiencing various SBuilderX error messages such as you posted above when attempting to download large groups of "requested" tiles, you may find that the number of tiles in a working set must be reduced, and the download of tiles for your entire project area must instead be performed in 2 or more successive steps.

One all those desired tiles for your entire project area have been downloaded by SBuilderX to its internal tile folder locations stored on your disk through 2 or more successive steps, you can create multiple GeoTIFFs and save them to disk using SBuilderX.

The resulting GeoTIFFs can then be processed by Ollyau's "GeoTIFF to INF" to create a INF file for each.

Those INF files can then be used to create a "multi-source" INF file for further processing of the GeoTIFFs by FS SDK Resample ...subject to the same working data set size and memory address space size limits I cited above:

http://www.fsdeveloper.com/forum/threads/knowing-ulxmap-ulxmap-of-google-images.435782/#post-728559

NOTE: Be aware of the FS SDK Resample limits on file output size at no more than 2GB per BGL.

Also, be aware of the Resample processing limits for total aggregate size of aerial imagery source files per Resample task session with a multi-source INF file, as that must not exceed the available Windows User Virtual Address Space (aka "USERVA") ...which varies by Windows version (32-bit versus 64-bit) and each Windows user individual account profile configuration for Windows CMD mode itself.

Hope this helps a bit more ! :)

GaryGB
 
Last edited:
im surprised Gary... :rolleyes:

resample doesn't need any of this info with tiff's
below inf should be sufficient to render tiff's

Code:
[Source]
Season =
Variation = 
Type = GeoTIFF
Layer = Imagery
SourceDir =
SourceFile =

[Destination]
DestDir =
DestBaseFileName =
Compression = 100
UseSourceDimensions = 1
LOD = Auto,16
 
ULXMAP = degrees per pixel along the longitude
ULYMAP = degrees per pixel along the latitude

To calculate these values:

1) Obtain Northwestern (top-left, NW) and Southeastern (bottom-right, SE) coordinates of your image provided that it's reprojected in WGS84 coordinates system. SAS.Planet or SBuilderX can do this for you.

2) ULXMAP = (SE longitude - SW longitude) / width of image in pixels.
ULYMAP = (NW latitude - SW latitude) / height of image in pixels.

For instance, take a look at the box "The boundaries of the map are" where you can get the above coordinates. Now, it's a simple math to calculate UL's:

ULXMAP = (49.92471648864739 - 49.78738738708489) / 3200 = 4.291534423828125E-5 (degrees of longitude per pixel)
ULYMAP = (40.43574568755096 - 40.357305626112634) / 2400 = 3.268335893263583E-5 (degrees of latitude per pixel)

Hope this helps!
 
Last edited:
Hi Guillaume:

It is possible to perform the task you describe by means of various work-arounds with several different 3rd party and/or GIS utilities, however you may find that you are performing more work than you might otherwise have had to, if you were to instead utilize SBuilderX to download your aerial imagery tiles, and then output image source files in a format for use with Ollyau's "GeoTIFF to INF" and FS SDK Resample via a "multi-source" INF file.

I believe that if you would be willing to persevere a bit further with learning to use SBuilderX more successfully, it would be well worth your effort. :idea:


FYI
: There is aerial imagery available for Tombstone Territorial Park, Yukon Territory, Canada via SBuilderX using the NokiaImagery tile-server at Zoom level 17 (Zoom 18 is merely an 'enlarged' version of the Zoom 17 imagery. ;)

The Zoom 17 imagery quality might be preferable in appearance to the Zoom level 14 imagery you referred to above in your opening post, when displayed by FS at run time on or near the ground.

Because the project area is very large for a photo-realistic tile set, you may wish to utilize FS SDK Resample lower LOD range output BGL(s) ex: LOD-14 or 15 from the same Zoom 17 imagery source files ...for areas where your aircraft will not be near ground level.


If you are experiencing various SBuilderX error messages such as you posted above when attempting to download large groups of "requested" tiles, you may find that the number of tiles in a working set must be reduced, and the download of tiles for your entire project area must instead be performed in 2 or more successive steps.

One all those desired tiles for your entire project area have been downloaded by SBuilderX to its internal tile folder locations stored on your disk through 2 or more successive steps, you can create multiple GeoTIFFs and save them to disk using SBuilderX.

The resulting GeoTIFFs can then be processed by Ollyau's "GeoTIFF to INF" to create a INF file for each.

Those INF files can then be used to create a "multi-source" INF file for further processing of the GeoTIFFs by FS SDK Resample ...subject to the same working data set size and memory address space size limits I cited above:



Hope this helps a bit more ! :)

GaryGB

Hi Gary,

First thanks for your time answering my questions!
About your mention to use SBX to download images, I played a lot with it developing several photo sceneries since a while. I generally found that LOD14 was the minimum quality acceptable for me for the maximum range of area covered each time (the more area possible per shot with the max quality). And each time, using Google image on SBX, the best I could reach on average was around 1400 tiles per run of "making a background image". And this is generally after 5-6 attempts following a "Can't make an image" answers from SBX. Furthermore, some of the image generated had white(blank) section unloaded from Google that I could regenerate at a lower download size (but still LOD14). So I made a few projects in this manner, doing 5-6 sections of 1000-1400 tiles at LOD14 (Haine Jct area, Silver city area, etc) but had to generate new projects a few times since SBX would bug at more than 5-6 images per project.

In this project of the Tombstone national park, I was unable to generate even 400 tiles at a time at LOD14. So I did a few sections at LOD13 but without much satisfaction.
However, what you made me realize is that I could look at making the Nokia images work in SBX. I tryed with Yahoo satelite but was not impressed.
In term of size for Resample, the BMP image I produced for the whole park with Google Satellite Downloader was about 500 meg in size and I had no problem to generate a BGL size of around 30 meg if I remember well.
Now working with "GeoTIFF to INF" could be interesting if I could reach the step of generating images with SBX. So I will look on the Nokia side !!
Again thanks very much Gary for your help!!
 
im surprised Gary... :rolleyes:

resample doesn't need any of this info with tiff's
below inf should be sufficient to render tiff's

Code:
[Source]
Season =
Variation =
Type = GeoTIFF
Layer = Imagery
SourceDir =
SourceFile =

[Destination]
DestDir =
DestBaseFileName =
Compression = 100
UseSourceDimensions = 1
LOD = Auto,16

Good to know. Thanks !
 
ULXMAP = degrees per pixel along the longitude
ULYMAP = degrees per pixel along the latitude

To calculate these values:

1) Obtain Northwestern (top-left, NW) and Southeastern (bottom-right, SE) coordinates of your image provided that it's reprojected in WGS84 coordinates system. SAS.Planet or SBuilderX can do this for you.

2) ULXMAP = (SE longitude - SW longitude) / width of image in pixels.
ULYMAP = (NW latitude - SW latitude) / height of image in pixels.

For instance, take a look at the box "The boundaries of the map are" where you can get the above coordinates. Now, it's a simple math to calculate UL's:

ULXMAP = (49.92471648864739 - 49.78738738708489) / 3200 = 4.291534423828125E-5 (degrees of longitude per pixel)
ULYMAP = (40.43574568755096 - 40.357305626112634) / 2400 = 3.268335893263583E-5 (degrees of latitude per pixel)

Hope this helps!

Hi Rustam,
This reminded me I'm not a math geek. But you answer and example are kristal clear.
Thank you very much!
 
http://www.fsdeveloper.com/forum/threads/knowing-ulxmap-ulxmap-of-google-images.435782/#post-728649

im (I'm) surprised Gary... :rolleyes:

resample doesn't need any of this info with tiff's
below inf should be sufficient to render tiff's

Code:
[Source]
Season =
Variation =
Type = GeoTIFF
Layer = Imagery
SourceDir =
SourceFile =

[Destination]
DestDir =
DestBaseFileName =
Compression = 100
UseSourceDimensions = 1
LOD = Auto,16

Hi Chris:

I do hope you are joking ! :p

If you have taken the time to read (all of) my prior posts on this type of topic you already know that I am indeed well aware of the fact that FSX SDK Resample does not "require" one to include explicit parameter values for ulxMap,ulyMap, xDim,yDim etc. when using GeoTIFFs as input source files for custom photo-real aerial imagery when all terrain masks are also included 'inside' the GeoTIFF file as Alpha-1 and Alpha-2 channels. :pushpin:


However, many FS developers (especially those who work with numerous projects involving larger numbers of input source files as well as multi-source and multiple INF files for coverage of very large Geographic areas) have found it convenient to maintain a written copy of the ex: ulxMap,ulyMap, xDim,yDim etc. 'Geo-referencing information' otherwise utilized by FS SDK Resample directly inside the INF file itself (whether 'commented out' or not) ...for further use with each project area, and with managing of such projects for archival purposes when one has many projects to keep track of.

This practice can be particularly helpful when a mix of differing input source file 'types' are utilized in a multi-source INF (and/or multiple-INF) file workflow, which may not 'all' be GeoTIFFs (and/or when terrain masks are not included 'inside' GeoTIFF files as Alpha-1 and Alpha-2 channels). :idea:


Furthermore, I do try to answer the specific inquiries that an OP asks about, while also presenting related "horizon-expanding material".

Since the OP clearly indicated via the Geographic coordinates cited, that a large coverage area was being implemented by a person with a (then) history of only (3) posts, who may more likely be in the early phases of becoming familiar with the FSX SDK and its many poorly-documented (or un-documented) "gotchas", and for whom it appeared that English was a second language, it seems more appropriate to have answered as I did above. ;)

Bearing that initial explanation in mind, would my replies to this thread now meet with your personal stamp of approval ? :stirthepo :D

GaryGB
 
Last edited:
http://www.fsdeveloper.com/forum/threads/knowing-ulxmap-ulxmap-of-google-images.435782/#post-728685

Now working with "GeoTIFF to INF" could be interesting if I could reach the step of generating images with SBX. So I will look on the Nokia side !!
Again thanks very much Gary for your help!!

Hi Guillaume:

To output GeoTIFFs from SBuilderX after aerial imagery tiles are downloaded to disk as BMPs with matched Geo-referencing TXT files:

.....a.) Navigate SBuilderX Menu > Help > SBuilderX Help > Search Tab

.....b.) On SBuilderX Help > Search Tab > 'Type in keyword to find': "GeoTIFF"; click 'List Topics' button

.....c.) Under 'Select Topics to display' > click "Working with Maps"

.....d.) In right-side window pane, review "Working with Maps" - "Map calibration"


NOTE: SBuilderX will automatically re-project Web tile server aerial images (downloaded via SBuilderX' own tile downloader functions) from Mercator projections to the Geographic projection.

SBuilderX's Map Properties dialog [GeoTIFF] button outputs a copy of the ex: BMP map imagery loaded from disk into a "GeoTIFF" format.

When SBuilder does that, it also re-projects Web tile server aerial images (even if not downloaded via SBuilderX' own tile down-loader functions) from Mercator projections to the Geographic projection.

However, this function requires that 'appropriate' information be entered into the "calibration" dialog (specifically: from the Geo-referencing TXT files which accompany the BMPs of aerial imagery tiles downloaded to the same folder on disk via SBuilderX with a matching file name prefix). :pushpin:


PS: To reduce FS SDK Resample output BGL file size limits I cited above, and to 'fit a larger area of coverage into fewer BGLs', one may note that the FS SDK Resample INF file parameter / value:

CompressionQuality = 85

...correlates with an approximate reduction in the size of the BGL output at 40 percent of what it would otherwise have been if one had used:

CompressionQuality = 100


FYI
: Although most end users may not see the subtle loss of visual quality in the resulting textures for "CompressionQuality = 85" when displayed in FS at run time, a few FS Developers preferring a maximal visual display quality (but with 'some' reduction in output BGL size) ...use instead:

CompressionQuality = 97

...as discussed here (in the context of terrain mesh, which is 'also' subject to / capable of PTC compressed BGL output by FS SDK Resample):

http://www.fsdeveloper.com/forum/threads/resample-tool-compressionquality.127631/


...and here (in a discussion on the new FS SDK Resample BGL "PTC" compression protocol):

http://www.fsdeveloper.com/forum/threads/cvxextractor-exporting-vector-data.432918/page-3



Hope this helps further in using SBuilderX to develop your multi-source FS SDK Resample custom photo-real project ! :)

GaryGB
 
Last edited:
Very insightful Gary, (I didn’t go that far :))
I don’t think there is one person… accept maybe flight sim DLL’s themselves;
that knows more then you when it comes to our Sim’s, you’re a certified walking flight sim encyclopedia,
I follow your post religiously; I’m proud to say I learned allot from you!
As well as many good souls on this forum; but you are on a class of your own! (hence my surprise!)

I initially briefed over the OP’s post; I actually grabbed the tool you posted as well, (for education)
As I was playing with it to see the output; I realized it’s not necessary for what the OP was asking;
That’s why I was bit surprised you didn’t mention he could just run tiff’s directly without specifying cords,

but... I see your greater goal, always the educator! personally I admire that about you :)

Regards,
Chris
 
Thanks for the kind words, Chris, but I am just a fellow student who is trying to learn more about topics which invoke my curiosity, and hopefully also helping others if and when I am able to do so. :oops:

Although I don't always have the free time available to personally test 'all' that I study, I do try to share with others, a comprehensive topical synopsis of what I am learning about in the moment, and I endeavor to include links to relevant helpful discussions and tutorials by others as well.

I would know much less about MSFS in general, and FS development in particular, if we did not have others in the FS Community taking the time to share their own discoveries and insights with us in the FS web forums; so, many thanks to all those good folks who have been an inspiration to us all ...over the many years that Flight Simulator has evolved. :teacher:

GaryGB
 
Chris, you posted above that geolocation details are not required when working with tiff, and then you used an example as proof that used geotiffs. You are aware there is a difference between a tiff and a geotiff....right? Geotiffs do allow a simpler inf file, but tiffs are no different than any raster format, you need to feed the inf file the details that are missing from any non georeferenced image.
 
Hi Bob,
i am aware of the difference between tiff and geotiff (both .tif); in both cases the inf i posted should work,
i prob should have added provided... the simple tif has the .prj and .tfw accompanying files containing the geo location;
a geo referenced tiff will have this info in the header without the extra files next to it,

if this info isn't available; then you're basically referencing standard image through the inf for resample;
as you would a .bmp or .jpg which needs rectifying ,
 
Back
Top