Conceptos básicos de la visualización de datos geográficos

1. Método de obtención del archivo shp

método uno

Consulte esta publicación de blog:
Obtenga los archivos shp de esquema de provincias, ciudades y condados

Método dos

Consulte las siguientes publicaciones del blog y
use OpenStreetMap para obtener datos de la red de carreteras urbanas
. Cómo convertir los datos de la red de carreteras de OSM (formato xml o json) a formato shapefile se
resume de la siguiente manera:
1. Primero busque el nombre de la ciudad en el sitio web oficial de openstreetmap para obtener la ID de la ciudad, sitio web de código abierto El sitio web oficial de Openstreetmap es: https://www.openstreetmap.org/relation/3020001
Inserte la descripción de la imagen aquí

2. Obtenido a través de OverpassAPI, la URL es: API
Inserte la descripción de la imagen aquí
seleccione Query and Convert Forms, ingrese en el cuadro de entrada:

<osm-script timeout="1800" element-limit="100000000">
  <union>
    <area-query ref="3603020001"/>
    <recurse type="node-relation" into="rels"/>
    <recurse type="node-way"/>
    <recurse type="way-relation"/>
  </union>
  <union>
    <item/>
    <recurse type="way-node"/>
  </union>
  <print mode="body"/>
</osm-script>

Entre ellos, el valor de ref es 3600000000 + el número de identificación obtenido en el paso anterior.
Haga clic en Consulta.
3. Visite el sitio web de Geoconverter,
coloque el intérprete descargado en el paso anterior en el archivo convertido y seleccione el formato de salida como archivo shp.

2. Utilice OpenStreetMap para obtener datos de PDI (puntos de interés) de la ciudad

Necesita usar la biblioteca pandana (Pandana tiene cierto soporte para crear una red desde la API de OpenStreetMap), las instrucciones oficiales de pandana

#导入需要的库
import pandana, matplotlib.pyplot as plt
from pandana.loaders import osm
%matplotlib inline
import pandas as pd
import pandana as pdna
#利用OSM的api获取指定区域内的POI信息
# bbox = [30.66, 120.85,31.89, 122.20] #上海的经纬度范围
# amenity = 'school' #兴趣点种类
# pois = osm.node_query(bbox[0], bbox[1], bbox[2], bbox[3], tags='"amenity"="{}"'.format(amenity))
# pois.to_csv("{}.csv".format(amenity),index=False, encoding='utf-8')
# 根据给定的经纬度范围利用OSM下载区域内路网
bbox = [30.66, 120.85,31.89, 122.20] #上海的经纬度范围
network_filename='./shapefile/shanghai_net.h5'#保存路网文件路径
network = osm.network_from_bbox(bbox[0], bbox[1], bbox[2], bbox[3])
network=pandana.Network(network[0]["x"],network[0]["y"], network[1]["from"], network[1]["to"],
                 network[1][["distance"]])

Supongo que te gusta

Origin blog.csdn.net/qq_39805362/article/details/109317844
Recomendado
Clasificación