issues: 347962055
This data as json
id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at | closed_at | author_association | active_lock_reason | draft | pull_request | body | reactions | performed_via_github_app | state_reason | repo | type |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
347962055 | MDU6SXNzdWUzNDc5NjIwNTU= | 2347 | Serialization of just coordinates | 90008 | closed | 0 | 6 | 2018-08-06T15:03:29Z | 2022-01-09T04:28:49Z | 2022-01-09T04:28:49Z | CONTRIBUTOR | In the search for the perfect data storage mechanism, I find myself needing to store some of the images I am generating the metadata seperately. It is really useful for me to serialize just the coordinates of my DataArray. My serialization method of choice is json since it allows me to read the metadata with just a text editor. For that, having the coordinates as a self contained dictionary is really important. Currently, I convert just the coordinates to a dataset, and serialize that. The code looks something like this: ```python import xarray as xr import numpy as np Setup an array with coordinatesn = np.zeros(3) coords={'x': np.arange(3)} m = xr.DataArray(n, dims=['x'], coords=coords) coords_dataset_dict = m.coords.to_dataset().to_dict() coords_dict = coords_dataset_dict['coords'] Read/Write dictionary to JSON fileThis works, but I'm essentially creating an emtpy dataset for itcoords_set = xr.Dataset.from_dict(coords_dataset_dict)
coords2 = coords_set.coords # so many Would encapsulating this functionality in the It would add 2 functions that would look like: ```python def to_dict(self): # offload the heavy lifting to the Dataset class return self.to_dataset().to_dict()['coords'] def from_dict(self, d): # Offload the heavy lifting again to the Dataset class d_dataset = {'dims': [], 'attrs': [], 'coords': d} return Dataset.from_dict(d_dataset).coords ``` |
{ "url": "https://api.github.com/repos/pydata/xarray/issues/2347/reactions", "total_count": 0, "+1": 0, "-1": 0, "laugh": 0, "hooray": 0, "confused": 0, "heart": 0, "rocket": 0, "eyes": 0 } |
completed | 13221727 | issue |