Image Downloader#

The ImageDownloader component is used in:

  • the LandscapeSpawner actor to download heightmaps (HeightmapDownloader) and to create textures and decals (TextureDownloader),

  • the LandscapeTexturer actor to download satellite (and other) images for your landscapes,

  • the BasicImageDownloader actor to simply download images.

Here are the sources that are supported by ImageDownloader. Feel free to suggest new sources on: GitHub and I will do my best to add them.

Image Source#

WMS#

You can download images from any WMS server using the Generic WMS source. Enter the GetCapabilities URL of a WMS server, and then choose a layer. Enter the MinLong (Left), MaxLong (Right), MinLat (Bottom), MaxLat (Top) coordinates in the given coordinate system, as well as the width and height of the image you want to download. To find coordinates, you can use the DuckDuckGo link from the Details Panel to search for the correct epsg.io map of the layer’s coordinate system. These can also be set automatically from a Bounding Actor (see the Parameters Selection dropdown).

There are a few preset WMS servers in the ImageDownloader. If you know of a WMS server that would be good to have here, please let me know!

  • IGN Heightmaps: Contains high resolution (1m per pixel) heightmaps for Overseas (e.g. RGEALTI-MNT_PYR-ZIP_GLP_WGS84UTM20_WMS for Guadeloupe) and European France (RGEALTI-MNT_PYR-ZIP_FXX_LAMB93_WMS). Choose Width to be MaxLong - MinLong, and Height equals MaxLat - MinLat to get the best possible resolution (everything as integers).

  • SHOM: Contains hillshade elevation models, but no heightmaps.

  • USGS 3DEPElevation: Contains heightmaps for the US.

  • USGS Imagery: Contains satellite imagery for the US.

XYZ#

You can use any XYZ URL of the form https://url.to/images/{z}/{x}/{y}. Then, by specifying a Zoom level and the minimum/maximum X and Y tiles, the image downloader will download.

For servers using Slippy Tiles, you can use the Slippy Tile Explorer to find the tiles numbers corresponding to the area that you want to download. These can also be set automatically from a Bounding Actor or using coordinates (see the Parameters Selection dropdown).

If your server uses a convention different than Slippy Tiles, you should use manual Parameters Selection, and you should uncheck Georeference Slippy Tiles. Make sure that MaxY Is North is correctly checked or unchecked depending on whether Y goes up or down when going north in your data. Finally, add the coordinate system of your data.

Mapbox#

Mapbox is one particular XYZ server which is hard-coded. You need to provide an API key (that you can obtain for free from a Mapbox account) that will be used to download the tiles. Since Mapbox uses Slippy Tiles, the Parameters Selection using a Bounding Actor or coordinates works correctly here.

Viewfinder Panoramas#

Please make sure that you have 7Z installed if you want to use Viewfinder Panoramas.

  • Viewfinder Panoramas 1”: Highest resolution, around 30 meters per pixel. In an ImageDownloader, choose “Viewfinder Panoramas 1” and enter the comma-separated list of rectangles (e.g. L31, L32).

  • Viewfinder Panoramas 3”: Intermediate resolution, around 90 meters per pixel. In an ImageDownloader, choose “Viewfinder Panoramas 3” and enter the comma-separated list of rectangles (e.g. L31, L32).

  • Viewfinder Panoramas 15”: Lowest resolution, around 450 meters per pixel. In an ImageDownloader, choose “Viewfinder Panoramas 15” and enter the comma-separated list of rectangles (e.g. 15-A, 15-B, 15-G, 15-H).

USGS 1/3”#

This is 1/3” or around 10 meters per pixel data for the United States.

  • Go to the USGS National Map Data Download Application.

  • In the Datasets tab, click “Elevation Products (3DEP)”. Unselect everything except “1/3 arc-second DEM” and “Current” underneath.

  • Zoom on the area for which you want to download heightmaps.

  • Click on “Search Products”.

  • In the “Products” tab, you can visualize the tiles that will be downloaded.

  • If you want all the tiles suggested here, click on the TXT button (not CSV) to download the list of links.

  • If you want only some of the tiles, add the ones that you want to your Cart, and click the TXT button here to download the list of links.

  • In the Details Panel of an ImageDownloader, choose USGS One Third as a source, and enter the path to the TXT file on your computer.

swissALTI3D (©swisstopo)#

This is very high resolution data, 0.5 meter per pixel, for Switzerland. It uses EPSG 2056.

  • Go to the swisstopo website.

  • In Section “swissALTI3D - Access to geodata”, choose “Selection by rectangle”.

  • Zoom on the map to the area that you wish to download.

  • Click on “New rectangle”, and draw a rectangle in the area that you want to download.

  • Choose the resolution, 0.5m per pixel is the best resolution but will lead to heavy heightmaps.

  • Click on “Search”.

  • Click on “Export all links” and then on “File ready. Click here to download”.

  • In the Details Panel of an ImageDownloader, choose Swiss ALTI 3D as a source, and enter the path to the CSV file on your computer.

