2017-08-03 13 views
0

私のエリア内の関心のあるポイントを管理するNode.jsアプリケーションを構築しています。 wkxを使用してlatlong座標をWKBバッファに変換してPOIを挿入し、それをMySQLのPOINTカラムに挿入します。クエリはKnex.jsで構築されます。クエリの外観は次のようになります。WKBをMySQLのPOINTカラムに挿入できません

INSERT INTO `places` (`name`, `coordinate`) 
    VALUES ('Null Island', X'00000000010100000000000000000000000000000000000000') 

Cannot get geometry object from data you send to the GEOMETRY fieldがスローされます。

それは、このなるように、私はそれとティンカー製:

INSERT INTO `places` (`name`, `coordinate`) 
    VALUES ('Null Island', UNHEX('00000000010100000000000000000000000000000000000000')) 

しかし、それはまだ動作しません。私はついにそれがST_GEOMFROMTEXT(0 0)を使用することによってのみ動作するようになる。そして、このようにねじ回しても動作します:

INSERT INTO `places` (`name`, `coordinate`) 
    VALUES ('Null Island', UNHEX(HEX(ST_GEOMFROMTEXT('POINT(0 0)'))) 

何が問題なのですか?どうすればバッファから直接動作させることができますか? 私の問題はthis oneと似ていると思われます。 MySQL Reference Manual on Supported Spatial Data Formatsから

答えて

0

:内部

、WKTまたはWKB形式のいずれかと同一ではない形式でのMySQLを格納するジオメトリ値。 (内部フォーマットはSRIDを示すためにWKBようしかし最初4バイトである。)

したがって、(例えばwkxによって生成されたものなど)を挿入WKB値はを直接行うことはできません。その代わりに、here.

のように ST_GEOMFROMWKB()を使用してください
関連する問題