This repository contains the data generation pipeline to generate a visual geo-localization dataset from the video game Grand Theft Auto V (GTA V) proposed by Skutsch et al. in their papers Synthetic Data Generation for Visual Geo-Localization using GTA V and No Mountain, no Building, no Cue? Synthetic Data Generation of Digital Surface Models and their Application to Visual Geo-Localization. It can be used to generate ground-view images and panoramas, drone-view images, and (overlapping) aerial-view images, as well as their stencil map and depth map. For each image, the corresponding metadata is exported. This includes the intrinsic and extrinsic camera matrices, the camera's position and orientation within the game environment, the field-of-view (FOV), the prevailing weather conditions, and the current time of the day.
The setup for initializing the necessary software can be done either semi-automatically or completely manually. In the semi-automatic setup, most of the steps are performed by an initialization script, while in the manual setup, all steps are performed by the user.
The data generation has been tested on a Windows 10 system running Grand Theft Auto V Legacy v1.0.3751.0, ScriptHookV v3751.0 / 1013.29, ScriptHookVDotNet v3.7.0-nightly.93, RenderDoc v1.42, and Windowed Borderless Gaming v2.1.0.1. The 3D-reconstruction from aerial imagery has been tested on the same system running RealityScan 2.2 and Blender 4.5. Steps may vary for other versions.
- Features
- Example Outputs
- Important Notes
- Semi-Automatic Setup
- Manual Setup
- Data Generation
- In-Game Controls
- Possible Errors
- 3D-Reconstruction from Aerial Imagery
- Modification and Copyright Policy of Rockstar Games and Take-Two Interactive
- License
- Citation
- Ground-view images and full 360° ground-view panoramas.
- Drone-view images.
- Single and overlapping aerial-view images, the latter suited for photogrammetric 3D reconstruction.
- Depth map and stencil map export alongside every RGB image.
- Per-image metadata export: intrinsic and extrinsic camera matrices, camera position and orientation, FOV, weather conditions, and time of day.
- Three location-sampling modes: the current in-game location, a list of map-based locations, or random locations.
- All directories, downloads, and generation settings are configured centrally in a single
config.tomlfile. - An included browser-based tool (
map/map.html) for selecting and editing render locations directly on the in-game map. - An optional downstream pipeline for reconstructing a 3D surface model from the generated overlapping aerial-view images using RealityScan and Blender.
Ground-view and single-view images generated during data generation: RGB, depth, and stencil.
The 18 cubemaps and the stitched panorama generated during ground-view panorama (RGB) data generation.
![]() |
![]() |
The 6 cubemaps and the stitched panorama generated during ground-view panorama data generation, for the depth map (left) and the stencil map (right).
All 64 drone views generated during drone-view data generation.
The 1 nadir and 4 oblique views generated during overlapping aerial-view data generation.
- The global hook feature of RenderDoc is used to inject into the GTA V process. This feature requires Secure Boot to be disabled.
- Currently, the pipeline only works with the Legacy version of Grand Theft Auto V.
- If any of the directories accessed require administrator privileges, the scripts must be executed as administrator.
- The initialization script's automatic downloads may only work on private networks.
- After copying the save game to the profile folder, you may need to manually select it after the next startup. To use the copied save game, check the box labeled
Select all local data, clickReview, and then clickConfirm. - It may take a few days for ScriptHookV to be updated after a GTA V update.
- The resolution set in the Windowed Borderless Gaming's
config.inifile is multiplied by the global scaling factor defined in the Windows settings. For example, if the global scaling factor is set to 125%, the resolution is multiplied by 1.25. - All directories, downloads, and generation settings are configured centrally in
config.toml. Every script (initialize_project.py,compile_script.py,generate_data.py,process_metadata.py) reads its configuration from this file instead of taking command line arguments. - Whenever
config.tomlis changed, the script must be re-compiled by runningcompile_script.py; this also copies the updatedconfig.tomlto the GTA V installation directory. Simply editingconfig.tomlhas no effect until this is done. - After re-compiling, run
Reload()in the ScriptHookVDotNet console (see In-Game Controls) to reload the updated script. The game does not need to be restarted.
- Download and install the latest version of GTA V Legacy from Steam, Epic Games, or the Rockstar Games website.
- Open the Rockstar Games Launcher, then go to Settings.
- In
Settings/Launcher Settings/Generaldisable the optionBattleEye. - In
Settings/My Installed Games/Grand Theft Auto Vdisable the optionEnable Automatic Updates. - In
Settings/My Installed Games/Grand Theft Auto Vadd-windowed -width 1280 -height 720toLaunch Arguments. - Start the game, then go to the settings menu.
- In
Settings/Notificationsdisable all notifications. - In
Settings/Saving and Startupset the optionLanding PagetoOffand set the optionStartup FlowtoLoad into Story Mode. - Adjust the graphics settings to the desired level of detail and resolution. Make sure
NVIDIA TXAAis enabled. - If you experience random frame drops in the menu or map at any point, enable V-Sync.
- Close the game and edit the
settings.xmlfile in the user directory of GTA V. Increase theLodScaleto1.5, theShadow_Distanceto5.0and theMaxLodScaleto5.0.
- Download and install Python from the website. A version newer than 3.12 may cause deprecation warnings and errors.
- Download and install the required modules by running
pip install -r requirements.txt.
- Download and install the latest version of Visual Studio from the website.
- Set it up for .NET and C++ Desktop development.
MSBuild,dumpbin, andlibare located automatically and do not need to be added to the WindowsPATH.
-
Open
config.tomland fill in at least the[Paths]section, in particular:GTAVInstallation directory of GTA V (usuallyC:\Program Files\Rockstar Games\Grand Theft Auto V Legacy)GTAVUsrUser directory of GTA V (usuallyC:\USER\Documents\Rockstar Games\GTA V)VSInstallation directory of Visual Studio (usuallyC:\Program Files\Microsoft Visual Studio\VERSION\Community)
Adjust the remaining paths and settings, such as the directories for the data, logs, configs, scripts, and WBG, as needed.
-
Download and install the modifications by running the initialization script
initialize_project.py. The script takes no arguments; all paths are read fromconfig.toml.
- Download and install the latest version of GTA V Legacy from Steam, Epic Games, or the Rockstar Games website.
- Open the Rockstar Games Launcher, then go to Settings.
- In
Settings/Launcher Settings/Generaldisable the optionBattleEye. - In
Settings/My Installed Games/Grand Theft Auto Vdisable the optionEnable Automatic Updates. - In
Settings/My Installed Games/Grand Theft Auto Vadd-windowed -width 1280 -height 720toLaunch Arguments. - Start the game, then go to the settings menu.
- In
Settings/Notificationsdisable all notifications. - In
Settings/Saving and Startupset the optionLanding PagetoOffand set the optionStartup FlowtoLoad into Story Mode. - Adjust the graphics settings to the desired level of detail and resolution. Make sure
NVIDIA TXAAis enabled. - If you experience random frame drops in the menu or map at any point, enable V-Sync.
- Close the game and edit the
settings.xmlfile in the user directory of GTA V. Increase theLodScaleto1.5, theShadow_Distanceto5.0and theMaxLodScaleto5.0.
- Download and install Python from the website. A version newer than 3.12 may cause deprecation warnings and errors.
- Download and install the required modules by running
pip install -r requirements.txt.
- Download and install the latest version of Visual Studio from the website.
- Set it up for .NET and C++ Desktop development.
- Add
dumpbinandlibto the WindowsPATH. In Microsoft Visual Studio 2026, the files are usually located atC:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717\bin\Hostx64\x64\. Note that the versions in the path need to be adjusted accordingly. These tools are used directly from the command line in the RenderDoc section below.
- Download the latest version of ScriptHookV from the website.
- Copy
ScriptHookV.dllanddinput8.dllto the installation directory of GTA V. - If you want to use the
native trainerplug-in, copyNativeTrainer.asito the installation directory of GTA V.
- Download the latest version of ScriptHookVDotNet from the website.
- Copy
ScriptHookVDotNet.asi,ScriptHookVDotNet.ini, andScriptHookVDotNet3.dllto the installation directory of GTA V.
- Download the latest version of Windowed Borderless Gaming from the website.
- Copy all the files into the folder
WBG. - Copy the pre-configured
config.inifrom theconfigsfolder into the folderWBG, overwriting the existing file. - In
config.ini, setDefaultDeskTopWidth,DefaultDeskTopHeight,Width, andHeightto the resolution the data should be generated at. This value must match theResolutionset in the[Generation]section ofconfig.toml.
- Download the latest stable version of the RenderDoc source code from the GitHub repository. The Python version, the build files are designed for, is referred to as XX in the following steps (e.g. 36 for Python v3.6).
- Download the Python embeddable package for platform x86 and x64 for your Python version from the Python website. The current Python version is referred to as YY in the following steps (e.g. 312 for Python v3.12).
- In the RenderDoc directory, replace
pythonXXwithpythonYYin each the following files:qrenderdoc\pythonXX.natvisandqrenderdoc\qrenderdoc_local.vcxproj. - In the RenderDoc directory, replace
pythonXX.libwithpythonYY.libin the following file:qrenderdoc\qrenderdoc.pro. - In the RenderDoc directory, replace
<PythonMajorMinor>\XX</PythonMajorMinor>with<PythonMajorMinor>\YY</PythonMajorMinor>andpythonXXwithpythonYYin the following file:qrenderdoc\Code\pyrenderdoc\python.props. - In the RenderDoc directory, rename the file
qrenderdoc\pythonXX.natvistoqrenderdoc\pythonYY.natvis. - In the RenderDoc directory, delete all files in the directory
qrenderdoc\3rdparty\python\include. - Copy all files from the include directory of your Python version (usually located at
C:\Program Files\PythonYY\include) toqrenderdoc\3rdparty\python\include. - In the RenderDoc directory, delete all files in the directory
qrenderdoc\3rdparty\python\Win32, all files in the directoryqrenderdoc\3rdparty\python\x64, and the fileqrenderdoc\3rdparty\python\pythonXX.zip. - From the Python embeddable package (x32) the files
pythonYY.dlland_ctypes.pydtoqrenderdoc\3rdparty\python\Win32in the RenderDoc directory. From the Python embeddable package (x64), copy the filepythonYY.ziptoqrenderdoc\3rdparty\python\and the filespythonYY.dlland_ctypes.pydtoqrenderdoc\3rdparty\python\x64in the RenderDoc directory. - In the directory
qrenderdoc\3rdparty\python\x64, generate thepythonYY.defby running the following command:dumpbin /exports pythonYY.dll. In the directoryqrenderdoc\3rdparty\python\Win32, generate thepythonYY.defby running the following command:dumpbin /exports pythonYY.dll. If the command could not be found, it has not been added to the PATH (see the section Visual Studio). - In the directory
qrenderdoc\3rdparty\python\x64, edit thepythonYY.def. Remove the header, the summary, and all numbers in front of the function names leaving only a list of names. Finally, addEXPORTSas new line above the function names and save the file. In the directoryqrenderdoc\3rdparty\python\Win32, edit thepythonYY.def. Remove the header, the summary, and all numbers in front of the function names leaving only a list of names. Finally, addEXPORTSas new line above the function names and save the file. - In the directory
qrenderdoc\3rdparty\python\x64, generate thepythonYY.libby running the following command:lib /def:pythonYY.def /machine:x64 /out:pythonYY.dll. In the directoryqrenderdoc\3rdparty\python\Win32, generate thepythonYY.libby running the following command:lib /def:pythonYY.def /machine:x86 /out:pythonYY.dll. If the command could not be found, it has not been added to the PATH (see the section Visual Studio). - Open the
renderdoc.slnin Visual Studio. On start-up, retarget all projects to your current Platform Toolset version if possible. - In Visual Studio, open the configuration manager by right-clicking the solution and selecting
Configuration Manager.... Set the active solution configuration toReleaseand the active solution platform tox86. Build the project by right-clicking the solution and selectingBuild Solution. This may take a while. - Open the configuration manager by right-clicking the solution and selecting
Configuration Manager.... Set the active solution configuration toReleaseand the active solution platform tox64. Build the project by right-clicking the solution and selectingBuild Solution. This may take a while. - In the RenderDoc directory, the
x64built files are located atx64\Release. Copy therenderdoc.dllto the scripts directoryscripts. - Translate the generated header file to C# using the
HeaderTranslatorclass frominitialize_project.py, for example by runningpython -c "from pathlib import Path; from initialize_project import HeaderTranslator; HeaderTranslator.c_to_cs(Path('INPUT'), Path('OUTPUT'))"from the main directory. The input path must be the absolute path tox64\Release\renderdoc_app.hand the output path must be the absolute path toscripts\RenderDocHeader.cs. - Delete the directory
objand allexp,lib, andpdbfiles inside thex64\Releasedirectory. Create the directoryRenderDocinsideC:\Program Files\. Move all remaining files fromx64\Releaseto this directory. Create the folderx86inside of the directoryRenderDoc. Move alldll,json,exe, andyesfiles fromWin32\Releaseto this directory. - The other downloaded and generated files may now be deleted.
- Change to the directory
scripts. The API version used in the original version of the fileRenderDoc.csis referred to as XX in the following steps (e.g. 1_5_0). The new API version is referred to as YY in the following steps (e.g. 1_6_0). - Get the new API version from
RenderDocHeader.csby searching for the following line of code:public unsafe struct RENDERDOC_API_YY. Replace the API version inRenderDoc.csin the following two lines of code:public readonly RENDERDOC_API_XX API;andif (GetAPI(RENDERDOC_Version.eRENDERDOC_API_Version_XX, &api_pointer) != 1). - Fill in the
[Paths]section ofconfig.toml, in particular theDatapath to which the data and logs are saved (usuallyData). - Open the
DataGeneration.slnin Visual Studio. On start-up, retarget all projects to your current Platform Toolset version if possible. - In Visual Studio, open the configuration manager by right-clicking the solution and selecting
Configuration Manager.... Set the active solution configuration toReleaseand the active solution platform tox64. - In Visual Studio, build the project by right-clicking the solution and selecting
Build Solution. - Create the folder
scriptsin the installation directory of GTA V. - In the directory
scripts, the built files are located atbin\x64\Release. CopyDataGeneration.dlland its NuGet dependencies (Microsoft.Bcl.AsyncInterfaces.dll,System.Buffers.dll,System.Collections.Immutable.dll,System.IO.Pipelines.dll,System.Memory.dll,System.Numerics.Vectors.dll,System.Runtime.CompilerServices.Unsafe.dll,System.Text.Encodings.Web.dll,System.Text.Json.dll,System.Threading.Tasks.Extensions.dll, andTomlyn.dll) to the folderscriptsin the installation directory of GTA V. - Copy
config.tomlto the installation directory of GTA V. The script reads its configuration fromconfig.tomlin this directory at runtime, so this step must be repeated every timeconfig.tomlis changed.
- Copy
SGTA50015andSGTA50015.bakfrom theconfigsfolder to the profile folder in the user directory of GTA V (usuallyC:\USER\Documents\Rockstar Games\GTA V\Profiles\PROFILE\), overwriting the existing files.
-
Open the tool for location selection located at
map\map.htmlin a browser. -
If a location file already exists, it can be imported by clicking the
Import CSVbutton in the top left. -
Select the setting for which the locations should be selected from the
Settingdropdown in the top left. It can be set toUrban,Rural, orDrone. Select the map representation using the layer control in the top right. It can be set toGame,Print, orRender; theUrban,Rural, andDronelocation layers can be shown or hidden independently there as well.The three map representations (
Game,Print, andRender) that can be selected inmap.html. -
Set the desired
Pitch,Roll,Yaw, andFOVfor new locations in the top left, then click on the map to add a location with these values. Click on an existing marker to select it; while selected, itsSetting,Pitch,Roll,Yaw, andFOVcan be edited in the panel and applied with theApply Changesbutton, or the marker can be removed with theDeletebutton. Click on empty map space to deselect the current marker. All markers can be removed at once with theClear Markersbutton. -
Export the locations by clicking the
Export CSVbutton in the top left and save it asrender_targets.csvto themapfolder. -
Copy the render targets file to the
datafolder. An example file is included in the folder.The pre-selected render locations contained in the project's example
render_targetsfile.
-
Most generation settings (resolution, checkpoint interval, camera FOV, ground sampling distance, randomization, and so on) are set directly in
config.tomland are picked up at runtime, without needing to re-compile the script. -
The non-randomized default weather and time of day are still hardcoded in
Script\DataGenerator.cs, in the parameterlessSetWeather()andSetTime()methods of theGameStateclass. Adjust the default values there, namely:weatherinSetWeather(), with possible weather types beingCLEAR,EXTRASUNNY,CLOUDS,OVERCAST,RAIN,CLEARING,THUNDER,SMOG,FOGGY,XMAS,SNOW,SNOWLIGHT,BLIZZARD,HALLOWEEN,NEUTRAL,RAIN_HALLOWEEN, andSNOW_HALLOWEEN.h,m, andsinSetTime(), being the hour, minute, and second.
Whether the random or the fixed value is used is controlled by
RandomWeatherandRandomTimein the[Random]section ofconfig.toml. -
Re-compile the script by running the script
compile_script.py. The script takes no arguments; all paths are read fromconfig.toml. This also copies the currentconfig.tomlto the GTA V installation directory, so the script must be re-compiled after every change toconfig.toml, even ifDataGenerator.csitself was not modified. -
If GTA V is already running, run
Reload()in the ScriptHookVDotNet console (see In-Game Controls) to reload the newly compiled script instead of restarting the game.
- Start the game with all necessary parameters by running the script
generate_data.py. The script takes no arguments; the GTA V, data, and WBG directories are read fromconfig.toml. - Once the game is loaded, start the data generation by pressing the key corresponding to the desired data generation mode. If a
current locationmode was selected, the data will only be generated for the current location. If amap-based locationsmode was selected, the data will be generated for all locations in therender_targets.csvfile for whichrenderedis set tofalse. If arandom locationsmode is selected, the data will be generated forNumberOfRandomLocationsrandom locations, as set in the[Random]section ofconfig.toml.
| Key | Function |
|---|---|
| F4 | Toggle the native trainer console |
| F5 | Open the script console |
| F6 | Toggle the First-Person-View (FPV) and the visibility of the HUD elements |
| F7 | Toggle the visual modifier (removes all vehicles and pedestrians and disables fog) |
| F8 | Toggle the freezing of the scene |
| F9 | Toggle the No-Clip mode |
| F10 | Destroy all cameras and reset the render script cameras |
| F12 | Manually trigger the RenderDoc capture |
| PageUp | Increase the speed while in No-Clip mode |
| PageDown | Decrease the speed while in No-Clip mode |
| Num1 | Data Generation: current location - ground-view panorama and corresponding aerial-view image |
| Num2 | Data Generation: map-based locations - ground-view panoramas and corresponding aerial-view images |
| Num3 | Data Generation: random locations - ground-view panoramas and corresponding aerial-view images |
| Num4 | Data Generation: current location - drone-view images and corresponding aerial-view image |
| Num5 | Data Generation: map-based locations - drone-view images and corresponding aerial-view images |
| Num6 | Data Generation: map-based locations - overlapping aerial-view images |
| Num7 | Data Generation: current location - ground-view image and corresponding aerial-view image |
| Num8 | Data Generation: map-based locations - ground-view images and corresponding aerial-view images |
| Num9 | Data Generation: random locations - ground-view images and corresponding aerial-view images |
In the script console (F5), the command Reload() reloads the compiled script without restarting the game; this is needed after every re-compile (see Adjustment of the Config File).
| Error Message | Description |
|---|---|
Unrecoverable fault - Please restart the game |
The GTA5.exe has been used instead of the launcher |
[Errno 10054] An existing connection was forcibly closed... |
The header is incorrect or the firewall blocks access |
FATAL: Unknown game version, check http://dev-c.vom for updates |
New ScriptHookV version required |
[Errno 13] Permission denied: ... |
Administrator privileges required |
Cloud Sync Conflict |
Select the correct save game |
ERR_GFX_D3D_INIT |
Re-install GTA, update drivers/BIOS, disable OC |
The website "..." could not be requested. |
No internet connection or URL changed |
The file "..." could not be requested. |
Website has changed, switch to manual setup for this mod |
The website "..." does not contain any links. |
Website has changed, switch to manual setup for this mod |
The RDC file "..." could not be opened. |
Saving the capture file took too long |
FileNotFoundError: [WinError 2] The system can't find the specified file |
Check the PATH for dumpbin and lib |
An error occurred during the compilation of the ... source code. |
Add ScriptHookVDotNet as reference1 |
RuntimeError: The path "..." does not exist. |
Check the paths configured in config.toml |
| Crash without error message during the data generation | The GPU may have run out of memory |
A 3D surface model reconstructed from overlapping aerial-view images.
- Create the trajectory file by running the script
process_metadata.py. The script takes no arguments; it readsmetadata.csvfrom theDatapath configured inconfig.tomland writestrajectory.csvnext to it. - Open RealityScan.
- At
Workflow > Application > Settings > Coordinate Systemset the project and output coordinate system tolocal. - At
Workflow > [1] Inputs > Imagesadd all overlapping aerial-view images of one area. - At
Workflow > Import & Metadata > Trajectoryimport the flight log data file and setFile formattoImage X/Lon Y/Lat Z/Alt Yaw Pitch Roll,Euler angles order (YPR)toZYX (photogrammetric YPR convention),Camera mounttoNadir-facing, X-axis to right wing (RealityScan convention),Values separatortoSemicolon ";",Ignore first linetoYes,Coordinate systemtolocal:1 - Euclidean,Automatically group camera calibrationtoAll in one group as a fixed lens was used, andAccuracy settings sourcetoGlobal camera prior settings. - At
Workflow > [2] Process > Align Imagesstart the image alignment. - Adjust the bounding box for the reconstruction.
- At
Workflow > [2] Process > Calculate ModelunderSettingssetImage depth map calculation / Normal model / Image downscaleto1,Mesh calculation / Remove marginal trianglestoEnable, andMesh calculation / Minimal distance between two verticesto0.001. - At
Workflow > [2] Process > Calculate Model > Normal qualitystart the calculation of the surface model. - At
Workflow > [2] Process > Simplifysimplify the mesh if necessary. - At
Workflow > [2] Process > Clean Modelremove topology defects from the model if necessary. - At
Workflow > [2] Process > Texture & Colorize > Calculate Texturestart the texturing of the surface model. - At
Workflow > [3] Output > Exportexport the textured surface model as.objfile, setExport vertex normalsandExport vertex colorstoYes, and underExport transformation settings, setCoordinate systemtoProject outputandTransformation presettoDefault.
- Start Blender and create a new blender file.
- At
File/Import/Wavefront (.obj)import the surface model. - In the
Object Propertiesof the surface model remove all translations and rotations. - By clicking
Shift + Aadd a new camera to the scene. - In the
Object Data Propertiesof the camera set theLens UnittoField of View, theField of Viewto the value the ground-view images have been rendered with (GroundDroneFOVinconfig.toml, usually50°), and theClip Endto10000 m. - In
Output Properties/Formatset theResolution XandResolution Yto the the desired resolution (Resolutioninconfig.toml, usually1024). - In
View Layer Properties/Passes/Lightenable theDiffuse Color Pass. - A Python script can be used to control camera parameters, such as position and rotation, as well as trigger rendering. The rendered images can then be used for visual geo-localization algorithms.
Rockstar Games has issued two statements regarding its policies on the use of single-player mods and the publication of copyrighted Rockstar Games material.
Rockstar Games states that it will not take legal action against third-party projects that involve GTA V, as long as the modifications do not:
- provide multiplayer or online services;
- include tools, files, libraries, or functions that could be used to affect multiplayer or online services;
- use or import Rockstar's or other intellectual property;
- include making new games, stories, missions, or maps.
Rockstar Games also states that Take-Two Interactive does not object to the use of materials for non-commercial purposes, as long as the materials do not include:
- pre-release footage of any kind;
- spoilers such as the ending of the game or an edited combination of cutscenes, dialogues, or major story events;
- in-game entertainment such as the TV shows or comedy performances;
- actions that encourage cheating by describing, displaying, or promoting ways to cheat online;
- modifications that violate Rockstar's rights;
- content that violates the Terms of Service.
Since the modifications do not affect the online mode, do not use Rockstar's or anyone else's intellectual property beyond the approved use, do not involve the creation of new game content and the data generated does not contain story content, does not encourage cheating, and does not violate Rockstar's rights, this project is in compliance with Rockstar Games' and Take-Two Interactive's Modification and Copyright Policies. It should be noted, however, that these policies are not a license and Take-Two reserves the right to object to any third-party project, or to revise, revoke, and/or withdraw these statements at any time in its sole discretion.
The GTAGeo data generation pipeline (this repository) and the GTAGeo dataset by Skutsch et al. are licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license. See the LICENSE file for the full license text.
This license governs the pipeline and dataset themselves and is granted in addition to, and does not override or supersede, the Modification and Copyright Policy of Rockstar Games and Take-Two Interactive described above, which continues to apply to any use of Grand Theft Auto V and its assets.
Please cite our work if you use data from the GTAGeo dataset, generate new data using our pipeline, or modify our pipeline.
Synthetic Data Generation for Visual Geo-Localization using GTA V, presented at the 11th International Congress on Information and Communication Technology (ICICT 2026):
@inproceedings{skutsch_gtageo_2026,
author = {Skutsch, Nicolai and Hellwich, Olaf and Fuchs-Kittowski, Frank},
title = {Synthetic {Data} {Generation} for {Visual} {Geo}-{Localization} using {GTA} {V}},
booktitle = {Proceedings of 11th {International} {Congress} on {Information} and {Communication} {Technology} ({ICICT} 2026)},
volume = {2},
publisher = {Springer},
year = {2026}
}No Mountain, no Building, no Cue? Synthetic Data Generation of Digital Surface Models and their Application to Visual Geo-Localization, presented at the 21st International Conference on Computer Vision Theory and Applications (VISAPP 2026):
@inproceedings{skutsch_gtadsm_2026,
author = {Skutsch, Nicolai and Hellwich, Olaf and Fuchs-Kittowski, Frank},
title = {No {Mountain}, no {Building}, no {Cue}? {Synthetic} {Data} {Generation} of {Digital} {Surface} {Models} and {Their} {Application} to {Visual} {Geo}-{Localization}},
booktitle = {Proceedings of the 21st {International} {Conference} on {Computer} {Vision} {Theory} and {Applications} ({VISAPP} 2026)},
volume = {2},
pages = {743--751},
isbn = {978-989-758-804-4},
doi = {10.5220/0014487400004084},
publisher = {SciTePress},
year = {2026}
}Footnotes
-
The
DataGeneration.csprojalready referencesScriptHookVDotNet3.dllat its default installation path. If the path differs, openProjectName/References/Add Reference...via the Solution Explorer, remove the existing reference, and browse forScriptHookVDotNet3.dllin the installation directory of GTA V. Also ensureSystem.DrawingandSystem.Windows.Formsare added to the references. ↩









