Ось шейп-файла геопанд не в том же масштабе, что и фактическое изображение

Я следую этому руководству, и все выглядит одинаково https://towardsdatascience.com/geopandas-101-plot-any-data-with-a-latitude-and-longitude-on-a-map-98e01944b972

То есть я получаю карту для отображения, фрейм данных выглядит в том же формате и т. Д. Однако масштаб оси странный, до + 1M, что приводит к тому, что все точки отображаются правильно по координате (0,0). Кто-нибудь знает, что я делаю не так? Это должна быть обычная длинная / широтная ось.

Вот код, который я использую для карты улиц:

street_map = gdp.read_file('/Users/mkjacks5/Documents/projects/Mobile data/data/geo/Maricopa_Street_Local_2013.shp')

А вот код самого сюжета

fig, ax = plt.subplots(figsize=(5,5))

street_map.plot (ax = ax, alpha = 0.4, color = "blue") geo_df.plot (ax = ax, markersize = 50, color = "red", marker = "^", label = "Destination") plt. легенда (prop = {'size': 15})

Я кодирую координаты длинной широты в точки, используя

crs =   {'init' :'epsg:4326'}

введите здесь описание изображения


person L Xandor    schedule 07.03.2019    source источник
comment
Можете ли вы показать вывод street_map.head()? Мне кажется, что вы смешали CRS, что ваш geo_df находится в долгой широте (градусах), но street_map в какой-то проектируемой CRS.   -  person martinfleis    schedule 08.03.2019
comment
Я думал, что этим занимается crs = {'init': 'epsg: 4326'}. Но вот результат вывода steet_map.head () i.imgur.com/G0qUaWY.png. Я вижу в столбце геометрии, что это число соответствует масштабу, отображаемому на карте. Также, глядя на документацию, def выглядит так, как будто это что-то с кодировкой crs, но я просто не могу заставить ее работать. вывод street_map.crs: {'proj': 'tmerc', 'lat_0': 31, 'lon_0': -111.9166666666667, 'k': 0,9999, 'x_0': 213360, 'y_0': 0, 'ellps' : 'GRS80', 'units': 'ft', 'no_defs': True}   -  person L Xandor    schedule 08.03.2019
comment
Я бы попробовал geo_df = geo_df.to_crs(street_map.crs), как только вы определите этот gdf, чтобы оба кадра геоданных находились в одной проекции.   -  person martinfleis    schedule 08.03.2019
comment
Спасибо, мне пришлось немного поработать над этим, но заставил его работать, используя crs = from_string (+ proj = longlat + datum = WGS84 + no_defs) street_map = street_map.to_crs (crs = crs)   -  person L Xandor    schedule 08.03.2019
comment
Можете ли вы опубликовать решение в качестве ответа для использования в будущем?   -  person martinfleis    schedule 08.03.2019


Ответы (1)


Получил, чтобы работать, используя

crs = from_string("+proj=longlat +datum=WGS84 +no_defs") 
street_map = street_map.to_crs(crs=crs) 
person L Xandor    schedule 11.03.2019