Closed emarfer closed 2 years ago
Hola Ester 🙋🏻♀️! Seguimos con más proyectos, y ahora es el turno del proyecto de las geoqueries!
En general el readme esta bastante bien Ester! Me gusta mucho, conciso y con las ideas principales. Aún así, te dejo por aquí unos detallines por si te aportan valor:
En la foto de portada se te ha quedado un poco descentrada, esto es una pijeria, pero te dejo por aquí como podríamos centrarla.
<p align="center">
<img src="EL LINK A TU IMAGEN" width="800" height="300" >
</p>
Indicas que usas la BBDD de companies, pero... de que va esa base de datos, que tenemos en ella, que es lo que buscas? Recuerda, nosotros la conocemos pero el lector no tiene por qué.
Estaría suuuper bien que cuando nombras la api de foursquare, pusieras un link a la documentación de la API.
Que criterios has seleccionado tu, explicalos y cuentanos por qué.
Me han faltado las librerías que has usado 😭. Y recuerda, siempre con sus links.
Buenísima organización Ester! Solo un par de detallines:
Dentro de la carpeta Notebooks, se te ha quedado la carpeta de los checkopoints, recuerda esta carpeta no nos interesa que se vea (es basurilla digital) asi que al gitignore
Tienes un fichero, main.py
que esta vacío. En este caso, como no hacía falta este fichero en el proyecto, lo ideal quitarlo y no tener ficheros vacíos en nuestro repo.
De cara a los jupyters, suuper bien que los tengas en la carpeta de notebooks. Para que te quede redondito del todo, si numeramos los jupyters para saber el orden de trabajo, sería TOP.
Tienes algunas cosas en ingles y otras en español, intenta homogeneizar el idioma!
El archivo .py
esta vacío 😱 y tienes todas la funciones en el notebook! Acuérdate que las funciones deben estar en el .py
A excepción de estos detalls y los tokens que te comenté ayer todo está perfectito Ester. Un repo super bien modularizado y facilito de seguir. Buen trabajo!!!
Ole ese regex 🔝!!
Como te dije en el apartado anterior, dejaste el .py
vacío y con todas las funciones en el jupyter.
En relación a los docstrings de las funciones:
¿Qué es lo que tiene que tener un docstring?
Aquí algo de info sobre los docstrings .
def mifuncion(argumento1, argumento2):
'''
Lo que hace la función
args:
argumento1: tipo de dato
argumento2: tipo de dato
return:
que nos devuelve la función
'''
return "Hola"
Sobre la parte de mongo, te has creado una función para hacer las geoqueries, lo cual esta suuper bien. Otra cosa que podríamos hacer es crearnos una función es hacernos otra función para la parte de la conversión a geodataframe, y la insercción en mongo. Podría quedarnos algo como esto:
def insert_mongo(df, db, coll):
client = MongoClient("localhost:27017")
db = client.get_database(db)
geospatial = db.get_collection(coll)
geo_venues = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df.longitud,df.latitud))
geo_venues.drop("location", axis=1, inplace = True)
try:
geo_venues['geometry']=geo_venues['geometry'].apply(lambda x:shapely.geometry.mapping(x))
geo_venus_dic = geo_venues.to_dict(orient="records")
geospatial.create_index([("geometry", GEOSPHERE)])
geospatial.insert_many(geo_venus_dic)
return "Data inserted in mongo"
except:
return "Error inserting data in mongo"
🚨 Sobre esta función place_store_dicc
se me han ocurrido algunas ideas, pero creo que es mejor que lo charlemos un día si te apetece 😉. Por aquí va a ser un jaleo explicartelo jajajja.
Para que en general este todo más ordenado, lo que podríamos hacer es dividir el jupyter de las queriesy la api en dos.
Bueno Ester, la verdad es que es un trabajo suuper completo! Los comentarios que te hice son mas detallines que otra cosa.
Las funciones al .py
La documentación de las API
Ficheros vacíos fuera del repo
Los archivos temporales que se nos crean, al .gitignore
Bueno Ester, suuper trabajazo. Venga venga venga que ya estamos en la recta finalllll 🔥🔥🔥
https://github.com/data2021oct/geospatial.git