ホーム » 未分類 (ページ 2)

未分類」カテゴリーアーカイブ

Javascript カスタムイベント

JavaScriptでの静的クラスと動的クラスの作り方

JavaScript Tips – dispatchEvent を使いこなそう!!

JSでカスタムイベントを作る

javascriptのカスタムイベントを作ろう!

javascriptにおけるカスタムイベントの使いどころとは

JavaScript Tips – dispatchEvent を使いこなそう!!

JavascriptでDOM以外のオブジェクトを利用してカスタムイベントを実装するには?

Document.createEvent()

iOS Developerサイトの設定とxcode8.3.2で最小アプリの作成

Mac OS XのバージョンアップとXcodeのバージョンアップに伴い再度iOS developerサイトの設定とxcodeでのアプリの作成を確認

Mac OS Xのバージョン 
10.12.3

Xcodeのバージョン
8.3.2

証明書の作成

キーチェーンアクセス 環境設定を開きOCSP、CRLが切になっていることを確認

証明書アシスタント 認証局に証明書を要求を選択

メールアドレスにはApple IDのメールアドレスを設定、
通称には任意の文字を設定続けるボタンを押す。

証明書の保存先を指定後、キーペア情報を設定

キーチェーンアクセスを確認すると秘密キーと公開キーが追加されている


証明書のインポート

Developerサイトを開き、Certificatesの追加ボタンを押す

今回はDeveloper用の証明書をインポート

先ほど作成した証明書を指定してインポートし、証明書をダウンロード

ダウンロードした証明書をダブルクリックしてログインのキーチェーンに追加されていることを確認

簡単なアプリを作成

xcodeのウィザードに従ってSingle New Application 「KnlAp01」を作成

Display NameにKnlAp01、Bundle Identifierにjp.ne.kernel-net.KnlAp01

コンパイルしてエラーが出ないことを確認

iOS DeveloperサイトにApp IDを登録

再度、iOS DeveloperサイトにログインしてApp IDsの追加ボタンを選択

App ID Descriptionにはアプリの説明を記載「KnlAp01」
App ID PrefixにはTeam IDと記載されているIDを選択
※自分が使っているのが法人向けのApple Developer ProgramだからTeam IDと表示されるのか不明?
App ID SuffixはExplicit App IDを選択してアプリに設定したBundle IDを設定

以上で登録完了

今まではProvisioning Profilesも作成していたが、今はXcodeで自動作成させるのが主流?

Xcodeにapple IDを設定

xcodeを起動してxcodeメニューのpreferencesを選択
画面したの+ボタンを押して使用するAplle ID を登録し、Download All Profilesを実行

以前はここからProvisioning Profilesを見ることができたが今はできないらしい。

xcodeに戻ってSigningのteamを選択するとProfilesが勝手似設定される

以上

GeoServerのタイル画像上のラベルが表示されない件

GeoServerでラベル付きポイントを描画するとラベルが描画されないことがある。

ポイントがタイルの際に位置しているとラベルが描画されない。

clip_2

この障害はOpenLayersからGeoServerを「singleTile: false」で呼び出していると顕著に発生

[code]
var obj = new OpenLayers.Layer.WMS(
"id_layer",
"../geoserver/suzuki/wms",
{
LAYERS: ‘shop’,
format: ‘image/png’,
transparent: true
},
{
singleTile: false
}
);
[/code]

対策としてはsingleTileをtrueにしてタイルの際を少なくすることによって対応をとるか、
スタイルのVendorOptionに以下を追加して対応
[code]
<VendorOptizon name="partials">true</VendorOption>
[/code]

clip_4

GeoServerのスタイルに設定可能なFeatureTypeStyleの最大

GeoServerのスタイルに50個のFeatureTypeStyleを設定して、項目の値に応じて50パターンのスタイルを表示しようとしたが
どうも45個を超えたあたりで何も表示されなくなった。

[code]
<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
xmlns="http://www.opengis.net/sld"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NamedLayer>
<Name>railroad ex</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<Name>style1</Name>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>symbol_index</ogc:PropertyName>
<ogc:Literal>1</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#e60000</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
省略
<FeatureTypeStyle>
<Rule>
<Name>style51</Name>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>symbol_index</ogc:PropertyName>
<ogc:Literal>51</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#002673</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
<FeatureTypeStyle>
<Rule>
<Name>style52</Name>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>symbol_index</ogc:PropertyName>
<ogc:Literal>52</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#ff73df</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
[/code]

