2014年11月22日土曜日

OAICatMuseum 1.1のインストール

LIDO対応のOAI-PMHプロバイダを探していたところOAICatMuseumを見つけたので、試してみた。

OAICatMuseum now supports the LIDO XML Schema
http://hangingtogether.org/?p=1730

OAICatMuseum 1.0
http://oclc.org/research/activities/oaicatmuseum.html


インストール環境

インストール環境は以下のとおり。

# cat /etc/redhat-release
CentOS release 6.6 (Final)
# yum install tomcat6
# yum install mysql-connector-java
# yum install mysql-server

tomcat のバージョンはtomcat6-6.0.24-80

mysqlサーバのバージョンはmysql-server-5.1.73-3


インストール

OAICatMuseumのダウンロードサイトより、oaicatmuseum_1.1.warとoaicatdb.sqlを取ってくる。

    # curl -o oaicatmuseum_1.1.war http://www.oclc.org/content/dam/research/activities/oaicatmuseum/oaicatmuseum_1.1.war
    # curl -o oaicatdb.sql http://www.oclc.org/content/dam/research/activities/oaicatmuseum/oaicatdb.sql
 
oaicatmuseum_1.1.warをtomcat webappsディレクトリに置く。
 
    # cp /usr/local/src/oaicatmuseum_1.1.war /usr/share/tomcat6/webapps/
 
mysqlにデータベースを作成し、oaicatdb.sqlをインポートする。

    # mysqladmin -u root create oaicatdb
    # mysql -u root oaicatdb < /usr/local/src/oaicatdb.sql
    # cd /usr/share/tomcat6/webapps/oaicatmuseum_1.1
 
作成したデータベースにアクセス可能なユーザを用意する。
 
    mysql> GRANT SELECT ON oaicatdb.* TO 'oaicatdb'@'localhost' IDENTIFIED BY 'oaicatdb!';
 

mysql-connector-java.jarをoaicatmuseum_1.1/WEB-INF/lib/にコピーする。
 
    # cp /usr/share/java/mysql-connector-java.jar /usr/share/tomcat6/webapps/oaicatmuseum_1.1/WEB-INF/lib/
 
oaicat.properties.lidoをリネームする。
 
    # cp /usr/share/tomcat6/webapps/oaicatmuseum_1.1/WEB-INF/classes/oaicat.properties.lido /usr/share/tomcat6/webapps/oaicatmuseum_1.1/WEB-INF/classes/oaicat.properties
 
oaicat.propertiesのデータベース設定を修正する。

    # vi /usr/share/tomcat6/webapps/oaicatmuseum_1.1/WEB-INF/classes/oaicat.properties
    JDBCLimitedOAICatalog.jdbcDriverName=com.mysql.jdbc.Driver
    JDBCLimitedOAICatalog.jdbcURL=jdbc:mysql://localhost:3306/oaicatdb
    JDBCLimitedOAICatalog.jdbcLogin=oaicatdb
    JDBCLimitedOAICatalog.jdbcPasswd=oaicatdb!
    JDBCLimitedOAICatalog.isPersistentConnection=true

tomcatを(再)起動する。

    /etc/init.d/tomcat6 start
 
あとは以下URLにアクセスするだけ。

    http://host:8080/oaicatmuseum_1.1/


GetReord URLの例。

    http://host:8080/oaicatmuseum_1.1/OAIHandler?verb=GetRecord&identifier=oai:oaicat.oclc.org:oai/1&metadataPrefix=lido

結果


基本は上記手順でLIDO XMLを出力できるはずなのだが、なぜかCDWA LITE形式で出力されてきた。

設定が他にあるのかもしれないが、ドキュメントにはとくに記されていなかったので、直接oaicatdb.sqlを書き換えてLIDO XMLを出力できるようにした。

コンテンツとしてはwww.lido-schema.orgのexamplesを利用した。


  • http://www.lido-schema.org/documents/examples/LIDO-Example_FMobj00154983-LaPrimavera.xml
  • http://www.lido-schema.org/documents/examples/LIDO-Example_FMobj20344012-Fontana_del_Moro.xml

   
修正後のファイルはこちら。単に格納するXMLファイルをLIDOのものにしただけ。5レコードあるが内容は重複している(サンプルが2種類しかないため)。

http://goo.gl/0fFmnS

これをインポートして、
    mysql -u root oaicatdb < /usr/local/src/oaicatdb2.sql
 
再度GetReord URLにアクセスすると無事LIDO XMLが出力されてきた。

    http://host:8080/oaicatmuseum_1.1/OAIHandler?verb=GetRecord&identifier=oai:oaicat.oclc.org:oai/1&metadataPrefix=lido
これでLIDOハーベスタの試験ができる。

plotKMLのメモ

plotKML(http://plotkml.r-forge.r-project.org/)が面白い。

RでKMLを処理するためのパッケージ、簡単にKMLを生成できてしまう。

たとえば、こんな感じの可視化が簡単にできる。



Rスクリプトはこんな感じ。


library(maptools)
library(plotKML)
shp<-readShapePoly("h22ka18207.shp")
proj4string(shp) <- CRS("+proj=longlat +datum=WGS84")
z<-shp@data$JINKOz[z==0<-1
kml(shp,labels=iconv(shp@data$MOJI,to="UTF8",from="SJIS"),altitude=z,colour="#ff00ff",alpha=0.75,plot.lab=TRUE)




Shapefileはe-Statからダウンロードしてきたもの使った。

バブルチャートっぽく表示する場合はこんな感じ。

data <- data.frame(x=shp@data$X_CODE,y=shp@data$Y_CODE,id=shp@data$KEY_CODE,label=iconv(shp@data$MOJI,to="UTF8",from="SJIS"),jinko=shp@data$JINKO)
coordinates(data) <- ~x+y
proj4string(data)<-CRS("+proj=longlat +datum=WGS84")
kml(data,shape="http://maps.google.com/mapfiles/kml/pal2/icon18.png",color="#ff0000",size=jinko,labels=label)




公式ページをみるとアニメーションにも対応してる模様。


KMLを書き起こすのは面倒だけど、これなら簡単。

何かの時に役立つかもしれない。