2022/04/13
MySTの翻訳環境作り
- サイドメニューをプログラムで変換可能にすること
- 作業の中心場所 – jupyter notebook : g:\jupyter\python
- pythonをwebでも可能に – g:\webapp\Doc-tools
- MyST 翻訳ソース
- F:\web\sphinx\MyST\MyST-doc
一日当たりのアルコールの摂取量の目安は、次により計算する。
お酒の量(ml)×100アルコール度数×0.8(アルコールの比重)≤20(g)
Mathjax を使用しているので Blogger では表示できるかな?
問題ないようだ!
Plotlyの様々な事例を簡単に試すため、Web Maker から動かしてみる。
http://localhost/lib/plotly-latest.min.js
【使用例】
<h1>Plotly Test</h3>
<div id="myDiv"></div>
var trace1 = {
x: [1, 2, 3, 4],
y: [10, 15, 13, 17],
mode: 'markers',
type: 'scatter'
};
var trace2 = {
x: [2, 3, 4, 5],
y: [16, 5, 11, 9],
mode: 'lines',
type: 'scatter'
};
var trace3 = {
x: [1, 2, 3, 4],
y: [12, 9, 15, 12],
mode: 'lines+markers',
type: 'scatter'
};
var data = [trace1, trace2, trace3];
Plotly.newPlot('myDiv', data);
Written with StackEdit.
コロプレスといういと、毎回このデータを探し回っては大騒ぎするのが常である。もうここで、はっきりさせておこう
「国内にはこのデータはありません」。
国土地理院にも、e-stat にも市区町村や、更に細分化された地区とか街区とかのレベルのものは存在するが、都道府県境界だけのデータはない。
では、どこにあるのか?
ここ、Natural Earth にしかない(と思われる)。
探しにくいので説明する。境界データは、
zip ファイルを解凍して出てきた shp ファイルは、全世界の境界データなので、ここから日本のデータのみを抽出する必要があるのだが、 如何せんバイナリの shp ファイルを覗く手段もないので、一旦は全体を GeoJSON に変換する。
変換にはogr2ogrを使用する。無条件に変換する場合は以下の通り。
ogr2ogr -f GeoJSON ne_10m_admin_1_states_provinces.geojson ne_10m_admin_1_states_provinces.shp
64MBほどの巨大なGeoJSONファイルが出来上がる。
エディタによっては開けないかもしれない。
この中に admin というプロパティがあり、その値は国名になっている。
これを手掛かりに、日本のデータのみを抽出することにする。
ogr2ogr -f GeoJSON -sql "SELECT * FROM ne_10m_admin_1_states_provinces WHERE admin = 'Japan'" japan.geojson ne_10m_admin_1_states_provinces.shp
なんとデータベース宜しく、SELECT 文が使えるのが嬉しい。
これで都道府県境界データを抽出できるのだが、実際中を見ると不要な項目(例えば、都道府県名は英語、ロシア語、アラビア語等々の言語によってエントリされている)も多いので、実際に使用する項目のみに絞ることもできる。
【例】
ogr2ogr -f GeoJSON -sql "SELECT type,iso_3166_2,name_ja,latitude,longitude FROM ne_10m_admin_1_states_provinces WHERE admin = 'Japan'" japan.min.geojson ne_10m_admin_1_states_provinces.shp
GeoJSON に必須な
抽出データのソートについて、散歩しながらあれこれ考えた。
Javascript での配列ソートが使えないかとか、jq でファイル自体をソートできないかとか、どれも今一な案ばかり。
そんな時、ふと思いついたのが「SQL」が使えるということ。
実際「SELECT」を使って必要プロパティのみを選択したではないか。
これに「ORDER BY」を指定したら昇順にソートできるのではないか。
早速、自宅に帰って試してみた。
ogr2ogr -f GeoJSON -sql "SELECT type,iso_3166_2,name_ja,latitude,longitude FROM ne_10m_admin_1_states_provinces WHERE admin = 'Japan' ORDER BY iso_3166_2" japan.min.sort.geojson ne_10m_admin_1_states_provinces.shp
ドンピシャ!
問題解決だ。
Written with StackEdit.
Ajaxを関数化して使用したいと挑戦したが、結果をCall元に戻せない。
ちょっと手に負えないので、インターネットで調査したところ分かり易い事例があったので以下にメモしておく。
$(function(){
$(document).on('click', '#sample', function () {
var $data = new FormData($('#sample').get(0));
var $resultConnect = sendAjaxRequest($data);
$.when($resultConnect).then(function(data){
console.log(data);
});
});
function sendAjaxRequest($data) {
var d= $.Deferred();
$.ajax({
url:'hogehoge.php',
type:'post',
dataType: 'json',
data: $data,
cache:false,
processData: false,
contentType: false,
}).done(function(data){
d.resolve(true);
}).fail(function(xhr,err){
d.resolve(false);
});
return d.promise();
}
});
<form id="sample">
<input type="text" name="username" value="123">
</form>
この例だけでは分かり難い場合は、実際の使用例 をご覧ください。
Written with StackEdit.
<!-- Prism -->
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism.min.css' />
<script src='https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/prism.min.js'></script>
<!-- /Prism -->
これで、コードハイライトは可能です。<pre><code class="lamguage-markup">...</code></pre>
<pre><code class="language-xxx">
と </code></pre>
で表示したいコードを囲みます。https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism-okaidia.min.css
を探しコピーします(1.20.0 部分はバージョンなので適宜読み替えてください)。href
の中に張り付けて、テーマの HTMLに設定してください。<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism-okaidia.min.css' />
テーマの変更は以上です。<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/line-numbers/prism-line-numbers.min.css' />
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/line-highlight/prism-line-highlight.min.css' />
<script src='https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/line-numbers/prism-line-numbers.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/line-highlight/prism-line-highlight.min.js'></script>
components
を含む URL をテーマの HTMLに設定します。<script src='https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/components/prism-sass.min.js'></script>
Written with StackEdit.
2022/04/13 MySTの翻訳環境作り サイドメニューをプログラムで変換可能にすること 作業の中心場所 – jupyter notebook : g:\jupyter\python pythonをwebでも可能に – g:\webapp\Doc-tools ...