Skip to content

Commit

Permalink
Merge pull request #6 from ivoa/main
Browse files Browse the repository at this point in the history
update to ivoa master
  • Loading branch information
mcdittmar authored Mar 5, 2021
2 parents 31b4677 + b60ca15 commit a967118
Show file tree
Hide file tree
Showing 6 changed files with 1,337 additions and 24 deletions.
193 changes: 193 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# eclipse
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
*~

local.properties
.settings/
.project
.classpath
.loadpath
.recommenders

# External tool builders
.externalToolBuilders/

# Locally stored "Eclipse launch configurations"
*.launch

# PyDev specific (Python IDE for Eclipse)
*.pydevproject

# CDT-specific (C/C++ Development Tooling)
.cproject

# CDT- autotools
.autotools

# Java annotation processor (APT)
.factorypath

# PDT-specific (PHP Development Tools)
.buildpath

# sbteclipse plugin
.target

# Tern plugin
.tern-project

# TeXlipse plugin
.texlipse

# Code Recommenders
.recommenders/

# Annotation Processing
.apt_generated/
.apt_generated_test/

# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet

# Typically, this file would be tracked if it contains build/dependency configurations:
.project

.DS*
49 changes: 25 additions & 24 deletions usecases/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,36 +5,37 @@

### Connections between projects and use-cases

| Usecase vs Project | XMM | Chandra | Vizier | GLAST | LSST | GAVO | Gaia | Simbad | Other project | Mock data |
| -------------------| ------ | -----| ----- | ----- | ---- | ---- | ---- | ------ | ------------- | --------- |
| identity | C | C | C | C | C | C | C | P C | | |
| native_frames | | | P C | | | | | | | |
| simple_position | C | C | C | C | C | C | C | C | | |
| standard_properties| P C | C | C | C | C | C | C | C | | |
| precise_astrometry | | | C | | C | | C | | | P |
| column_grouping | | | P C | | | | | | | |
| combined_data | P C | C | C | C | C | C | | | | |
| complex-shaped-object| | | | P C | | | | | | |
| orbital-system | | | | P C | | | | | | |
| time-series | C | C | C | | C | P C | | | | |

* **P** Raw data provided
* **C** Concerned by the use-case

| Usecase vs Project | XMM | Chandra | Vizier | GLAST | LSST | GAVO | Gaia | Simbad | Other project | Mock data |
| -------------------| ------ | ----- | ----- | ---- | --- | --- | ----- | ----- | ----- | ----- |
| identity | C | C | C | C | C | C |C | P C | | |
| native_frames | | | P C | | | | | | | |
| simple_position | C | C | C | C | C | C | C | C | | |
| standard_properties| P C | C | C | C | C | C | C | C | | |
| precise_astrometry | | | C | | C | | C | | | P |
| column_grouping | | | P C | | | | | | | |
| combined_data | P C | C | C | C | C | C | | | | |
| complex-shaped-object| | | | P C | | | | | | |
| orbital-system | | | | P C | | | | | | |
| time-series | C | C | C | | C | P C | | | | |

### Use case proposal coverage

| Usecase vs proposal | mango-proposal | md-proposal |
| ---------------------| -------------- | ----------- |
| identity | SI | |
| native_frames | SI | |
| simple_position | SI | |
| standard_properties | SI | |
| precise_astrometry | SI | |
| column_grouping | SI | |
| combined_data | SI | |
| complex-shaped-object| S | |
| orbital-system | S | |
| time-series | | SI |
| Usecase vs proposal | mango-proposal | md-proposal | mcd-implementation | modelinstanceinvot |
| ---------------------| -------------- | ----------- | ------------------ |--------------------|
| identity | S I | | | |
| native_frames | S I | | S I | |
| simple_position | S I | | | |
| standard_properties | S I | | | |
| precise_astrometry | S I | | | |
| column_grouping | S I | | | |
| combined_data | S I | | | |
| complex-shaped-object| S | | | |
| orbital-system | S | | | |
| time-series | | S I | S I | S I |

* **S** supported
* **I** implemented
78 changes: 78 additions & 0 deletions usecases/column_grouping/mcd-implementation/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Implementation of 'Column Grouping' case

# Overview
This case involves Vizier data with a variety of columns, some of which
are 'in some way' related to the Radial Velocity column.

The primary goals of the case appear to be
* Illustrate that the model is able to associate these columns in a way that is easily resolved by a client.

The data has been annotated using IVOA VO-DML Mapping syntax
* Note: The associated properties are basic types, and are (IMO) improperly modeled
as extensions of the Measure class. Since the content of the Parameter is not
relevant to the Association, I have not annotated the Associated Parameter content.

Annotation was produced using the 'Jovial' modeling toolset (Java). Jovial
was written by Omar Laurino, and updated by me to the current data model content.
It provides utilities to help define and create instances of (annotations)
IVOA VO-DML compliant data models.

Uses the 'rama' python package to parse annotated data file and instantiate
instances of VO Data Model Classes. The package also applies Adapters which
translate certain VO Data Model Classes to corresponding AstroPY types.
eg: meas:Point -> astropy:SkyCoord
eg: meas:Time -> astropy:Time
This package was developed by Omar Laurino, and updated by me to the current
data model content.

## Resources Used
* Mapping Syntax
+ Working Draft document:
https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml-mapping/doc/VO-DML_mapping_WD.pdf

* Jovial Library
+ version used in this project:
https://github.com/mcdittmar/jovial
+ master repository:
https://github.com/olaurino/jovial

* Rama module
+ version used in this project:
https://github.com/mcdittmar/rama
+ master repository:
https://github.com/olaurino/rama

## Details
* Load Annotated VOTable
```
doc = Reader( Votable(infile) )
```
* **Goal: Discover associated properties**
```
catalog = doc.find_instances(Source)[0]
sys.stdout.write("o Source:\n" )
for param in ( catalog.parameter_dock ):
sys.stdout.write(" o Parameter: ucd='%s'\n"%(param.ucd) )
if param.associated_parameters is None:
sys.stdout.write(" + no Associated Parameters\n" )
else:
for item in ( param.associated_parameters ):
inst = item.referenced_instance
sys.stdout.write(" + Associated Parameter: ucd='%s'\n"%(inst.ucd) )
```
Source:
+ Parameter: ucd='pos.eq'
+ no Associated Parameters
+ Parameter: ucd='spect.dopplerVeloc'
+ Associated Parameter: ucd='meta.code.qual'
+ Associated Parameter: ucd='meta.number'
+ Associated Parameter: ucd='meta.ref'
+ Parameter: ucd='meta.code.qual'
+ no Associated Parameters
+ Parameter: ucd='meta.number'
+ no Associated Parameters
+ Parameter: ucd='meta.ref'
+ no Associated Parameters
Loading

0 comments on commit a967118

Please sign in to comment.