Litto 3D Guadeloupe#

Please make sure that you have 7Z installed if you want to use Litto 3D Guadeloupe. This is very high resolution data, 1 meter per pixel, for Guadeloupe. It uses EPSG 4559.

  • Go to the Litto 3D Guadeloupe website.

  • Click on “Télécharger”.

  • Click on the areas that you want to download.

  • Click on “Télécharger la sélection”.

  • Move all the 7z files that you have downloaded into a new folder.

  • In the Details Panel of an ImageDownloader, choose Litto 3D Guadeloupe as a source, and enter the path to the new folder on your computer.

Local File#

Enter the path to a georeferenced file on your computer as well as the coordinate system.

Local Folder#

Enter the path to a folder containing files named following the _x0_y0 convention, as well as the coordinate system.

URL#

Enter an URL to a georeferenced heightmap, as well as the coordinate system.

Image Downloader Settings#

Source

  • Image Source Kind (EImageSourceKind): Please select the source from which to download the images.

    • Select A Source

    • IGN Heightmaps

    • IGN Satellite

    • USGS 3 DEP Elevation

    • USGS Topo

    • USGS Imagery

    • SHOM

    • Australia LiDAR 5m

    • Generic WMS

    • MapTiler Heightmaps

    • MapTiler Satellite

    • Mapbox Heightmaps

    • Mapbox Satellite

    • NextZen Heightmaps

    • Generic XYZ

    • Napoli

    • Viewfinder15

    • Viewfinder3

    • Viewfinder1

    • Swiss ALTI 3 D

    • USGS One Third

    • Litto3 D Guadeloupe

    • Local File

    • Local Folder

    • URL

  • Merge Images (bool, default false): Merge all downloaded images into a single image

  • Parameters Selection (FParametersSelection)

  • Capabilities URL (FString)

  • MapTiler Token (FString): The MapTiler token can be set in the Editor Preferences, in Plugins -> Landscape Combinator.

  • Mapbox Token (FString): The Mapbox token can be set in the Editor Preferences, in Plugins -> Landscape Combinator.

  • NextZen Token (FString): The NextZen token can be set in the Editor Preferences, in Plugins -> Landscape Combinator.

  • Mapbox 2x (bool, default false): Add @2x to the Mapbox query URL, tiles become 512x512 pixels instead of 256x256 pixels. This counts for more API requests than usual.

  • XYZ URL (FString)

  • WMS X Is Long (bool, default true)

  • Viewfinder15 Help (FString)

  • Viewfinder3 Help (FString)

  • Viewfinder1 Help (FString)

  • Litto3 D Help (FString)

  • Swiss ALTI3 D Help (FString)

  • USGS One Third Help (FString)

  • Local File Path (FString): Enter your C:\Path\To\MyHeightmap.tif in GeoTIFF format

  • CRS (FString, default "EPSG:4326"): Enter the name of the CRS of your file(s) (e.g. EPSG:4326)

  • Local Folder Path (FString): Enter C:PathToFoldercontaining heightmaps following the _x0_y0 convention

  • URL (FString): Enter URL to a heightmap in GeoTIFF format

  • XYZ Name (FString): Simple name for the downloaded files.

  • WMS Title (FString)

  • Viewfinder Tiles String (FString)

  • Litto3 D Folder (FString): Enter C:PathToFoldercontaining 7z files downloaded from https://diffusion.shom.fr/multiproduct/product/configure/id/108

  • Swiss ALTI3 D List Of Links (FString): Enter C:PathToListOfLinks.csv (see documentation for more details)

  • USGS One Third List Of Links (FString): Enter C:PathToListOfLinks.txt (see the help above, or the documentation for more details)

  • XYZ Format (FString): File format of the downloaded files (e.g. tif or png or xyz or xyz.gz). If the format contains a dot, the tile will first be uncompressed using 7-Zip.

  • WMS Name (FString)

  • Filter Degrees (bool, default false): The tiles of Viewfinder Panoramas 1” and 3” contain subtiles, use this option if you want to filter them.

  • Use5m Data (bool, default false): Check this if you prefer to use the less precise 5m data instead of 1m data

  • WMS Abstract (FString)

  • Filter Min Long (int, default 0)

  • Skip Extraction (bool, default false): Check this if the files have already been extracted once. Keep it checked if unsure.

  • XYZ Zoom (int, default 10)

  • WMS Help (FString)

  • Filter Max Long (int, default 0)

  • WMS CRS (FString): This should not (almost never) be modified manually, as the WMS server may not supported the given CRS. There are rare cases where the parsed CRS is not correct, and in that case the CRS can be edited to the correct value (as found in the WMS server capabilities).

  • Filter Min Lat (int, default 0)

  • WMS Search CRS (FString)

  • Filter Max Lat (int, default 0)

  • XYZ Min X (int)

  • XYZ Max X (int)

  • XYZ Min Y (int)

  • WMS Min Allowed Long (double)

  • XYZ Max Y (int)

  • WMS Max Allowed Long (double)

  • WMS Min Allowed Lat (double)

  • WMS Max Allowed Lat (double)

  • Max Y Is North (bool, default false): For XYZ or Slippy Tiles, MaxY is usually South, so you can leave this unchecked.

  • WMS Min Long (double): Enter the minimum longitude of the bounding box (left coordinate). Greater or equal than WMS_MinAllowedLong.

  • Napoli Min Long (double): Enter the minimum longitude of the bounding box (left coordinate) using EPSG:32633.

  • Georeference Slippy Tiles (bool, default true): Add georeference to downloaded files using the Slippy Tile / XYZ convention.

  • WMS Max Long (double): Enter the maximum longitude of the bounding box (right coordinate). Smaller or equal than WMS_MaxAllowedLong.

  • Napoli Max Long (double): Enter the maximum longitude of the bounding box (right coordinate) using EPSG:32633.

  • XYZ CRS (FString): The coordinate system used by the downloaded files.

  • WMS Min Lat (double): Enter the minimum latitude of the bounding box (bottom coordinate). Greater or equal than WMS_MinAllowedLat.

  • Napoli Min Lat (double): Enter the minimum latitude of the bounding box (bottom coordinate) using EPSG:32633.

  • Allow Invalid Tiles (bool, default true): Ignore errors when the XYZ provider has missing tiles

  • WMS Max Lat (double): Enter the maximum latitude of the bounding box (top coordinate). Smaller or equal than WMS_MaxAllowedLat.

  • Napoli Max Lat (double): Enter the maximum latitude of the bounding box (top coordinate) using EPSG:32633.

  • WMS Max Width (int, default 0): Maximum allowed width from the WMS provider.

  • WMS Max Height (int, default 0): Maximum allowed width from the WMS provider.

  • Auto Set Resolution (bool, default false): Use the best resolution when downloading image from WMS

  • WMS Single Tile (bool, default true): If true, a single tile with the required dimensions will be downloaded. If false, multiple tiles may be downloaded, each tile having maximum dimensions WMS_MaxTileWidth x WMS_MaxTileHeight. The number of tiles is determined by the user-given resolution.

  • WMS Max Tile Width (int, default 5000): Enter desired width for the downloaded heightmap tiles from the WMS API. Smaller or equal than WMS_MaxWidth.

  • WMS Max Tile Height (int, default 5000): Enter desired height for the downloaded heightmap tiles from the WMS API. Smaller or equal than WMS_MaxHeight.

  • WMS Resolution Pixels Per Unit (double, default 1): Enter the number of pixels per units (the higher the number, the higher the resolution).

  • Enable XYZ Parallel Download (bool, default false)

  • Enable WMS Parallel Download (bool, default false)

