Replace MSFS2020's bing map to google map

Related tags

Geolocationmsfs2020
Overview

English verison here

中文

免责声明

本教程提到的方法仅用于研究和学习用途。我不对使用、拓展该教程及方法所造成的任何法律责任和损失负责。

背景

微软模拟飞行2020的地景使用了Bing的卫星地图,然而卫星地图比较老旧,很多地区都是几年前的图设置直接是没有的。这种现象在全球不同地区都有。在大陆的图更是10年前的图,有大量地区的卫星图都是没有的,微软便使用程序生成的图代替,质量非常的差。替换过后画质和细节得以明显的提升,可以见下图

原始地图

原始地图

Google地图替换后可以得到高清最新的影像

一个小城镇

一个小城镇 一个小城镇

青海湖(这些卫星图在Bing中不存在)

青海湖 青海湖 青海湖

成都

成都

香港

香港

历史及相关资料

我很早就在研究用谷歌地图替换的可能性,在网上也有油管大神提供了一些思路,使用爬虫从谷歌爬下数据然后导入到MSFS2020中。但这种方式比较复杂,不能大规模的使用。

后来我研究了下网络请求,发现MSFS会从bing的服务器上下载图片,理论上讲将图片替换成另外的图片应该是可以的。而且恰好bing和google的卫星图片的切片方式是类似的可以进行无缝切换,甚至微软还提供了转换的[源代码](https://docs.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system)(见QuadKeyToTileXY这个函数)

在不断的搜索过程中,发现了和我思路类似的例子。但他的主要目的是将一些不要的东西去掉以改善地景质量。他还建立了一个另外的仓库用来演示一个[使用代理方式替换地景的方法](https://github.com/muumimorko/MSFS2020_Proxy)。遗憾的是这个仓库缺少一些必要的东西,无法正常的运行。

IMG

原理

借鉴上面的思路,我整理出了以下的方法来实现流量截获和修改。

流程

涉及到的工具,请自行安装

实现步骤

  • (国内用户)关闭任何加速器,要不然流量不会被劫持
  • 安装Proxifier并设置代理配置(我的版本是4.0.3版本)。代理设置为mitmproxy的端口号(默认8080) proxfier
  • 按顺序 配置Proxifier的代理规则:
    • *flight*进程对应的localhost的流量发送到Direct(直连)
    • *flight*进程其他的流量发送到上面配置的代理中 proxfier
  • 修改mitm.py中的proxy_url到你能访问Google的代理
  • 在当前目录下运行run.bat启动mitmproxy mitmproxy
  • 启动模拟飞行
  • 此时proxifier就会截获流量,同时mitmproxy也会有显示流量,这些jpeg的流量就是卫星图 proxfier mitmproxy
  • 尽情享用吧

赞助

如果你已经成功的实现了,请给个star,让更多人看到! 如果你愿意给与作者一些赞助,请扫描以下二维码支持一下作者。

微信 阿里

Comments
  • LOD Tiles pretty bad around EGCC

    LOD Tiles pretty bad around EGCC

    The app is amazing, I've been using it for a while, and I love to fly 747's, however the last few days I've been flying, especially around the UK, the LOD is pretty bad.

    As you get upto 7,000ft, the tiles a few miles away seem to be autogen squares and seem to morph as you fly towards them, not sure if this problem has been reported but one way to see what I mean is start a flight from EGCC (Manchester) and you will see what I mean.

    I've tried testing from all servers and when I test the servers, it gives me a pretty good ping (0.07secs).

    Please let me know if anyone else is getting the same problem.

    bug 
    opened by Steveyram 19
  • Also stuck at

    Also stuck at "Health Check passed"

    Windows 11 installed checked my firewall is configured correctly and app is allowed I do not need proxy for Google maps Run as admin Certificate is installed correctly run your app before starting MSFS - did not work Run MSFS to main menu then started your app but do not show google maps

    Is there something else I can try?

    Verbose output:

    Exact match: Element 2: Serial Number: c9dfffaa7d7e8ef1c6bc38e6781f0fb1 Issuer: CN=mkcert DESKTOP-O2CB4QF\[email protected], OU=DESKTOP-O2CB4QF\[email protected], O=mkcert development CA NotBefore: 19/08/2021 3:01 am NotAfter: 19/11/2023 3:01 am Subject: OU=DESKTOP-O2CB4QF\[email protected], O=mkcert development certificate Non-root Certificate Cert Hash(sha1): ae4cfdbea30eaa635443b6914b3b863b52f693de

    Certificate "DESKTOP-O2CB4QF\[email protected]" already in store. CertUtil: -addstore command completed successfully. {'kh.ssl.ak.tiles.virtualearth.net': '23.45.81.145', 'khstorelive.azureedge.net': '104.212.68.106'} Overriding hosts

    • Serving Flask app 'server' (lazy loading)
    • Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
    • Debug mode: off
    • Running on all addresses. WARNING: This is a development server. Do not use it in a production deployment.
    • Running on http://192.168.50.200:8000/ (Press CTRL+C to quit) Checking mock server health 127.0.0.1 - - [13/Nov/2021 22:53:46] "GET /health HTTP/1.0" 200 - Mock server health passed Checking nginx server health Health check passed
    opened by KelvinNZ 19
  • [FIXED]: Internet disconnection after 5-10 mins

    [FIXED]: Internet disconnection after 5-10 mins

    RESOLVED:

    The issue was the addition of Pi-hole query rate-limiting by default with a recent update. The rate limit is set to allow no more than 1000 queries per 60 seconds. The limit us quickly reached using this mod. If you use a Pi-hole, to resolve it you need to edit /etc/pihole/pihole-FTL.conf and add the line RATE_LIMIT=0/0 or if already present change the values to 0/0. This fixes the issue in this case.

    Thank you for your work!

    BEFORE SUBMIT A BUG, PLEASE READ THE FAQ PAGE HERE: https://github.com/derekhe/msfs2020-google-map/wiki/FAQ

    Describe the bug Everything works great for 5 - 10 minutes the breaks my connection to the internet. All other PC's connected to the network still function normally but not mine. To restore internet I have to "ipconfig /flushdns" and unplug my network cable then plug it back in.

    To Reproduce Steps to reproduce the behavior:

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: [e.g. iOS] Windows 11
    • MOD Version [e.g. 22] 2021-11-20
    • MSFS Version, MS Store or Stream: Store

    Additional context Add any other context about the problem here.

    bug 
    opened by lazerwolf22 17
  • error message

    error message "Generate nginx file failed"

    Congratulations for the effort to develop this nice mod! After starting the run.bat file as administrator, I click "run", and receive the error message "Generate nginx file failed". It seems the mod is not loading Google Maps images. Also, I'm getting another error message in the run.dat output "dns.exeption.Timeout: The DNS operation timed out after 5.4 seconds". Any suggestions? Thanks!

    opened by viniciusbrei 14
  • [BUG] CHANGE TITLE

    [BUG] CHANGE TITLE

    Hi. I had the same problem as in issue #54 . I deleted the file and ran the batch file as Administrator. I put an exception into my Kaspersky.

    But now I get the following error:

    image

    Obviously, there is a file missing "init.py" missing. Error is "No module named "python_hosts.hosts"

    Any idea?

    thx J.

    bug 
    opened by Juergen1967 13
  • cannot find hosts file

    cannot find hosts file

    hi im getting this error message

    FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\Windows\System32\drivers\etc\hosts

    in guessing it is because my windows is installed on H drive and not C.

    is there any way to resolve this ?

    bug 
    opened by tonygoole 12
  • [BUG] Still stuck at 'health check passed'

    [BUG] Still stuck at 'health check passed'

    when i open the mod it shows that the 'requirement is already satisfied' , and when i press RUN in mod it's just stuck at health check passed

    please help me out with this sir image image

    and please inform me if your working on it sir

    opened by lordmonish 12
  • Endless loading screens when app enabled

    Endless loading screens when app enabled

    Not sure what's causing this, but it's extremely annoying.

    if I start MSFS with the google map tool running, the initial loading screen will hang forever. In order to get to the main menu, I need to stop the tool, and only run it once the menu loads.

    if I then try to load into a flight with the tool running, it will show some activity in the command prompt window and then eventually stop. The loading screen will then proceed to hang forever.

    There are no errors, it just sits on the loading screen indefinitely.

    I'm currently trying to locally cache the area I'm wanting to fly, to see if that will improve things. At present though, I cannot get ingame with the tool running.

    opened by Jademalo 12
  • [BUG] Stuck at loading screen

    [BUG] Stuck at loading screen

    After the last update, if I start the bat file before fs 2020, I get stuck in the middle of the simulator loading. The only way to solve this is to start the simulator first and then the bat file. How can I manage to start the bat file before the simulator and not get stuck in the middle of loading? From what I understand this is the best method...

    • OS: Windows 10 64bit
    • MOD Version: v2.3.4
    • MSFS Version: Xbox App
    bug 
    opened by Angelo-1992 11
  • [BUG] doesn't work

    [BUG] doesn't work

    For me the mod doesn't work. No maps being loaded and not maps being visualized in the simulator The mod loads correctly, but don't load maps. I looked at the log files under the nginx folder and into the error.log it's showing : 2021/11/11 19:26:32 [notice] 256#5576: using the "select" event method 2021/11/11 19:26:32 [notice] 256#5576: using the "select" event method 2021/11/11 19:26:32 [notice] 256#5576: nginx/1.21.3 2021/11/11 19:26:32 [notice] 256#5576: nginx/1.21.3 2021/11/11 19:26:32 [info] 256#5576: OS: 260200 build:9200, "", suite:100, type:1 2021/11/11 19:26:32 [notice] 256#5576: start worker processes 2021/11/11 19:26:32 [notice] 256#5576: start worker processes 2021/11/11 19:26:32 [notice] 256#5576: start worker process 9296 2021/11/11 19:26:32 [notice] 256#5576: start worker process 9296 2021/11/11 19:26:32 [notice] 9296#7808: nginx/1.21.3 2021/11/11 19:26:32 [notice] 9296#7808: nginx/1.21.3 2021/11/11 19:26:32 [info] 9296#7808: OS: 260200 build:9200, "", suite:100, type:1 2021/11/11 19:26:32 [notice] 9296#7808: create thread 6052 2021/11/11 19:26:32 [notice] 9296#7808: create thread 6052 2021/11/11 19:26:32 [notice] 9296#7808: create thread 5468 2021/11/11 19:26:32 [notice] 9296#7808: create thread 5468 2021/11/11 19:26:32 [notice] 9296#7808: create thread 1924 2021/11/11 19:26:32 [notice] 9296#7808: create thread 1924 2021/11/11 19:26:44 [error] 9296#6052: *1 connect() failed (10061: Impossibile stabilire la connessione. Rifiuto persistente del computer di destinazione) while connecting to upstream, client: 127.0.0.1, server: kh.ssl.ak.tiles.virtualearth.net, request: "GET /health HTTP/1.1", upstream: "http://[::1]:8000/health", host: "kh.ssl.ak.tiles.virtualearth.net" 2021/11/11 19:26:44 [error] 9296#6052: *1 connect() failed (10061: Impossibile stabilire la connessione. Rifiuto persistente del computer di destinazione) while connecting to upstream, client: 127.0.0.1, server: kh.ssl.ak.tiles.virtualearth.net, request: "GET /health HTTP/1.1", upstream: "http://[::1]:8000/health", host: "kh.ssl.ak.tiles.virtualearth.net" 2021/11/11 19:26:44 [error] 9296#6052: *1 connect() failed (10061: Impossibile stabilire la connessione. Rifiuto persistente del computer di destinazione) while connecting to upstream, client: 127.0.0.1, server: kh.ssl.ak.tiles.virtualearth.net, request: "GET /health HTTP/1.1", upstream: "http://[::1]:8000/health", host: "kh.ssl.ak.tiles.virtualearth.net" 2021/11/11 19:26:44 [warn] 9296#6052: *1 upstream server temporarily disabled while connecting to upstream, client: 127.0.0.1, server: kh.ssl.ak.tiles.virtualearth.net, request: "GET /health HTTP/1.1", upstream: "http://[::1]:8000/health", host: "kh.ssl.ak.tiles.virtualearth.net" 2021/11/11 19:26:44 [warn] 9296#6052: *1 upstream server temporarily disabled while connecting to upstream, client: 127.0.0.1, server: kh.ssl.ak.tiles.virtualearth.net, request: "GET /health HTTP/1.1", upstream: "http://[::1]:8000/health", host: "kh.ssl.ak.tiles.virtualearth.net" 2021/11/11 19:26:44 [info] 9296#6052: *1 client 127.0.0.1 closed keepalive connection

    opened by lucamors1 11
  • Slow downloads, blurry textures

    Slow downloads, blurry textures

    Google textures download sporadically, leading to blurred textures.

    Windows 11 Home Mod 2.2.6 MSFS Steam with latest update.

    Rolling cache is deleted and turned off.

    Hosts file Hosts

    Screenshots MapMod2 MapMod3 MapMod4 MapMod5 MapModA

    bug 
    opened by MrBitsy 10
  • Run.bat only works once

    Run.bat only works once

    Hello, Thanks for the good tool!

    It works fine, but I've an issue. I can run(launch) run.bat only once. It works fine only the first time. I stop it and close normally. And when I relaunch it (eg. the next day) the command window opens and stucks on the first line : F:\MSFS_GoogleMap\Python39\python.exe src\app.py

    and nothing happen. To make it work, I have to delete the whole folder and unzip again (msfs2020-google-map-2021-12-21_s1Z2i.zip). And when I launch the new run.bat it works again once.

    Any idea why? What can I do to avoid this?

    Win10 Pro up to date Legal version of MSFS up to date MS Store. Thanks in advance for your feedbacks.

    bug 
    opened by Babar242 0
  • [BUG] Google map tool doesn't load maps

    [BUG] Google map tool doesn't load maps

    BEFORE SUBMIT A BUG, PLEASE READ THE FAQ PAGE HERE: https://github.com/derekhe/msfs2020-google-map/wiki/FAQ

    Describe the bug When I run The Msfs 2020 nothing happen, the google map tool doesn't seem to connect to the servers and doesn't load maps.

    To Reproduce Steps to reproduce the behavior: After a while, When MSFS 2020 Completing running a small windows comes up of Security Alert

    Screenshots If applicable, add screenshots to help explain your problem. security alert Capture d’écran 2021-12-22 150552

    Desktop (please complete the following information):

    • OS: Windows 11
    • MOD Version: 2.3.5
    • MSFS Version: 1.19.9.0 , MS Store or Stream: Steam

    Additional context Add any other context about the problem here.

    bug 
    opened by Muh-Develop 5
  • Run.Bat won't execute

    Run.Bat won't execute

    Hi... I have downloaded the latest version (2.3.4), extracted to my Desktop, and have selected to run the run.bat file as Administrator, however, it will not run. The path for the python.exe cannot be located. See screenshot. If I "Press any key to continue", the run.bat window only closes.

    Screenshot 2021-12-15 021225

    I previously had the program installed and it worked perfectly, but I had to restore my system to a prior date and, as a result, need to re-install now.

    Desktop (please complete the following information):

    • OS: Windows 11
    • MOD Version [e.g. 22]: Not sure what this is
    • MSFS Version, MS Store or Stream: MSFS 2020 Basic Version from MS Store

    Thank you very much for your time and guidance.

    bug 
    opened by billnltc 2
  • Bing still in cache

    Bing still in cache

    I have program working. When I zoom in on world map it looks great but when I fly it has old bing clunky maps. I changed the options data rolling cache to OFF and deleted the rolling chafe file.

    Trees are on top of a resort I went to get married.

    My city has old block houses and building.

    Still not google maps. I need help. Please share Thanks

    opened by captcrunch17 0
Releases(2.3.5)
Owner
hesicong
Senior Consultant
hesicong
GebPy is a Python-based, open source tool for the generation of geological data of minerals, rocks and complete lithological sequences.

GebPy is a Python-based, open source tool for the generation of geological data of minerals, rocks and complete lithological sequences. The data can be generated randomly or with respect to user-defi

Maximilian Beeskow 16 Nov 29, 2022
scalable analysis of images and time series

thunder scalable analysis of image and time series analysis in python Thunder is an ecosystem of tools for the analysis of image and time series data

thunder-project 813 Dec 29, 2022
Specification for storing geospatial vector data (point, line, polygon) in Parquet

GeoParquet About This repository defines how to store geospatial vector data (point, lines, polygons) in Apache Parquet, a popular columnar storage fo

Open Geospatial Consortium 449 Dec 27, 2022
Geographic add-ons for Django REST Framework. Maintained by the OpenWISP Project.

Geographic add-ons for Django REST Framework. Maintained by the OpenWISP Project.

OpenWISP 982 Jan 06, 2023
r.cfdtools 7 Dec 28, 2022
gpdvega is a bridge between GeoPandas and Altair that allows to seamlessly chart geospatial data

gpdvega gpdvega is a bridge between GeoPandas a geospatial extension of Pandas and the declarative statistical visualization library Altair, which all

Ilia Timofeev 49 Jul 25, 2022
Raster-based Spatial Analysis for Python

🌍 xarray-spatial: Raster-Based Spatial Analysis in Python 📍 Fast, Accurate Python library for Raster Operations ⚡ Extensible with Numba ⏩ Scalable w

makepath 649 Jan 01, 2023
Geodata extensions for Django REST Framework

Django-Spillway Django and Django REST Framework integration of raster and feature based geodata. Spillway builds on the immensely marvelous Django RE

Brian Galey 62 Jan 04, 2023
Geospatial Image Processing for Python

GIPPY Gippy is a Python library for image processing of geospatial raster data. The core of the library is implemented as a C++ library, libgip, with

GIPIT 83 Aug 19, 2022
A proof-of-concept jupyter extension which converts english queries into relevant python code

Text2Code for Jupyter notebook A proof-of-concept jupyter extension which converts english queries into relevant python code. Blog post with more deta

DeepKlarity 2.1k Dec 29, 2022
Python bindings and utilities for GeoJSON

geojson This Python library contains: Functions for encoding and decoding GeoJSON formatted data Classes for all GeoJSON Objects An implementation of

Jazzband 765 Jan 06, 2023
gjf: A tool for fixing invalid GeoJSON objects

gjf: A tool for fixing invalid GeoJSON objects The goal of this tool is to make it as easy as possible to fix invalid GeoJSON objects through Python o

Yazeed Almuqwishi 91 Dec 06, 2022
Starlite-tile38 - Showcase using Tile38 via pyle38 in a Starlite application

Starlite-Tile38 Showcase using Tile38 via pyle38 in a Starlite application. Repo

Ben 8 Aug 07, 2022
GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data.

Table of Contents What is GeoNode? Try out GeoNode Install Learn GeoNode Development Contributing Roadmap Showcase Most useful links Licensing What is

GeoNode Development Team 1.2k Dec 26, 2022
A simple python script that, given a location and a date, uses the Nasa Earth API to show a photo taken by the Landsat 8 satellite. The script must be executed on the command-line.

What does it do? Given a location and a date, it uses the Nasa Earth API to show a photo taken by the Landsat 8 satellite. The script must be executed

Caio 42 Nov 26, 2022
Open Data Cube analyses continental scale Earth Observation data through time

Open Data Cube Core Overview The Open Data Cube Core provides an integrated gridded data analysis environment for decades of analysis ready earth obse

Open Data Cube 410 Dec 13, 2022
List of Land Cover datasets in the GEE Catalog

List of Land Cover datasets in the GEE Catalog A list of all the Land Cover (or discrete) datasets in Google Earth Engine. Values, Colors and Descript

David Montero Loaiza 5 Aug 24, 2022
A light-weight, versatile XYZ tile server, built with Flask and Rasterio :earth_africa:

Terracotta is a pure Python tile server that runs as a WSGI app on a dedicated webserver or as a serverless app on AWS Lambda. It is built on a modern

DHI GRAS 531 Dec 28, 2022
WIP: extracting Geometry utilities from datacube-core

odc.geo This is still work in progress. This repository contains geometry related code extracted from Open Datacube. For details and motivation see OD

Open Data Cube 34 Jan 09, 2023
Automated download of LANDSAT data from USGS website

LANDSAT-Download It seems USGS has changed the structure of its data, and so far, I have not been able to find the direct links to the products? Help

Olivier Hagolle 197 Dec 30, 2022