そのため10種類ぐらいで使うように変更
[code]
<?xml version="1.0" encoding="ISO-8859-1"?>
<StyledLayerDescriptor version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
xmlns="http://www.opengis.net/sld"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NamedLayer>
<Name>trade area</Name>
<UserStyle>
<FeatureTypeStyle>
<Rule>
<Name>style1</Name>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:Function name="in">
<ogc:PropertyName>symbol_index</ogc:PropertyName>
<ogc:Literal>1</ogc:Literal>
<ogc:Literal>14</ogc:Literal>
<ogc:Literal>27</ogc:Literal>
<ogc:Literal>40</ogc:Literal>
</ogc:Function>
<ogc:Literal>true</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#e60000</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
省略
<FeatureTypeStyle>
<Rule>
<Name>style13</Name>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:Function name="in">
<ogc:PropertyName>symbol_index</ogc:PropertyName>
<ogc:Literal>13</ogc:Literal>
<ogc:Literal>26</ogc:Literal>
<ogc:Literal>39</ogc:Literal>
<ogc:Literal>52</ogc:Literal>
</ogc:Function>
<ogc:Literal>true</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<PolygonSymbolizer>
<Stroke>
<CssParameter name="stroke">#ff73df</CssParameter>
<CssParameter name="stroke-width">3</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>

[/code]

ICONをPNGに変換

iconをpngに変換するには「ToYcon.exe」が便利。
背景透明も正しく反映してくれる。

PythonでQgsMapCanvasItemの派生クラスを作成

QgsMapCanvasItemとは

QgsMapCanvasItemはQgsMapCanvas上に固定表示されるクラス

QgsMapCanvasItemからさ区政されたクラスにはQgsPointRotationItem、QgsAnnotationItem、QgsVertexMarker がある。

QGISメニューの文字注記、HTMLアノテーション等が該当するクラス。

clip_7

QgsMapCanvasItemからの派生

今回はQgsMapCanvasItemから派生したCopyrightItemを作成して地図上にCopyrightを表示
ポイントとしては基底クラスであるQGraphicsItemのメンバー変数にDataに文字列「AnnotationItem」をセット
これがないと描画されない。
またメンバー関数paintを可変引数にすること。
QgsMapCanvasItemには引数が異なるpaint関数が存在する。
これに対応するために。

# -*- coding: utf-8 -*-
# Import the PyQt and QGIS libraries
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
from qgis.gui import *

class CopyrightItem(QgsMapCanvasItem): 
    def __init__(self, canvas): 
        QgsMapCanvasItem.__init__(self, canvas)
        self.center = QgsPoint(0, 0)
        self.size   = 100
        self.canvas = canvas
        super(CopyrightItem,self).setData(0,"AnnotationItem")

    def setCenter(self, center): 
        self.center = center

    def center(self):
        return self.center

    def setSize(self, size):
        self.size = size 

    def size(self):
        return self.size

    def boundingRect(self):
        return QRectF(self.center.x() - self.size/2, self.center.y() - self.size/2, self.center.x() + self.size/2, self.center.y() + self.size/2)

    def paint(self, painter, *args):
        painter.drawText(200,200, "CopyrightItem")

    def updatePosition(self):
        self.setCenter(self.center)



MYSQL ユーザー作成

管理者権限

ローカルホスト
grant all on データベース名.* to ユーザー名@localhost identified by ‘パスワード’
リモートホスト
grant all on データベース名.* to ユーザー名@’%’ identified by ‘パスワード’

照会権限

ローカルホスト
grant select on データベース名.* to ユーザー名@localhost identified by ‘パスワード’
リモートホスト
grant select on データベース名.* to ユーザー名@”%” identified by ‘パスワード’

その他の権限

createテーブル作成
alterテーブル変更
dropテーブル削除
select,update,insert,delete,truncateその他

JQuery UI のDialog上にSlickGridを配置するとBorderの一部が表示されない

JQuery UI のDialog上にSlickGridを配置するとBorderの一部が表示されない

clip_2

JQuery UI のDialogのpaddingを以下に変更すると正しく表示される

以下のスタイルを追加

.ui-dialog{
	padding: 10px !important ;
}
.ui-dialog-content{
	padding: 10px !important ;
}

clip_6

OPenLayersでVectorのPointにアイコン設定

OpenLayersにはMarkerがあり、ポイントをアイコンで表示する時に非常に便利に使える。
同様にVectorにもPointがあり、これにもアイコンが設定できそう。

とりあえずリンク

http://gis.stackexchange.com/questions/33141/change-icon-of-single-vector-feature-in-layer

http://www.codechewing.com/library/add-external-graphic-icon-to-geometry-point-openlayers/

http://www.codechewing.com/demo/add-icon-to-geometry-point-openlayers/

OpenLayers タイルサーバー

以下もとりあえず、リンク

http://www.finds.jp/docs/tms/index.html.ja