Remap

  • Remap (bool, default true): Some sources use -99999 as no data. Check this option to remap -99999 to -10 (or any other mapping).

  • Hide No Data Flag (bool, default true): Remove NoData flag from downloaded images

  • Original Value (float, default -99999)

  • Transformed Value (float, default -10)

Preprocessing

  • Preprocess (bool, default false): Check this option if you want to run an external binary to prepare the heightmaps right after fetching them.

  • Preprocessing Tool (UExternalTool)

Resolution

  • Scale Resolution (bool, default false): Check this if you wish to scale up or down the resolution of your heightmaps.

  • Precision Percent (int, default 100): When different than 100%, your heightmap resolution will be scaled up or down using GDAL.

Adapt To Landscape

  • Adapt Resolution (bool, default false): Check this if you want to resize the image to match the TargetLandscape’s resolution.

  • Target Landscape (ALandscape)

Crop Coordinates

  • Crop Coordinates (bool, default false): Check this if you want to crop the coordinates following the bounds given in the parameters selection or a CroppingActor. This is typically not needed for WMS sources where you choose the coordinates upfront.

  • Crop Following Parameters Selection (bool, default true)

  • Cropping Actor (AActor)

Basic Image Downloader Settings#

Basic Image Downloader

  • Name (FString, default "ImagesName")

  • Image Downloader (UImageDownloader)

Parameters Selection Settings#

Source

  • Parameters Selection Method (EParametersSelectionMethod, default Manual): Whether to enter coordinates manually or using a bounding actor.

    • Manual

    • From EPSG4326 Box

    • From EPSG4326 Coordinates

    • From Bounding Actor

  • Parameters Bounding Actor (AActor): Select a Cube (or any other actor) that will be used to compute the WMS coordinates or XYZ tiles. You can click the “Set Source Parameters From Actor” button to force refresh after you move the actor

  • Min Long (double, default 0)

  • Max Long (double, default 0)

  • Min Lat (double, default 0)

  • Max Lat (double, default 0)

  • Longitude (double, default 0)

  • Latitude (double, default 0)

  • Real World Width (double, default 200): Approximate real-world size in meters

  • Real World Height (double, default 200): Approximate real-world size in meters