OverflowError:in method 'Driver_Create', argument 3 of type 'int'

Thank you, that worked. There is something suspicious about this info from the log:

Threat data: {'threat': 'urban', 'max_dist': 10, 'weight': 1, 'decay': 'exponential', 'cur_path': 'f:\\期刊论文\\7未知(2022.05-2022.08)\\数据测试\\遥感\\workplace\\threats\\urban_c.tif'}
2022-02-17 15:36:56,241 (natcap.invest.habitat_quality) habitat_quality._create_decay_kernel(881) DEBUG Max distance in pixels: 12383760944100.957

This suggests that you specified a max threat distance of 10 kilometers for the “urban” threat. That makes sense. But based on the coordinate system of your LULC raster, 10km = 12 trillion pixels!

My best guess is that your LULC raster has an incorrectly defined coordinate system. Perhaps its coordinates are in decimal degrees, but its coordinate system is interpreting them as meters.

I recommend looking at your data in a GIS and overlaying it with some other data that you know for certain has a correct coordinate system. If your data do not appear in the correct place on earth, then you have this problem.

If you use ArcGIS: arcgis desktop - Layers with same coordinate system should align/overlap in ArcMap but do not? - Geographic Information Systems Stack Exchange

If you use QGIS: coordinate system - Layer disappears when changing from CRS in degrees to CRS in meters in QGIS - Geographic Information Systems Stack Exchange