Requisitos previos: MongoDB y Python
GeoJSON es un formato de código abierto que contiene características geográficas simples y se basa en la notación de objetos de JavaScript. Se utiliza para formatear formas en un espacio de coordenadas y MongoDB admite varios tipos para permitir el almacenamiento de datos geoespaciales. Este artículo cubrirá las diversas formas de usar geoespacial en MongoDB y explicará los tipos de puntos y polígonos de GeoJSON.
formato GeoJSON
- un campo llamado tipo que especifica el tipo de objeto GeoJSON y
- un campo denominado coordenadas que especifica las coordenadas del objeto.
Nota: Si especifica las coordenadas de latitud y longitud, indique primero la longitud y luego la latitud.
Módulos necesarios:
- Pymomgo : este módulo se utiliza para interactuar con MongoDB. Para instalarlo, escriba el siguiente comando en la terminal.
pip install pymongo OR condo install pymongo
- Matplotlib : esta biblioteca se utiliza para trazar gráficos
- Mapa base: este módulo se usa para trazar mapas usando Python. Para instalar este módulo, escriba el siguiente comando en la terminal.
conda install basemap
Pasos para usar MongoDB Atlas:
- Abra MongoDB Atlas Cloud desde aquí .
- Cree la cuenta eligiendo el paquete adecuado para usted (también puede elegir la versión gratuita que será suficiente para este artículo y para fines de aprendizaje).
- Haga clic en la vista de clúster situada en la barra de menú de la izquierda.
- Haga clic en el botón Puntos suspensivos
(...)
y seleccione Cargar conjunto de datos de muestra . - Después de agregar el conjunto de datos de muestra, haga clic en el botón de conexión.
- Luego, incluya la dirección IP en la lista blanca (elija su dirección IP actual o escriba la IP 0.0.0.0/0 para permitirle acceder desde cualquier lugar. Haga clic en el botón que se muestra en la imagen a continuación.
- Luego haga clic en el botón Conectar a aplicaciones.
- Copie el cluster_uri y péguelo en un «course_cluster_uri».
A continuación se muestra la implementación.
import pymongo import pprint import matplotlib.pyplot as plt from mpl_toolkits.basemap import Basemap course_cluster_uri = 'your_connection_string' course_client = pymongo.MongoClient(course_cluster_uri) # sample Database db = course_client['sample_geospatial'] # sample Collection shipwrecks = db['shipwrecks'] l = list(shipwrecks.find({})) lngs = [x['londec'] for x in l] lats = [x['latdec'] for x in l] # Clear the figure (this is nice if you # execute the cell multiple times) plt.clf() # Set the size of our figure plt.figure(figsize =(14, 8)) # Set the center of our map with our # first pair of coordinates and set # the projection m = Basemap(lat_0 = lats[0], lon_0 = lngs[0], projection ='cyl') # Draw the coastlines and the states m.drawcoastlines() m.drawstates() # Convert our coordinates to the system # that the projection uses x, y = m(lngs, lats) # Plot our converted coordinates plt.scatter(x, y) # Display our beautiful map plt.show()
Producción:
Publicación traducida automáticamente
Artículo escrito por ayushmanrayaguru y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA