-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Define the API for the Bolides Package #10
Comments
Main idea:BolideDataFrame class extending the GeoDataFrame class from GeoPandas (which itself extends DataFrame from Pandas) while providing extra bolide-specific methods. The DataFrame class and all of its built-in methods are quite efficient for this size of data set. The following are the standard, must-have columns that the BolideDataFrame has for basic functionality to work:
Initialization:From website: The initialization also creates a few new columns:
Plotting:Maps
Histogramsplt.hist() is fairly simple and can be called on any column of the BolideDataFrame, but perhaps we can make a method (bdf.histogram?) which by default produces a good, useful plot but similarly allows additional arguments to be passed (like plot_detections) Filtering:Regular Pandas filtering, e.g.:
Additional bolide-specific filter methods can be made for some of the filters which are a little clunky (e.g. dates): Light curvesLight curves can be handled as a column ('lightcurve') containing a list of LightCurve objects (from lightkurve) for each bolide. Not sure if this is the best way… ImplementationAll of this (except for the lightcurve part) has been implemented for feasibility testing purposes and seems to work. |
Hi @anthonyozerov ! Thanks for creating this excellent summary. Some comments:
We want this user-friendly too be be a gateway to show the meteor science community the utility of our data set and how easy it is to use the data with this package. Right now, we have this huge data set and we want to begin "selling" it. This is a great start! Begin to provide some examples of the above in the other issue tickets. |
The API looks good to me. I'm sure we'll continue to modify things, but for the sake of this ticket, an API has been defined and implemented. We can close the ticket. |
We want a user-friendly API that can be used by casual Python programmers. Here we should lay out the interface and provide some examples of calls to the package. We will iterate until we agree upon a good API.
The text was updated successfully, but these errors were encountered: