ネイティブRubyバインディングを使用してGEOSをインストールするにはどうすればよいですか?

user513951

GEOSは、Java TopologySuiteのC ++ポートです。ジオメトリと地理空間処理を可能にし、PostgreSQLのPostGISの下にあるライブラリです。PostGISではなくRubyで直接操作したいのですが、ネイティブのRubyバインディングがあることは知っていますが、オンラインのドキュメントはまばらで、インストールにはバグがあります。Rubyバインディングを有効にしてGEOSをインストールするにはどうすればよいですか?

user513951

1.Swigをコンパイルしてインストールします

Ubuntu

sudo apt-get install swig

Mac OS X

swigソースコードをダウンロードして解凍します解凍されたディレクトリ:

./configure --without-pcre
make && sudo make install

(または使用しますbrew install。)

2.GEOSをダウンロードして構成します

GEOSソースコードをダウンロードして解凍します解凍されたディレクトリ:

./configure --enable-ruby

示すステータス行を探しSwig: trueRuby bindings: true

3.GEOSをコンパイルしてインストールします

コンパイルしてインストールしてみてください:

make && sudo make install

makeエラーlibrary not found for -llibruby.2.0.0.dylib終了する場合、これはGEOS(現在のバージョン3.4.2)のバグが原因です。次のコマンドを実行してconfigureファイルを修正します

sed -i -e 's/RUBY_SO_NAME=.*/RUBY_SO_NAME=ruby/' configure

次に、ステップ2に戻ります。)

4.リンクを設定します

require 'geos'Rubyで使用する前に、ライブラリが正しくリンクされていることを確認する必要があります。インストールディレクトリがの出力に表示されますsudo make install

Ubuntu

デフォルトのインストールディレクトリはusr/local/libです。

Rubyプロセスを実行する前に、インストールディレクトリをに追加しLD_LIBRARY_PATHます。

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

この環境変数は、Ruby実行可能ファイルを実行するたびに設定する必要があるため、bashプロファイルに追加することをお勧めします。

Mac OS X

.soファイルのデフォルトのインストールディレクトリは、のようなものです/Library/Ruby/Site/2.0.0/universal-darwin13

Mac OS X上のRubyには.bundleファイルが必要なので、.soファイルへのシンボリックリンクを作成します。

$ cd /Library/Ruby/Site/2.0.0/universal-darwin13
$ sudo ln -s geos.so geos.bundle

これは、Ruby GEOSバインディングを永久に有効にするために、インストール時に実行する必要があるだけです。

5.RubyにGEOSをロードします

ライブラリに正しくリンクしていればrequire 'geos'、エラーを使用して確認することはできません。

$ irb
>> require 'geos'
=> true

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SELECTコンポーネントを使用してBlazorで双方向バインディングを取得するにはどうすればよいですか?

分類Dev

データバインディングを使用してコンポーネントでディレクティブを使用するにはどうすればよいですか?

分類Dev

反応ネイティブでコンパイルされたバインディングを設定するにはどうすればよいですか?

分類Dev

JPAネイティブクエリを使用してポイントタイプデータを更新するにはどうすればよいですか?

分類Dev

ブートストラップでLaravelフォームモデルバインディングを使用するにはどうすればよいですか?

分類Dev

データ バインディングを使用して ItemsControl に Z インデックスを設定するにはどうすればよいですか?

分類Dev

SSHトンネルを介してインターネットをルーティングするにはどうすればよいですか?

分類Dev

SSHトンネルを介してインターネットをルーティングするにはどうすればよいですか?

分類Dev

Androidデータバインディングライブラリを使用してRecyclerViewでSortedListを使用するにはどうすればよいですか?

分類Dev

バインディングを使用してJavaFXTextFieldのテキストを自動的に変更するにはどうすればよいですか?

分類Dev

バインディングパラメータとして絶対ファイルパスを使用するにはどうすればよいですか?

分類Dev

雄弁でlaravelを使用したネストされたイーガーローディングを使用して、別のテーブルで外部キー名を取得するにはどうすればよいですか?

分類Dev

vue.jsインスタンスからカスタムネイティブWebコンポーネントへの双方向バインディングを作成するにはどうすればよいですか?

分類Dev

USBスティックから代替ディスクを使用してUbuntuをインストールするにはどうすればよいですか?

分類Dev

C#でリストとページのバインディングを使用してDataTemplateを作成するにはどうすればよいですか?

分類Dev

コンポーネントにディレクティブのバインディングが含まれているかどうかを確認するにはどうすればよいですか

分類Dev

インタラクティブツールを使用してMATLABで画像をトリミングするにはどうすればよいですか?

分類Dev

単純なPythonコーディング:テキストファイルを変数として使用するにはどうすればよいですか?

分類Dev

