Consultas geoespaciales con Python MongoDB

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.
    python-mongodb-cluster-1
  • 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.
    python-mongodb-cluster-connect-2
  • 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:

trama de naufragios

Publicación traducida automáticamente

Artículo escrito por ayushmanrayaguru y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *