2016-05-26 13 views
3

PHP, wie kann ich einen Wert in POINT Datentyp in eine Zeichenfolge wie POINT (-34.601020 -58.371020) (ein ouput in WKT oder GeoJSON ist vorzuziehen)Konvertieren von MySQL POINT in Text in PHP

konvertieren Wenn ich die Rohwert Echo, ich seltsame Charaktere.

Ich habe versucht mit bin2hex und dann versucht, das Hex zu String, aber ohne Glück zu konvertieren.

Ich kenne MySQL AsText(), aber ich möchte es in PHP tun.

+0

Warum die 'AsText' Funktion nicht verwenden? Das interne MySQL-Format dafür sollte PHP nicht unbedingt verstehen. Halte deine Sorgen getrennt. – tadman

+0

@tadman Sagen wir, ich kann den Code, in dem die Abfrage erstellt wird, nicht ändern, also versuche ich die 'AsText' -Funktion in PHP –

+0

handgemacht Dies könnte ein Kampf sein, den Sie nicht gewinnen können. Viel Glück. – tadman

Antwort

3

Endlich habe ich das funktioniert !!!

hatte ich unpack zu verwenden, um die Binärdaten von MySQL

$point_value = $data_from_db["point_field"]; 

$coordinates = unpack('x/x/x/x/corder/Ltype/dlat/dlon', $point_value); 

echo $coordinates['lat']; 
echo $coordinates['lon']; 

Here ist ein tutotial zu extrahieren, die mich mit diesem Thema half