æµ·æŽåŠè ã¯ãæé¢å³ã®ããŒã¿ãæ¯èŒããã®ã奜ãã§ãã ãããè¡ãäžè¬çãªæ¹æ³ã®1ã€ã¯ããããã©ã¡ãŒã¿ã®çé«ç·ãå¥ã®ãã©ã¡ãŒã¿ã®è²ä»ãããŒã¿ã®äžã«ãªãŒããŒã¬ã€ããããšã§ãã STOQS UIãå€æŽããŠãéžæç¯å²å ã®ãã¹ãŠã®ããŒã¿ã«ãã®ãªãã·ã§ã³ãæäŸã§ããŸãã
ã©ãžãªãã¿ã³ã®çŸåšã®ãããããããŒã¿ãåã®ååããã«ã©ãŒãããããã«å€æŽããå¿ èŠããããŸãã ïŒ[æé-æ·±ã]ã»ã¯ã·ã§ã³ããããã®äžã®[çé«ç·]ããã³[æ£åžå³]ã©ãžãªãã¿ã³ã¯ãã«ã©ãŒããããã®éžæã«åŒãç¶ãé©çšãããŸããïŒãçé«ç·ããããããšããååã®ã©ãžãªãã¿ã³ã®æ°ããåãè¿œå ãããŸãã çé«ç·å³ã®ãã©ã¡ãŒã¿ãŒãéžæãããšããã©ã¡ãŒã¿ãŒã®çé«ç·ãæç»ããMatplotlibã³ãŒãã®å®è¡ãããªã¬ãŒãããŸãã STOQS UIã®ç¹æ§ã«åãããŠãã¬ãã«æ°ãã©ãã«é 眮ãããã³ãã®ä»ã®å±æ§ã¯ãããŒã¿ãæãããè¡šãããã«èªåçã«éžæãããŸãã
ãã®æ°æ©èœãå®è£ ããã«ã¯ããã«ã¹ã¿ãã¯éçºè ã®ã¹ãã«ãå¿ èŠã§ãã ã¯ã©ã€ã¢ã³ãåŽã«ã¯ãèšè¿°ãããHTMLãšJavaScriptïŒJQueryïŒããããŸãã UIãšãµãŒããŒéã§ããŒã¿ãæž¡ãã«ã¯ãAJAXãç解ããå¿ èŠããããŸãã ãµãŒããŒåŽã«ã¯ããããããè¡ãããã«äœæããå¿ èŠã®ããPythonã³ãŒãããããŸãã ããããã¹ãŠãŸãšããããã«ãæ©èœãã¹ãã¯Seleniumã䜿çšããŠèšè¿°ãããŸãã ïŒçæ³çã«ã¯ãçã®TDDæ¹æ³è«ã«åŸãããã«ããã¹ããæåã«äœæãããŸãïŒïŒ
J0S349ã@noemicuinã@LeslyGJã@samuelrey @ããããïŒ ããªãããã®åé¡ãéžãã§ãããŠããããã§ãã ããã¯ç§ãã¡ã®ç§åŠè ã®äžäººããèŠæ±ããããã®ã§ããã圌ãã¯ãã®æ©èœãåãã§æã£ãŠãããšæããŸãã
æšæ¥ã®MBARIã®ãã¢ãŒäžã«ããã®æ°æ©èœãæäŸããçš®é¡ã®ããããã®äŸãèšèŒããããã¹ã¿ãŒãéãéããŸããã
äžã®ããããã¯ã枩床ãè²ãšçœãçé«ç·ãšããŠç€ºããŠããŸãã äžã®ããããã¯ã¯ãããã£ã«ãè²ãšããŠç€ºããŠãããçœãçé«ç·ã¯äžã®ããããã®æž©åºŠãšåãã§ãã
STOQS UIã«è¿œå ãããæ©èœã¯ãä»»æã®ãã©ã¡ãŒã¿ãŒã®çé«ç·ãè¿œå ããæ©èœã§ãã
https://github.com/stoqs/stoqs/pull/501ã«ãã£ãŠè¿œå ãããtest_contour_plotsïŒïŒãã¹ãã¯ã ~/dev/stoqsgit
ãã次ã®ããã«å®è¡ã§ããŸãã
export DJANGO_SETTINGS_MODULE=config.settings.ci
export DATABASE_URL=postgis://127.0.0.1:5432/stoqs
stoqs/manage.py test stoqs.tests.functional_tests.BrowserTestCase.test_contour_plots
https://github.com/stoqs/stoqs/pull/501/commits/b976d708e13fd208df3f29c6f12bd1692e427e38ã«ãã£ãŠåé€ããããããã°ãã¬ãŒã¯ãã€ã³ãã«æ»ããšã次ã®ãããªãŠã£ã³ããŠã衚瀺ãã
æ©èœãã¹ããå®è¡ããã«ã¯ãéçºãµãŒããŒãå®è¡ãããŠããå¿ èŠãããããšã«æ³šæããŠãã ããã ãããå¥ã®ã¿ãŒããã«ã»ãã·ã§ã³ã§å®è¡ãããŠããããšã確èªããŠãã ããã
cd ~/dev/stoqsgit && source venv-stoqs/bin/activate
export DATABASE_URL=postgis://stoqsadm:[email protected]:5432/stoqs
stoqs/manage.py runserver 0.0.0.0:8000 --settings=config.settings.ci
ãçé«ç·ãããããæ©èœã®æ©èœãã¹ãã®éå§ã¯ã次ã®ããã«ãªããŸãã
- # TODO: Add tests for contour line plot
+ # Tests for contour line plot
+ parameter_contour_plot_radio_button = self.browser.find_element(By.XPATH,
+ "//input[@name='parameters_contour_plot' and @value='{}']".format(northward_sea_water_velocity_HR_id))
ããã¯å€±æããŸãïŒ
NoSuchElementException: Message: Unable to locate element: //input[@name='parameters_contour_plot' and @value='17']
ãã¬ãŒã¯ãã€ã³ããè¿œå ãã䜿çšã§ããªãèŠçŽ ãèŠæ±ããè¡ãè¿œå ããããšãã§ããŸããã
ããã«ã¡ã¯@samuelrey ã
ããã¯çŽ æŽãããããšã§ãïŒ ã³ãŒãã®å€æŽãæ°ãããã©ã³ãã«ããã·ã¥ããŠãå šå¡ã確èªã§ããããã«ããããšã¯ã§ããŸããïŒ
ãã@MBARIMikeç§ã¯ããå€ãã®ãã¹ãã±ãŒã¹ã
ç§ãå®è£
ãããã®ã¯ã茪éã©ãžãªãã¿ã³ã®1ã€ãæŒããããšãã«ç»åãçæãããããšãæåŸ
ããŠããŸãã
ãã1ã€èããã®ã¯ãã«ã©ãŒãã¿ã³ãšåãæ°ã®èŒªéãã¿ã³ãçæãããããšã確èªããããšã§ããã ããã¯ãã©ãžãªãã¿ã³ãããŒã¿ã«ãã£ãŠèšè¿°ããããã©ã¡ãŒã¿ã«åŸã£ãŠåçã«çæããããšããç§ã®ç解ã«åºã¥ããŠããŸãã
ããã«ã¡ã¯@samuelrey ïŒããã³ããŒã ïŒã
Harry Percivalã®ãã¥ãŒããªã¢ã«ã®TDDã®äŸã«åŸãå Žåã次ã®ã¹ãããã¯ã httpsïŒ //github.com/stoqs/stoqs/issues/230#issuecomment-280171422ããã®ãã¹ãã«åæ Œããããã®ã³ãŒããè¿œå ããããšã§ãã
ãã¹ãã³ãŒãã¯ã parameters_contour_plot
ãšããååã®å
¥åèŠçŽ ã®æ€çŽ¢ã«å€±æããŸãã æ¢åã®WebããŒãžã«ã¯ã parameters_plot
ãšããååã®ã©ãžãªãã¿ã³ã®åããããŸãã ãã¡ã€ã«https://github.com/stoqs/stoqs/blob/master/stoqs/stoqs/templates/stoqs/stoqsquery.htmlã§ãã®æååãæ¢ããåæ§ã®ã³ãŒããè¿œå ããŠparameters_contour_plot
ãšããååã®ã©ãžãªãã¿ã³ã®åãè¿œå ããããšããå§ãããŸãã parameters_contour_plot
ã
ãã¹ãã«åæ Œãããããã©ã³ãã«å€æŽãã³ãããããŸãã 次ã«ã次ã®ãã¹ããäœæããŸãã
ããã«ã¡ã¯@MBARIMike ã
ããã§ã次ã®ååã®ãã¹ãŠã®æ©èœããªãã©ãžãªãã¿ã³ãå®è£
ãããŸãããçé«ç·å³ã®parameters_contour_plot
ãšãããããçæãããããšã確èªããããã®ãã¹ãã 次ã®ã¹ãããã¯ã茪éã©ãžãªãã¿ã³ã«æ©èœãå®è£
ããããšã§ãã
@MBARIMikeãã3æ31æ¥éææ¥ïŒCesar Chavez DayïŒã«äŒãããšã¯ã§ããŸããããä»ã®éææ¥ã«äŒã£ãŠãé²æç¶æ³ã瀺ããææ¡ã«ã€ããŠè©±ãåãããšãã§ããŸãã ããªãã«æé©ãªãã®ãæããŠãã ããã
倧ããªé²æ©ã®ããã§ãïŒ
ãããã®ã³ãŒãå€æŽã®ããã®ãã©ã³ããžã®ãªã³ã¯ãæäŸã§ããŸããïŒ
ã³ãŒãã®å€æŽã¯æ¬¡ã®ãšããã§ãã
https://github.com/samuelrey/stoqs/commit/01fd692e5010fb6aa287899b5d7afb5bd10e9825
https://github.com/samuelrey/stoqs/commit/a3173e7368528c17f3a57ab5daf4ae4aa730153a ïŒãã¡ã€ã«ã®æåŸïŒ
https://github.com/samuelrey/stoqs/commit/3122a4ee412b859e949549ebf7e384a61c9fb438 ïŒãã¹ãïŒ
ç§ã®VMã§ã¯ãFirefoxãŠã£ã³ããŠãç»é¢å€ã«è¡šç€ºãããŠããããšã«æ°ã¥ããŸããã ãã®åé¡ãçºçãããã©ããã¯ããããŸãããããã®stoqs/stoqs/tests/functional_tests.py
ãžã®å€æŽã«ããã次ã®åé¡ãä¿®æ£ãããŸãã
--- a/stoqs/stoqs/tests/functional_tests.py
+++ b/stoqs/stoqs/tests/functional_tests.py
@@ -48,9 +48,6 @@ class BrowserTestCase(TestCase):
def setUp(self):
profile = webdriver.FirefoxProfile()
self.browser = webdriver.Firefox(profile)
- self.browser.set_window_size(1200, 768)
- self.browser.set_window_position(300, 0)
- self.browser.implicitly_wait(10)
ããã«å°ãã®ã¬ã€ãã³ã¹ããããŸãïŒ
parameters_contour_plot
ãšããååã®ã©ãžãªãã¿ã³ãã¯ãªãã¯ããããã®ãã³ãã©ãŒãè¿œå ããŸãã ãã®JavaScriptã³ãŒãã¯ãæ¢åã®ãããããã¿ã³ã®ãã³ãã©ãŒã§ãã ã¯ãšãªæååãäœæãããµãŒããŒã«æž¡ããŠçé«ç·å³ãçæããŸãã parameters_contour_plot
ãã¯ãšãªæååã«è¿œå ããã«ã¯ãåæ§ã®ã³ãŒããè¿œå ããå¿
èŠããããŸãã次ã®ã¹ãããã¯ããµãŒããŒåŽã®ã³ãŒãã«å ¥ããšãå°ãåä»ã«ãªãå§ããŸãã
parametercontourplot
ãstoqs / stoqs / views / query.pyPythonã³ãŒãã«è¿œå ããŸããã®æç¹ã§ãæ©èœãã¹ãstoqs.tests.functional_tests.BrowserTestCase.test_contour_plots
åæ Œããå¿
èŠãªå Žæã§èŒªéãæãããã«éžæããããã©ã¡ãŒã¿ãŒIDã«ã¢ã¯ã»ã¹ã§ããããã«ãªããŸãïŒ MeasuredParameter
ã®renderDatavaluesForFlot()
ã¡ãœããïŒã¯ã©ã¹ïŒã
javascripté¢æ°ãåãäžããŸãïŒ
ãã®çã®æ å ã®ãã¹ãŠã®æåŸã®ã³ãããã ãã®ã³ã¡ã³ãã«èšèŒãããŠãããã¹ãŠãçµäºããŸããã çŸåšãå®éã«ããŒã¿ãããããããäœæ¥ãè¡ã£ãŠããŸãã plotting.pyã«å€æŽãå ããããŸãã
ã«ã©ãŒãããããçæããããšãããšãã«åé¡ãçºçããŸããã data ['parameterplatformdatavaluepng']ã«ã¯[nullãnullã 'parameter-contour-plot-radioãã¿ã³æ å ±ã®ååŸã«é¢ããåé¡']ããããŸãã ããã«ãã¬ãŒã¯ãã€ã³ããèšå®ããã«ã©ãŒããããã®ã©ãžãªãã¿ã³ã®ãããããéžæããŠãããŒã¿ãç§ã芳å¯ãããã®ãšåãã§ããããšã確èªããŸãã ãŸã åå ãçµã蟌ãã§ããŸãã
'parameter-contour-plot-radio buttoninfoã®ååŸã«é¢ããåé¡'ããã¹ãã¯ãã®è¡ããæ¥ãŠ
ãããããã¯ç§ã®ééã£ãããšã§ãã
ãã®ãšã©ãŒã®ç§ã®æšæž¬ã§ã¯ããplatformNameãã¯ãcontourplatformNameãã§ããå¿
èŠããããŸããïŒ ãŸãã¯å¥ã®è§£æ±ºçã¯ããcontourplatformNameãããã§ãã¯ããªãããšãããããŸãããïŒ
ã¢ããã€ã¹ã¯ãäžå¿
èŠãªéã®ã³ããããåé¿ããã®ã«åœ¹ç«ã¡ãŸãã
_fillXYZã¡ãœãããšloadDataã¡ãœããã«ã¯ãçé«ç·å€æ°ã«åå©çšã§ããå€ãã®ã³ãŒãããããŸãã é¢æ°å ã§ã¡ã³ããŒå€æ°ãèšå®ãã代ããã«ãé¢æ°ãå€æŽããŠãçæããããªã¹ããè¿ãããšãã§ããŸãã
if contourParameterID:
self.clx, self.cly, self.clz = self.loadData(...)
plotting.pyã®loadDataïŒïŒã¡ãœãããåå©çšããŠãçé«ç·ã®xãyãzå€æ°ã®ããŒã¿ãå ¥åããæåã®æ¹æ³ãèããŠããŸãã ããªãã¯è¿ãããã®ãããªå€æŽã«ã€ããŠã©ãæããŸããããïŒ
diff --git a/stoqs/utils/Viz/plotting.py b/stoqs/utils/Viz/plotting.py
index 81c278b..cfe679c 100644
--- a/stoqs/utils/Viz/plotting.py
+++ b/stoqs/utils/Viz/plotting.py
@@ -556,6 +556,12 @@ class MeasuredParameter(BaseParameter):
if not self.x and not self.y and not self.z:
self.loadData()
+ if contourParameterID is not None:
+ if not self.clx and not self.cly and not self.clz:
+ self.loadData()
+ self.clx = self.x
+ self.cly = self.y
+ self.clz = self.z
ããŠãµã®ã®ç©Žããæ·±ãæãäžããŠå¹³è¡ãªcontour_qs_mpãçæããloadDataïŒïŒãåå©çšããŠçé«ç·ãã©ã¡ãŒã¿ã®ããŒã¿å€ãååŸããã®ã«åœ¹ç«ã€ãã®ãã«ãªã¯ãšã¹ããã芧ãã ããã ããã§ãclxãclyãããã³clzå€æ°ã䜿çšããŠçé«ç·ãäœæã§ããããã«ãªããŸãã
@samuelreyãžã®åºæ¬ãã©ã³ããå€æŽããŠãã ããhttps://github.com/stoqs/stoqs/pull/578ã«capstone-spring2017
æã ãããè¡ãæ¹æ³ã®èª¬æã¯æ¬¡ã®ãšããã§ãïŒ https ïŒ
å¥ã®ãã©ã³ãã«ãããããå¢åããŒãžã®ç®¡çã容æã«ãªããŸãã
ç§ã¯äžæ¥ã®çµãããŸã§ã«ãããããéããŸãïŒ è¡ã£ãŠããã£ãã§ãã
ãããïŒ ãã®å°ããªãªã¯ãšã¹ããèŠãŸãããïŒ
ãã£ã®ã¥ã¢ãä¿åããçŽåã«æ¿å ¥ããŸã
if self.contourParameterID is not None:
CS = ax.contour(clx, cly, clz)
ax.clabel(CS, fontsize=9, inline=1)
ããã¯ãzã®åœ¢ç¶ã«é¢ããŠãšã©ãŒãã¹ããŒããŸãã
çé«ç·ã®ããã¥ã¡ã³ãã«ã¯ãxãyãzã¯åã圢ç¶ã®2dã§ããããxãšyã¯zã®è¡æ°ã«çããé·ãã®1dã§ããå¿
èŠããããšèšèŒãããŠããŸãã
xiãyiãããã³ziãçæãããã®ãšåãæ¹æ³ã§çæãããã°ãªããå€æ°ãæž¡ãå¿ èŠããããŸãã
ãããç§ã¯ãããèŠèœãšããŸããã ãšã£ãïŒ
ãããç§ãã¡ã®ã³ãŒããçæã§ãããã®ã§ãã ãã€ã¯ã«ããæŽæ°ã«ãããUIãšç»è³ªã¯ç°ãªã£ãŠèŠããããã«ãªããŸãã ãã ããããã¯CSUMBSTOQSããŒã ãæäŸã§ãããã®ã§ãã
CSUMB STOQSããŒã ãå®äºããäœæ¥ã®æŠèŠãç°¡åã«æäŸããããã«ãæ¢åã®ã³ãŒãããã£ã«ã¿ãªã³ã°ããå¿ èŠã«å¿ããŠèª¿æŽãè¡ããŸããã ãããã®èª¿æŽã®1ã€ã¯ãã©ãžãªãã¿ã³ã®ãŸã£ããæ°ããåãè¿œå ããŠãUIã«çé«ç·ããããã³ã°ãããªãã·ã§ã³ãããããã«ããããšã§ããã ãããã®UIã®å€æŽã¯ãç§ãš@LeslyGJã«ãã£ãŠè¡ãããŸããã æ°ãããã©ãŒãããã«åŸã£ãŠããããã®ãã¿ã³ãžã®æ¥ç¶ãè¡ãå¿ èŠããããŸããã JavaScriptã«å€æŽãå ãããšã @ samuelreyããã®ã¿ã¹ã¯ãå®è¡ããŸããã ãµãŒããŒãµã€ãã³ãŒãã®èåŸã«ããPythonã«é£ã³èŸŒããšãã«ãå¥ã®èª¿æŽãè¡ãããŸããã @samuelreyãšç§ã¯æ°ããå€æ°ãè¿œå ããæ°ãããã©ã¡ãŒã¿ãŒãæž¡ããŸããã UIã®å€æŽãšãµãŒããŒåŽã®å€æŽã«ããã @ J0S349ãš@samuelreyã¯ãæ°ãããã¹ãã±ãŒã¹ãäœæããããã³ãŒããééãããŠè»éã«æ»ãããã«å¿ èŠãªå Žæã§å€æŽãå ããããšã«ããããã¹ãã®å®äºãç£èŠããŸããã
æãåèã«ãªãã³ã¡ã³ã
ãã®çã®æ å ã®ãã¹ãŠã®æåŸã®ã³ãããã ãã®ã³ã¡ã³ãã«èšèŒãããŠãããã¹ãŠãçµäºããŸããã çŸåšãå®éã«ããŒã¿ãããããããäœæ¥ãè¡ã£ãŠããŸãã plotting.pyã«å€æŽãå ããããŸãã