データバインディングを使用して、オブジェクトのリストボックスからテキストブロックにデータを表示するにはどうすればよいですか?

分類Dev

反応ネイティブでsvgイメージパスを使用してsvgアイコンを表示するにはどうすればよいですか?

分類Dev

データバインディングとナビゲーションコンポーネントを使用してネストされたビューにアクセスするにはどうすればよいですか?

分類Dev

相対バインディングを使用して、IsEnabledをテンプレートの子に渡すにはどうすればよいですか?

分類Dev

2方向バインディングを使用してディレクティブスコープのモデルに動的に名前を付けるにはどうすればよいですか?

分類Dev

デバイスを特定のルートにルーティングし、フックを機能させるにはどうすればよいですか?

分類Dev

Knockout.jsカスタムバインディングを使用してテキストフィールドのコンテンツを処理するにはどうすればよいですか?

分類Dev

データバインディングを使用してXMLでオブジェクト配列を表すにはどうすればよいですか?

分類Dev

ネイティブC ++のCOMを使用してC#のインターフェイスを実装するにはどうすればよいですか?

分類Dev

Androidビューバインディングライブラリでバインディングを作成したくないビューコンポーネントを無視するにはどうすればよいですか?

分類Dev

バインディングを使用してこのカスタムモーダルを閉じるにはどうすればよいですか?

Related 関連記事

  1. 1

    SELECTコンポーネントを使用してBlazorで双方向バインディングを取得するにはどうすればよいですか?

  2. 2

    データバインディングを使用してコンポーネントでディレクティブを使用するにはどうすればよいですか?

  3. 3

    反応ネイティブでコンパイルされたバインディングを設定するにはどうすればよいですか?

  4. 4

    JPAネイティブクエリを使用してポイントタイプデータを更新するにはどうすればよいですか?

  5. 5

    ブートストラップでLaravelフォームモデルバインディングを使用するにはどうすればよいですか?

  6. 6

    データ バインディングを使用して ItemsControl に Z インデックスを設定するにはどうすればよいですか?

  7. 7

    SSHトンネルを介してインターネットをルーティングするにはどうすればよいですか?

  8. 8

    SSHトンネルを介してインターネットをルーティングするにはどうすればよいですか?

  9. 9

    Androidデータバインディングライブラリを使用してRecyclerViewでSortedListを使用するにはどうすればよいですか?

  10. 10

    バインディングを使用してJavaFXTextFieldのテキストを自動的に変更するにはどうすればよいですか?

  11. 11

    バインディングパラメータとして絶対ファイルパスを使用するにはどうすればよいですか?

  12. 12

    雄弁でlaravelを使用したネストされたイーガーローディングを使用して、別のテーブルで外部キー名を取得するにはどうすればよいですか?

  13. 13

    vue.jsインスタンスからカスタムネイティブWebコンポーネントへの双方向バインディングを作成するにはどうすればよいですか?

  14. 14

    USBスティックから代替ディスクを使用してUbuntuをインストールするにはどうすればよいですか?

  15. 15

    C#でリストとページのバインディングを使用してDataTemplateを作成するにはどうすればよいですか?

  16. 16

    コンポーネントにディレクティブのバインディングが含まれているかどうかを確認するにはどうすればよいですか

  17. 17

    インタラクティブツールを使用してMATLABで画像をトリミングするにはどうすればよいですか?

  18. 18

    単純なPythonコーディング:テキストファイルを変数として使用するにはどうすればよいですか?

  19. 19

    データバインディングを使用して、オブジェクトのリストボックスからテキストブロックにデータを表示するにはどうすればよいですか?

  20. 20

    反応ネイティブでsvgイメージパスを使用してsvgアイコンを表示するにはどうすればよいですか?

  21. 21

    データバインディングとナビゲーションコンポーネントを使用してネストされたビューにアクセスするにはどうすればよいですか?

  22. 22

    相対バインディングを使用して、IsEnabledをテンプレートの子に渡すにはどうすればよいですか?

  23. 23

    2方向バインディングを使用してディレクティブスコープのモデルに動的に名前を付けるにはどうすればよいですか?

  24. 24

    デバイスを特定のルートにルーティングし、フックを機能させるにはどうすればよいですか?

  25. 25

    Knockout.jsカスタムバインディングを使用してテキストフィールドのコンテンツを処理するにはどうすればよいですか?

  26. 26

    データバインディングを使用してXMLでオブジェクト配列を表すにはどうすればよいですか?

  27. 27

    ネイティブC ++のCOMを使用してC#のインターフェイスを実装するにはどうすればよいですか?

  28. 28

    Androidビューバインディングライブラリでバインディングを作成したくないビューコンポーネントを無視するにはどうすればよいですか?

  29. 29

    バインディングを使用してこのカスタムモーダルを閉じるにはどうすればよいですか?

ホットタグ

アーカイブ