{"id":204254,"date":"2013-12-03T07:54:02","date_gmt":"2013-12-03T03:54:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=204254"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=204254","title":{"rendered":"<span class=\"post_title\">Gnuplot \u0441\u0443\u043f\u0440\u043e\u0442\u0438\u0432 BigData<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/636\/d67\/db8\/636d67db8ecfa3b069b9f9736f959a75.png\" alt=\"image\"\/><br \/>  \u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e \u043f\u043e\u043b\u044c\u0437\u0435 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 <br \/>  \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0430\u0442\u043b\u0430\u0441\u0430 \u0437\u0432\u0435\u0437\u0434\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 <a href=\"http:\/\/www.ipac.caltech.edu\/2mass\/overview\/access.html\">2MASS<\/a>.<br \/>  2MASS \u2014 \u044d\u0442\u043e ~471 \u043c\u043b\u043d. \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, <br \/>  \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0432\u0441\u0435\u0433\u043e 60 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432.<br \/>  \u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u2014 \u044d\u0442\u043e 50\u0413\u0431 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0433\u0437\u0438\u043f\u043d\u0443\u0442\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432.<br \/>  \u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0442\u0430\u043a\u043e\u0439 \u0431\u0430\u0437\u043e\u0439, \u043d\u0435 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u044f \u043a \u00ab\u0442\u044f\u0436\u0435\u043b\u043e\u0439 \u0430\u0440\u0442\u0438\u043b\u043b\u0435\u0440\u0438\u0438\u00bb? <br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4><b>\u041f\u0440\u0435\u043b\u044e\u0434\u0438\u044f<\/b><\/h4>\n<p>  \u0414\u0430\u043d\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b\u0430\u0441\u044c \u0432 2009 \u0433\u043e\u0434\u0443 \u0438 \u0431\u044b\u043b\u0430 \u0447\u0430\u0441\u0442\u044c\u044e \u0443\u0441\u0438\u043b\u0438\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 <a href=\"http:\/\/www.dataeast.ru\/\">DataEast<\/a> \u043f\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0413\u0435\u043e\u0421\u0423\u0411\u0414.<br \/>  \u0421\u0442\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u0446\u0435\u043b\u044c \u043e\u0442\u043b\u0430\u0434\u0438\u0442\u044c, \u043e\u0442\u043f\u0440\u043e\u0444\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c benchmark \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.<br \/>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u044f\u0437\u044b\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d \u0434\u0438\u0430\u043b\u0435\u043a\u0442 <a href=\"http:\/\/en.wikipedia.org\/wiki\/D_(data_language_specification)\">Turorial D<\/a>, \u0442\u043e\u0447\u043d\u0435\u0435 \u0435\u0433\u043e \u0447\u0430\u0441\u0442\u044c, \u043a\u0430\u0441\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0430\u043b\u0433\u0435\u0431\u0440\u044b. \u0414\u0438\u0430\u043b\u0435\u043a\u0442 \u0431\u044b\u043b \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u043f\u043e\u0434 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u0443\u0440\u0441\u043e\u0440\u0430\u043c\u0438.<\/p>\n<p>  \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0438 \u0446\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0430 \u043d\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043e \u0431\u044b\u043b\u044b\u0445 \u043f\u043e\u0431\u0435\u0434\u0430\u0445, \u0447\u0442\u043e \u00ab\u0440\u0430\u0441\u0442\u0430\u044f\u043b\u0438, \u043a\u0430\u043a \u0441\u043b\u0451\u0437\u044b \u043f\u043e\u0434 \u0434\u043e\u0436\u0434\u0435\u043c\u00bb, \u0430 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043a\u0443\u0440\u0441\u043e\u0440 \u0421\u0423\u0411\u0414.<br \/>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u0442\u0435\u0445\u043d\u0438\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 PL\/SQL \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0445 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440 \u0438\/\u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u044b. <\/p>\n<h4><b>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/b><\/h4>\n<p>  \u041d\u0435\u0442 \u0441\u043c\u044b\u0441\u043b\u0430 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u043a\u0430\u0436\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e, \u0447\u0442\u043e \u0437\u0430\u043d\u044f\u043b\u043e \u044d\u0442\u043e 8\u0447 26\u043c\u0438\u043d \u043d\u0430 \u0437\u0430\u043b\u0438\u0432\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 1\u0447 17\u043c\u0438\u043d \u043d\u0430 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0438\u043d\u0434\u0435\u043a\u0441\u0430\u0446\u0438\u044e.<br \/>  \u0412 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0435 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441   <\/p>\n<pre><code class=\"sql\">select count(*) as rows,             sum(pts_key::bigint) as sum_pts_key,             sum(pxcntr::bigint) as sum_pxcntr,             sum(scan_key::bigint) as sum_scan_key,             sum(scan::bigint) as sum_scan,             sum(ext_key::bigint) as sum_ext_key,             sum(coadd_key::bigint) as sum_coadd_key,             sum(coadd::bigint) as sum_coadd,             sum(mp_flg) as sum_mp_flg,             sum(gal_contam) as sum_gal_contam,             sum(use_src) as sum_use_src,             sum(dup_src) as sum_dup_src,             sum(nopt_mchs) as sum_nopt_mchs,             sum(phi_opt::bigint) as sum_phi_opt,             sum(dist_edge_ew::bigint) as sum_dist_edge_ew,             sum(dist_edge_ns::bigint) as sum_dist_edge_ns,             sum(err_ang::bigint) as sum_err_ang             FROM twomass_psc; <\/code><\/pre>\n<p> \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e\u0442 \u0437\u0430\u043f\u0440\u043e\u0441 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043a\u0430\u043a<\/p>\n<pre><code class=\"cpp\">select &quot;PSC&quot;   chew { \t&quot;rows&quot; INTEGER,  \t&quot;sum_pts_key&quot; INTEGER, \t&quot;sum_pxcntr&quot; INTEGER,  \t&quot;sum_scan_key&quot; INTEGER, \t&quot;sum_scan&quot; INTEGER, \t&quot;sum_ext_key&quot; INTEGER,  \t&quot;sum_coadd_key&quot; INTEGER,  \t&quot;sum_coadd&quot; INTEGER,  \t&quot;sum_mp_flg&quot; INTEGER,  \t&quot;sum_gal_contam&quot; INTEGER,  \t&quot;sum_use_src&quot; INTEGER,  \t&quot;sum_dup_src &quot;INTEGER,  \t&quot;sum_nopt_mchs&quot; INTEGER,  \t&quot;sum_phi_opt&quot; INTEGER, \t&quot;sum_dist_edge_ew&quot; INTEGER,  \t&quot;sum_dist_edge_ns&quot; INTEGER, \t&quot;sum_err_ang&quot; INTEGER   }    hook &quot;init&quot; {    &quot;rows&quot; := 0;    &quot;sum_pts_key&quot; := 0; ...    &quot;sum_err_ang&quot; := 0;   }   hook &quot;row&quot; {    &quot;rows&quot; := &quot;rows&quot; + 1;    if (not isnull(&quot;pts_key\/cntr&quot;)) then      &quot;sum_pts_key&quot; := &quot;sum_pts_key&quot; + &quot;pts_key\/cntr&quot;;    end if; ...    if (not isnull(&quot;err_ang&quot;)) then      &quot;sum_err_ang&quot; := &quot;sum_err_ang&quot; + &quot;err_ang&quot;;    end if;   }   hook &quot;finit&quot; {    call __interrupt ();   }; <\/code><\/pre>\n<p> \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u043e\u0432: <\/p>\n<pre><code class=\"xml\">INFO: start [04\/Jun\/2009:09:37:45:822] ----------------------------------------------------------------- rows\t\t\tsum_pts_key\t\tsum_pxcntr\t sum_scan_key\t\tsum_scan\t\tsum_ext_key\t sum_coadd_key\t\tsum_coadd\t\tsum_mp_flg\t sum_gal_contam\t\tsum_use_src\t\tsum_dup_src\t sum_nopt_mchs\t\tsum_phi_opt\t\tsum_dist_edge_ew sum_dist_edge_ns\tsum_err_ang\t ----------------------------------------------------------------- 470992970\t\t306810325437475788\t306815556538478936\t 16902776758555\t\t32666066948\t\t2048692118201\t 388758631396659\t\t64617139213\t\t16048\t 729878\t\t\t464456155\t\t79798372\t 369187043\t\t64916239773\t\t69388217174\t 2670725813652\t\t29279563815\t ----------------------------------------------------------------- INFO: stop [04\/Jun\/2009:12:35:59:571] <\/code><\/pre>\n<p> \u0417\u0434\u0435\u0441\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <i>chew<\/i> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0432\u0441\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430) \u0432 \u0441\u0438\u043d\u0442\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438. \u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 <i>hook<\/i> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d (\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u0430\u043c SQL) \u0434\u043b\u044f \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u043d\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u2014 \u0441\u0442\u0430\u0440\u0442\/\u0441\u0442\u043e\u043f \u043f\u043e\u0442\u043e\u043a\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u0440\u0438 \u0432\u044b\u0437\u043e\u0432\u0435 <i>__interrupt<\/i> \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u043f\u0430\u0434\u0430\u044e\u0442 \u0432 resultset.<\/p>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u044e\u0442 \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043e\u0447\u043d\u044b\u043c\u0438, \u0437\u043d\u0430\u0447\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u044b \u043a \u0440\u0430\u0431\u043e\u0442\u0435.<br \/>  \u0412\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u2014 3 \u0447\u0430\u0441\u0430, \u043e\u043a\u043e\u043b\u043e 10 \u043c\u0438\u043d \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u043a\u0443 \u043f\u0440\u0438 \u0441\u043f\u043b\u043e\u0448\u043d\u043e\u043c \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435. \u0422\u0430\u043a\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c (\u043d\u0430 Intel Core2 P4-2.4 GHz, 2Gb, disk ST3400620AS) \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0435\u0441\u043b\u0438 \u0431\u044b \u043c\u044b \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u043b\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0438 \u0438\u0445 \u0447\u0435\u0440\u0435\u0437 GAWK, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 \u043d\u0430\u0441 \u0431\u044b \u0443\u0448\u043b\u043e 50\u0413\u0431 \u043f\u043e 50 \u043c\u0431\/\u0441\u0435\u043a = 1000 \u0441\u0435\u043a\u0443\u043d\u0434 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0436\u0435 \u043d\u0430 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0443, 35 \u043c\u0438\u043d\u0443\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u0448\u044c \u043d\u0430 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e\u0442\u043e\u043a\u0430. \u041d\u0430 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0443 \u0438 \u043f\u0440\u043e\u0433\u043e\u043d \u0432\u0441\u0435\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 wc \u0443\u0445\u043e\u0434\u0438\u043b\u043e \u043f\u043e\u043b\u0442\u043e\u0440\u0430 \u0447\u0430\u0441\u0430. BigData \u0432\u0441\u0451 \u0436\u0435.<\/p>\n<p>  \u0414\u043b\u044f \u0436\u0435\u043b\u0430\u044e\u0449\u0438\u0445 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0441\u0451 \u0441\u0432\u043e\u0438\u043c\u0438 \u0433\u043b\u0430\u0437\u0430\u043c\u0438, \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u043d\u0435\u0431\u0430 \u0441 \u0434\u0435\u0444\u0435\u043a\u0442\u043e\u043c \u043f\u043b\u0430\u0441\u0442\u0438\u043d\u044b:<br \/>  <img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/f32\/0b0\/bf2\/f320b0bf235230395c6fcffc2774fcb4.png\" alt=\"image\"\/><br \/>  \u041a\u043e\u0435-\u043a\u0442\u043e \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0435\u0433\u043e \u0437\u0430 \u0431\u043e\u0435\u0432\u044b\u0435 \u043f\u043e\u0440\u044f\u0434\u043a\u0438 \u0438\u043c\u043f\u0435\u0440\u0441\u043a\u043e\u0433\u043e \u0444\u043b\u043e\u0442\u0430.<\/p>\n<h4><b>Data mining<\/b><\/h4>\n<p>  <b>\u041f\u0440\u043e\u0441\u0442\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430.<\/b> Max, Min, Avg \u2014 \u043f\u043e\u0438\u0433\u0440\u0430\u0435\u043c\u0441\u044f \u0441 \u043a\u043e\u043b\u043e\u043d\u043a\u043e\u0439 \u00abj-m\u00bb (Default J-band magnitude).  <\/p>\n<pre><code class=\"cpp\">select &quot;PSC&quot;   chew { \t&quot;nrows&quot; INTEGER,  \t&quot;nulls_j_m&quot; INTEGER,  \t&quot;num_j_m&quot; INTEGER,  \t&quot;sum_j_m&quot; RATIONAL, \t&quot;avg_j_m&quot; RATIONAL, \t&quot;max_j_m&quot; RATIONAL, \t&quot;min_j_m&quot; RATIONAL   }    hook &quot;init&quot; {    &quot;nrows&quot; := 0;    &quot;nulls_j_m&quot; := 0;     &quot;num_j_m&quot; := 0;    &quot;sum_j_m&quot; := 0;    &quot;avg_j_m&quot; := 0;    &quot;max_j_m&quot; := -1e66;    &quot;min_j_m&quot; := 1e66;   }   hook &quot;row&quot; {    nrows := nrows + 1;    if (isnull(&quot;j_m&quot;)) then      &quot;nulls_j_m&quot; := &quot;nulls_j_m&quot; + 1;    else      &quot;num_j_m&quot; := &quot;num_j_m&quot; + 1;      &quot;sum_j_m&quot; := &quot;sum_j_m&quot; + &quot;j_m&quot;;      if (&quot;max_j_m&quot;&lt;&quot;j_m&quot;) then        &quot;max_j_m&quot; := &quot;j_m&quot;;      end if;      if (&quot;min_j_m&quot;&gt;&quot;j_m&quot;) then        &quot;min_j_m&quot; := &quot;j_m&quot;;      end if;    end if;   }   hook &quot;finit&quot; {    &quot;avg_j_m&quot; := &quot;sum_j_m&quot; \/ &quot;num_j_m&quot;;    call __interrupt ();   }; <\/code><\/pre>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442: <\/p>\n<pre><code class=\"xml\">INFO: start [04\/Jun\/2009:15:00:54:821]  -------------------------------------------------------------------- nrows\t\tnulls_j_m\t\tnum_j_m\t sum_j_m\t\tavg_j_m\t\tmax_j_m\t\tmin_j_m\t -------------------------------------------------------------------- 470992970\t19\t\t\t470992951\t 7.15875e+009\t15.1993\t\t25.86\t\t-2.989\t -------------------------------------------------------------------- INFO: stop [04\/Jun\/2009:15:18:47:743] <\/code><\/pre>\n<p>  \u0414\u0438\u0441\u043f\u0435\u0440\u0441\u0438\u044f:  <\/p>\n<pre><code class=\"cpp\">select &quot;PSC&quot;   chew { \t&quot;nrows&quot; INTEGER,  \t&quot;nulls_j_m&quot; INTEGER,  \t&quot;num_j_m&quot; INTEGER,  \t&quot;disp_j_m&quot; RATIONAL   }    hook &quot;init&quot; {    &quot;nrows&quot; := 0;    &quot;nulls_j_m&quot; := 0;     &quot;num_j_m&quot; := 0;    &quot;disp_j_m&quot; := 0;    var tmp rational;    var tavg rational;    tavg := 15.1993; -- previously calculated   }   hook &quot;row&quot; {    nrows := nrows + 1;     if (isnull(&quot;j_m&quot;)) then      &quot;nulls_j_m&quot; := &quot;nulls_j_m&quot; + 1;    else      &quot;num_j_m&quot; := &quot;num_j_m&quot; + 1;      tmp := &quot;j_m&quot; - tavg;      tmp := tmp * tmp;      &quot;disp_j_m&quot; := &quot;disp_j_m&quot; + tmp;    end if;   }   hook &quot;finit&quot; {    &quot;disp_j_m&quot; := &quot;disp_j_m&quot; \/ &quot;num_j_m&quot;;    call __interrupt ();   }; <\/code><\/pre>\n<p>  <b>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/b>:<\/p>\n<pre><code class=\"xml\">INFO: start [04\/Jun\/2009:15:48:27:274]  -------------------------------------------------------------------- nrows\tnulls_j_m\tnum_j_m\tdisp_j_m\t -------------------------------------------------------------------- 470992970\t19\t470992951\t1.98223\t -------------------------------------------------------------------- INFO: stop [04\/Jun\/2009:16:05:01:946 <\/code><\/pre>\n<p>  <b>\u0413\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u0430:<\/b><\/p>\n<pre><code class=\"cpp\">select &quot;PSC&quot;   chew { \t&quot;j_m_cell&quot; rational,  \t&quot;num&quot; INTEGER   }    hook &quot;init&quot; {    var tmp integer;    var tmp2 integer;     var tmax rational;    tmax := 26.;  -- previously calculated    var tmin rational;    tmin := -5.; -- previously calculated    var ncells integer;    ncells := 500;    var tcell rational;    tcell := (tmax - tmin)\/ncells;     var htptr integer;    htptr := hti_alloc (0);    call hti_set (htptr, 0, 0);   }   hook &quot;row&quot; {    if (not isnull(&quot;j_m&quot;)) then      tmp := (&quot;j_m&quot; - tmin)\/tcell;      tmp2 := hti_get (htptr, tmp);      tmp2 := tmp2 + 1;      call hti_set (htptr, tmp, tmp2);    end if;   }   hook &quot;finit&quot; {    tmp := 0;    while tmp &lt; ncells;      begin;      &quot;j_m_cell&quot; := tmin + tcell * tmp + tcell * 0.5;      &quot;num&quot; := hti_get (htptr, tmp);      tmp := tmp + 1;      call __interrupt ();      end;    end while;    call hti_free (htptr);   }; <\/code><\/pre>\n<p>\u041d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u0435 \u0432 \u044f\u0447\u0435\u0439\u043a\u0430\u0445 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0445\u044d\u0448 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0437\u0430 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0432 \u044f\u0437\u044b\u043a\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u043a\u0430 \u044f\u0447\u0435\u0435\u043a \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0443\u0434\u043e\u0431\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0435\u0440\u0435\u0437 <a href=\"http:\/\/www.gnuplot.info\/\">gnuplot<\/a>.\u0412 \u043d\u0438\u0436\u0435\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u043f\u043e \u043a\u043e\u043b\u043e\u043d\u043a\u0430\u043c \u00abk-m\u00bb(Default Ks-band magnitude) \u0438 \u00abh-m\u00bb(Default H-band magnitude).<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage3\/08d\/07f\/dc2\/08d07fdc28fed09b73041bada29998b4.jpg\" alt=\"image\"\/><br \/>  <b>3D<\/b><br \/>  \u0425\u043e\u0440\u043e\u0448\u043e, \u00abk-m\u00bb \u0438 \u00abh-m\u00bb \u043d\u0430 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435, \u0430 \u043a\u0430\u043a \u043d\u0430\u0441\u0447\u0435\u0442 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f?  <\/p>\n<pre><code class=\"cpp\">select &quot;PSC&quot;   chew { \t&quot;cell&quot; rational, \t&quot;num&quot; INTEGER   }    hook &quot;init&quot; {    var tmp integer;    var tmp2 integer;    var tmp4 integer;     var tmax rational;    tmax := 25;    var tmin rational;    tmin := -5.;    var ncells integer;    ncells := 512;    var tcell rational;    tcell := (tmax - tmin)\/ncells;    var &quot;hnd&quot; integer;    hnd:= img_create ( \tncells,  \tncells, \ttmin, tmin, tmax, tmax, 1);    var cl  integer;    cl := img_alloc_color (hnd, 255,0,0);   }   hook &quot;row&quot; {    if ((not isnull(&quot;h_m&quot;)) and (not isnull(&quot;k_m&quot;))) then      tmp := img_get_point (hnd, &quot;h_m&quot;, &quot;k_m&quot;);      tmp := tmp + 1;      call img_draw_point (hnd, &quot;h_m&quot;, &quot;k_m&quot;, tmp);    end if;   }   hook &quot;finit&quot; {    tmp := 0;    while tmp &lt; ncells;      begin;      tmp2 := 0;      while tmp2 &lt; ncells;        begin;        tmp4 := img_get_point (hnd, tmin + tcell * tmp,              tmin + tcell * tmp2);        call print ((tmin + tmp * tcell)+' '+          (tmin + tmp2* tcell)+' '+tmp4+'\\n');        if tmp4 &gt; 0 then          tmp4 := cl;        else          tmp4 := 0;        end if;        call img_draw_point (hnd, tmin + tcell * tmp,           tmin + tcell * tmp2, cl);        tmp2 := tmp2 + 1;        end;      end while;      tmp := tmp + 1;      end;    end while;    call img_saveas (hnd, 'stat4.gif');    call img_destroy (hnd);   }; <\/code><\/pre>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u043e\u0439 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043e\u0431\u0440\u0430\u0437 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043a <a href=\"http:\/\/www.boutell.com\/gd\/\">GD<\/a>, \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u043b\u043e\u0433\u0430\u0440\u0438\u0444\u043c\u043e\u0432 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0439 \u0432 \u043a\u043b\u0435\u0442\u043a\u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 <b>gnuplot<\/b> \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 <b>pm3d<\/b>.<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage3\/1b2\/c64\/697\/1b2c64697b449565b5013ecd211ce4fc.png\" alt=\"image\"\/><br \/>  \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u201cj_m\u201c-\u201ck_m\u201c \u043f\u0440\u043e\u0442\u0438\u0432 \u201ch_m\u201c-\u201ck_m\u201c:<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage3\/f4e\/64c\/043\/f4e64c043a0594c9602a4c412df34055.png\" alt=\"image\"\/><br \/>  \u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u0433\u0438\u0441\u0442\u043e\u0433\u0440\u0430\u043c\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 ~35\u043c\u0438\u043d \u2014 \u043f\u043e 12 \u043c\u0438\u043d \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u043a\u0443.<br \/>  \u0410 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438? \u041c\u043e\u0436\u0435\u043c \u043b\u0438 \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0437\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u044b? \u041a\u043e\u043d\u0435\u0447\u043d\u043e:<br \/>  <b>\u0412\u044b\u0431\u043e\u0440\u043a\u0430 \u0441 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438<\/b>.   <\/p>\n<pre><code class=\"cpp\">select &quot;PSC&quot; where    \tsp_overlap (&quot;Point&quot;,    \t  [rational:xmin],     \t  [rational:ymin],     \t  [rational:xmax],     \t  [rational:ymax])    chew { \t&quot;m_cell&quot; rational,  \t&quot;num&quot; INTEGER   }     \u2026 -- below is the same text <\/code><\/pre>\n<p>  \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 sp_overlap \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u043e\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043a \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c\u0443 \u0438\u043d\u0434\u0435\u043a\u0441\u0443.<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage3\/a8d\/83c\/bee\/a8d83cbeeea23580ae3e69823f078650.png\" alt=\"image\"\/><br \/>  \u0412 \u043d\u0438\u0436\u043d\u0438\u0445 \u043b\u0435\u0432\u044b\u0445 \u0443\u0433\u043b\u0430\u0445 \u043a\u043b\u0435\u0442\u043e\u043a \u0443\u043a\u0430\u0437\u0430\u043d\u044b \u044d\u043a\u0441\u0442\u0435\u043d\u0442\u044b \u0432\u044b\u0431\u043e\u0440\u043e\u043a.<\/p>\n<p>  \u0410 \u043a\u0430\u043a \u043d\u0430\u0441\u0447\u0435\u0442 <b>\u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u043d\u044b\u0445 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439<\/b>?<br \/>  \u042d\u0442\u043e \u0442\u0430\u043a \u0436\u0435 \u043b\u0435\u0433\u043a\u043e, \u043a\u0430\u043a \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u043f\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0443.  <\/p>\n<pre><code class=\"sql\">select &quot;PSC&quot; where \u201cj_snr\u201d &lt; 10.  -- or you may combine your restrictions adding  -- and sp_overlap (&quot;Point&quot;, \u2026 )    chew { \t&quot;m_cell&quot; rational,  \t&quot;num&quot; INTEGER   }    \u2026 -- below is the same text <\/code><\/pre>\n<p>\u0410 \u0432\u043e\u0442 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<br \/>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/storage3\/982\/888\/753\/9828887532bc2043057c110b0df32f03.png\" alt=\"image\"\/><\/p>\n<h4><b>\u0418\u0442\u043e\u0433\u043e<\/b><\/h4>\n<p>  \u0427\u0442\u043e \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u0435\u0440\u0435\u043d\u043e\u0441 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0432 \u043a\u0443\u0440\u0441\u043e\u0440?  <\/p>\n<ul>\n<li><b>\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c<\/b>, \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044f \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435, \u043c\u044b \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b \u043e\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e \u0441\u0435\u0442\u0438, \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c, \u0434\u0435\u0441\u0435\u0440\u0438\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c&#8230;<\/li>\n<li><b>\u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b<\/b>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u043b\u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u0441\u0442\u0440\u043e\u043a, \u0431\u0443\u0434\u0443\u0447\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u043e \u0441\u0435\u0442\u0438, \u043d\u0430\u0434\u043e\u043b\u0433\u043e \u0437\u0430\u0439\u043c\u0443\u0442 \u0438\u0437\u0440\u044f\u0434\u043d\u0443\u044e \u0434\u043e\u043b\u044e \u0435\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438<\/li>\n<\/ul>\n<p>  \u0410 \u0447\u0435\u043c \u043d\u0430\u043c \u0433\u0440\u043e\u0437\u0438\u0442 \u0442\u0430\u043a\u0430\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0430?   <\/p>\n<ul>\n<li>\u041f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0432\u0441\u0451 \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0430\u043c\u0438\u043c, \u0430 \u044d\u0442\u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043e\u0448\u0438\u0431\u043e\u043a.<\/li>\n<li>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0430 \u043e\u0431\u0449\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435.<\/li>\n<li>\u041d\u0435 \u0432\u0441\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u043f\u043e\u0442\u043e\u043a\u0435.<\/li>\n<\/ul>\n<p>  \u0412\u0441\u0451 \u0442\u0430\u043a, \u043d\u043e \u0430\u0432\u0442\u043e\u0440 \u043d\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442, \u0447\u0442\u043e \u0442\u0430\u043a \u043d\u0430\u0434\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0435\u0433\u0434\u0430, \u044d\u0442\u043e \u043b\u0438\u0448\u044c \u043e\u0434\u0438\u043d \u0438\u0437 \u043c\u043d\u043e\u0433\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u043f\u0443\u0441\u0442\u044c \u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u0439, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0434\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0433\u0438\u043f\u043e\u0442\u0435\u0437\u044b.    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/204254\/\"> http:\/\/habrahabr.ru\/post\/204254\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" src=\"http:\/\/habr.habrastorage.org\/post_images\/636\/d67\/db8\/636d67db8ecfa3b069b9f9736f959a75.png\" alt=\"image\"\/><br \/>  \u0414\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0432\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e \u043f\u043e\u043b\u044c\u0437\u0435 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 <br \/>  \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0430\u0442\u043b\u0430\u0441\u0430 \u0437\u0432\u0435\u0437\u0434\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 <a href=\"http:\/\/www.ipac.caltech.edu\/2mass\/overview\/access.html\">2MASS<\/a>.<br \/>  2MASS \u2014 \u044d\u0442\u043e ~471 \u043c\u043b\u043d. \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, <br \/>  \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043e\u043f\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f, \u0432\u0441\u0435\u0433\u043e 60 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u0432.<br \/>  \u0424\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u2014 \u044d\u0442\u043e 50\u0413\u0431 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0433\u0437\u0438\u043f\u043d\u0443\u0442\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432.<br \/>  \u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0442\u0430\u043a\u043e\u0439 \u0431\u0430\u0437\u043e\u0439, \u043d\u0435 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u044f \u043a \u00ab\u0442\u044f\u0436\u0435\u043b\u043e\u0439 \u0430\u0440\u0442\u0438\u043b\u043b\u0435\u0440\u0438\u0438\u00bb? <br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-204254","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/204254","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=204254"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/204254\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=204254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=204254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=204254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}