テキストファイルのラインやポリゴンをインポートする

ラインやポリゴンであるという属性を付けたcsvのポイントからインポートして、ラインやポリゴンに変換したい。現状ではxyで読む(デリミティッドテキストレイヤの追加)としたり、一度ポイントで読み込んでからラインにするなどひと手間かけるのほうが一般的かもしれません。しかし、ラインなどをテキストでちょっとだけいじりたいという場合に、最初からテキストでポリゴンが作成できれば便利なはず。

ただし、9.x
http://resources.esri.com/help/9.3/ArcGISDesktop/com/Gp_ToolRef/data_management_samples_tools/create_features_from_text_file_samples_.htm

以前はサンプルツールボックスが提供されていたのだが、DLできなくなったと思っていたのですが・・・
https://blog.esrij.com/2012/04/13/arcgis-desktop-97af/

以下にまだあるようです。
https://gis.stackexchange.com/questions/133883/resurrecting-contents-of-arcgis-9-x-samples-toolbox-on-10-x/250830

使い勝手悪そうなので、自分で書いた方が良いも・・・

Ubuntu16.04とCUDA、DIGITS 6の導入

Ubuntu16.04の導入に苦戦したのでメモしておきます。

(追記:全部Docker上でやるなら、以下がよさそうです。CUDAはNVIDIA Docker上で導入してくれるようなので。 
Ubuntu16.04を入れて、nvidia-docker2を入れて、Chainerを動かす - Qiita



まずWindows導入後パーティションを切ってisoを焼いたUbuntuのCDからブートする。

この、Ubuntuインストールの際にNVIDIAのドライバと相性が悪くはまります。
インストールか起動かの選択画面(GNU GRUB)で、eを押して起動コマンドを編集を表示し、
起動コマンドのquiet splash ---の箇所をquiet splash nomodesetに書き換える必要があります。

正しいグラフィックドライバを入れるまではインストール後も同様です。
Ubuntuの起動時も e でquiet splash -> quiet splash nomodesetと変更し、起動し、必要に応じて
起動後にsudo gedit /etc/default/grub (もしくは sudo nautilusで該当ファイルに移動)で「quiet splash -> quiet splash nomodeset」に変更し、sudo update-grubとして、grubを最初から書き換えてしまいます。

以下の方法でグラフィックドライバをいったん無効にします。

パッケージの更新と必要なパッケージのインストール
sudo apt-get update -y
sudo apt-get install -y build-essential
sudo apt-get install jq
sudo apt-get install -y linux-image-extra-virtual
sudo apt-get install -y linux-source

##Nouveauドライバの無効化
lsmod | grep -i nouveau
#/etc/modprobe.d/blacklist-nouveau.confを作成し
sudo sh -c "cat << ETX > /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
ETX" && cat /etc/modprobe.d/blacklist-nouveau.conf

#/bootにある既存のInitramfsの更新
sudo update-initramfs -u
#result-example
update-initramfs: Generating /boot/initrd.img-3.13.0-85-generic
#command
sudo reboot


次に、ドライバ入れるのも一苦労です。以下を参考に適切なドライバを検索しておきます。
https://qiita.com/sasayabaku/items/2323a2c501e58c0621b6
https://qiita.com/daikumatan/items/26039fc23edabf76a9c4

16.04 is new and all packages are not ready to use in all servers. The problem is not about nvidia drivers or anything about broken pacages.
Using Main Server to download packages solve my problem.
System Settings
Software & Updates
Select "Main Server" from "Download from" section
https://askubuntu.com/questions/765448/ubuntu-16-04-nvidia-gpu-driver-can-not-use-proprietary-driver


そしてドライバーを入れます。

#GTX1080Tiのドライバをインストール
#aptのリポジトリに追加する.
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
#ドライバのインストール
sudo apt install nvidia-381
#確認
sudo modprobe nvidia
nvidia-smi

ここまででようやく、画面がまっとうな解像度でに表示されるようになります


Windowsとのデュアルブートの使い勝手を良くするために以下のような設定をします。

grubの編集による起動順の変更
http://robotics4society.com/2016/06/15/ubuntu-boot/ (sudo nautilusで直接変更するのが便利)


また、リモートで実行できるようにXRDPを以下に従って設定しました。
これでインストール待ち時間も他の仕事ができます。
設定後はWindowsリモートデスクトップから接続し、「console」を選択して設定したパスをいれると画面にアクセスでいます。

Windows10からUbuntu16.04へリモートデスクトップ接続する設定
http://watarisein.hatenablog.com/entry/2017/06/24/235551

Ubuntu 16.04: Unityデスクトップ環境にXRDPで接続する
https://www.hiroom2.com/2016/08/28/ubuntu-16-04-unity%E3%81%ABvnc-xrdp%E3%81%A7%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B/

次に、いよいよCUDAやDIGITSをいれていきます。

#CUDA Download: https://developer.nvidia.com/cuda-downloadsからDLしておいて、
sudo dpkg -i cuda-repo-ubuntu1404_7.5-18_amd64.deb
sudo apt update
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F60F4B3D7FA2AF80
sudo apt update
sudo apt install cuda

#以下の設定を~/.bashrcなどに記述すると,CUDAライブラリが使用可能になる.(sudo nautilusでエディタで直接変更しましたが、もっといい方法があるかと)
cat << ETX >> ${HOME}/.bashrc
export PATH=/usr/local/cuda/bin:\$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:\$LD_LIBRARY_PATH
ETX
source .bashrc

#参考https://ystklog.com/412
#インストール確認
nvcc -V

#参考
#https://qiita.com/daikumatan/items/26039fc23edabf76a9c4
#https://qiita.com/JeJeNeNo/items/05e148a325192004e2cd


cuDNNについて

https://developer.nvidia.com/rdp/cudnn-download

cuDNN v6.0 Runtime Library for Ubuntu16.04 (Deb)
cuDNN v6.0 Developer Library for Ubuntu16.04 (Deb)
cuDNN v6.0 Code Samples and User Guide for Ubuntu16.04 (Deb)
の3つをダウンロードしたフォルダで以下実行

sudo dpkg -i libcudnn*deb


続けてDockerとNVIDEA Dockerを入れます。

参考:
https://qiita.com/Sert/items/48fafa5b28be5b739784

https://qiita.com/koara-local/items/ee887bab8c7186d00a88
...
https://qiita.com/yukoba/items/3692f1cb677b2383c983

ここでどうもドライバのバージョンが合わないとのエラーがでてはまりました。

なんかうまくいかない?
sudo usermod -a -G docker $USER
apt-get install cuda-drivers
#リブートする
https://qiita.com/Sert/items/48fafa5b28be5b739784

Nvidia Docker
https://github.com/NVIDIA/nvidia-docker


最終的に、再起動してやりなおしたらうまくいったようです。

フォルダ以下のファイルにimagemagicを適用する(ここではflop)

find . -name "*.png" -exec mogrify -flop {} \;
#mogrifyは既存のファイルを上書きするので注意
#バックスラッシュの前にスペースがないと「find: `-exec' に引数がありません」とエラーが出てはまるので注意。


#自作のシェルを適用する場合
find . -name "*.png" -exec ./rename.sh {} \;

rename.sh
#! /bin/bash
file=$1
mv $file `echo $file | sed 's/-FlipX//'`;
#mv $file ${file%'@2x.png'}.png;


#以下と同等
for file in *-FlipX*;
do mv $file `echo $file | sed 's/-FlipX//'`;
done

以下を参照、http://q.hatena.ne.jp/1315092699
http://blog.morizotter.com/2013/02/03/rename-multiple-files-with-bash-command/



image magicの使い方は須崎さんのサイトが参考になります。
http://www.gi.ce.t.kyoto-u.ac.jp/user/susaki/image/magick_process.html



rename 2014 2015 2014-*.txt

http://uxmilk.jp/8366




追記
Rでimage magicのラッパー関数があるようです。
The magick package: Advanced Image-Processing in R
https://cran.r-project.org/web/packages/magick/vignettes/intro.html

元はこれ。
Magick++ STL Support
https://www.imagemagick.org/Magick++/STL.html

レベル補正とかは以下のように実施するがRから通るだろうか?未だ関数になってないのかな?
convert -auto-level ALL -normalize a.jpg b.jpg
http://generalworks.blogspot.jp/2011/10/imagemagick.html


追記2:単純に縮小して上書きする場合。

#!/bin/bash
#単純に縮小して上書き
find . -name "*.jpg" -maxdepth 2 | while read f; do
#mv $f original/#サブフォルダ同じように作成しておかないとダメ
convert -resize 50x -unsharp 2x1.4+0.5+0 -colors 65 -quality 100 -verbose $f $f
done

GEE(Google Earth Engine)のJS用エディタによる操作

Google Earth Engineは10GBまでなら自前データをUPできるそうだ、少ないけどそのうち容量買えるようになるのだろうか。
Pythonも通るが、JS用のエディタのような便利ツールはないとのこと。
というわけでJS入門を学ぶ。

追記20180123:ちなみにGEEの入り口はなかなかわかりにくくて、ここです。
https://code.earthengine.google.com/#
あと、過去のセミナーの一部gitにあがってますhttps://earthengine.googlesource.com/?format=HTML
#なにもESJにGEEのmini summitぶつけなくても・・・

//一行のこめんと
/* 複数行の
コメント */
print('こんにちは');
print('セミコロンなしだとエディタに!が出る')
//print(''を入れずに構文がおかしいとに×が出る)

//変数の代入
var hello = 'こんにちは';
var theTemp = 100; //数値の場合
var someNums  = [200,300,400]; //リストの場合
print(hello);
print(theTemp);
print(someNums[1]);//リストは0番からはじまる

//辞書型のデータ
var record1 ={name:'Dave',phone:'0120-1234-5555'};
print(record1['name']);
print(record1.name);

追記20181003:続けて、画像の解析方法ですが、
画像自体は検索して、importを押すとエディタ内に読み込まれます。
操作は以下を参照です。

■NDVIの画像演算での計算方法
https://developers.google.com/earth-engine/tutorial_api_06

■教師付き分類
https://www.youtube.com/watch?v=WjKhPyiSgb8

■画像の出力方法
https://cis-jp.blogspot.com/2018/06/gee_10.html

ただし、特に、演算については、上記1つめの説明にあるように以下のような記載で、JSはちょっと煩雑。
var ndvi = nir.subtract(red).divide(nir.add(red)).rename('NDVI');

そういうわけで。エディタはJSのみ対応のようですが、GEE自体はPythonでも同じコマンドがうごいており、Pythonで操作できます。例は以下などをご参照ください。
https://github.com/naru-T/2017FOSS4GHOKKAIDO/blob/master/FOSS4G_Hokkaido.ipynb


!----

Jupyter notebookを使う。

ゆる募:Ubuntu1404にWindowsからリモートで入ってDIGITSを使いたいのだが、xrdpただ入れただけだとUnityが起動せず、Unity上でしかDIGITSやJupyterが起動してくれないようなので、UnityもしくはDIGITSを起動させる方法をご存じの方がいましたら教えていただけると助かります。

追記:まだDIGITS入れていないですが、Ubuntu16.04で以下の方法でUnity見られています。 Consoleを選択しないといけないですね。
Windows10からUbuntu16.04へリモートデスクトップ接続する設定
http://watarisein.hatenablog.com/entry/2017/06/24/235551

Ubuntu 16.04: Unityデスクトップ環境にXRDPで接続する
https://www.hiroom2.com/2016/08/28/ubuntu-16-04-unity%E3%81%ABvnc-xrdp%E3%81%A7%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B/

以下のメモは移動しました。
Ubuntu16.04とCUDA、DIGITS 6の導入 - yamakita@lab 山北 剛久のブログ

ようやく新しいPC環境*1になったので、いろいろ一新しております。調子の悪いcygwinからもこれで開放されます。

インストール

windows10:anacondaでそのままインストールされる。

古いpython環境を使用する場合は、
anaconda上に仮想環境を以下の方法で構築
conda create --name=hoge python=2.7 anaconda

(そのほかのanaconda情報、https://docs.anaconda.com/anaconda/user-guide/getting-started

スタートメニューからAnaconda Navigaterを起動して、activateしたいチャンネル(仮想環境)を選択した後に、Jupytherの下のLaunchを選択して起動する。

anacondaのコマンド上では以下でルート環境と仮想環境を切り替える
activate hoge
deactivate hoge

Ubuntu1404LTS py2x

anacondaで別途環境を入れてもよいが以下のような感じ、pipをupdateしないとエラーが出る点にきづかずにはまりました。
sudo pip install -upgrade pip
sudo pip install jupyter
#起動
jupyter notebook

Jupyterの使い方

http://qiita.com/taka4sato/items/2c3397ff34c440044978#jupyter%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9

%matplotlib inline
#テスト
import numpy as np
import matplotlib.pyplot as plt
x=np.random.rand(100)
y=np.random.rand(100)
plt.scatter(x,y)
plt.title("scatterplot")
#現在のワーキングディレクトリをshellを呼んで表示
#windowsだとdirなどに変えてもうまくいかず・・・
import commands
commands.getoutput("pwd")

WindowsだとC:/Users下のログインユーザーフォルダ
UbuntuだとHomeフォルダ
がデフォルトの起動フォルダのようです。ノートもそこに保存されます。

*1:NECタブレットじゃないほうのZ(LavieZ、過去のversionも含めていくつもタイプがあって型番わかりにくすぎでしょ)軽くて裏蓋も容易に外せて昔のVAIOZからの移行におすすめです。ディスプレイの明るさや解像度がSurfaceに全くかなわないけど、バッテリーのもちがその分格段にいいですし

オフィスのインストールに失敗する。

以下のようなメッセージが出てプレインストールのオフィスの認証に失敗する。
カード記載のプロダクトキーが、アカウントに登録されると別のプロダクトキーに変化するためのようです。

「申し訳ございません。Officeのセットアップ中に問題が発生しました。しばらくしてからやり直すか、カスタマーサポートにお問い合わせください
エラーコード:0xc004d601

まず、http://www.office.com/myaccountでサインインして
Office365でないほうのタブに切り替えます。
登録済のオフィスから該当するOfficeをクリックし、「プロダクトキーの表示」
をクリックすると登録後に更新された別のプロダクトキーが表示されます。
これを、Office起動時のプロダクトキーのリクエスト画面に入力してください。

アナゴはどこで生まれてどこにかえるのか?

東京湾や瀬戸内海をはじめ各地の名物となっているアナゴ。絶滅が危惧されるウナギと比べて、こちらのほうはあまり注目されていません。うなぎのしらすに混じることもあるようですが、資源管理についても各地域での漁獲量の統計があるくらいであまり進んでいないように見えます。

2008年ごろからアナゴについてもウナギ同様に沖合の産卵場調査が行われ、どうやら沖合の海嶺における滞留域に産卵していることがわかってきました。今の所、九州パラオ海嶺の同じ地域に東アジア全体のアナゴが産卵に集まっていると考えられているようです。

未だに、親魚の回帰経路は不明であるが深海を遊泳している可能性が高そうであり、データロガーをつけるなどした研究が進められているそうです。

日本水産学会誌 Vol. 79 (2013) No. 4 p. 614 九州パラオ海嶺海域におけるマアナゴ Conger myriaster 産卵場の発見 黒木 洋明
https://www.jstage.jst.go.jp/article/suisan/79/4/79_h24-70/_article/-char/ja/

水産研究成果情報検索結果 マアナゴの産卵場所を沖ノ鳥島南方で発見
http://fra-seika.fra.affrc.go.jp/~dbmngr/cgi-bin/search/search_detail.cgi?RESULT_ID=4289&YEAR=2012