Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara mengonversi SDO_GEOMTRY di GeoJSON

Ini menggunakan versi cx_Oracle (yang belum dirilis) yang mendukung pengikatan objek dan penggunaan objek yang lebih canggih lainnya. Menggunakan contoh yang disediakan dengan cx_Oracle untuk mendemonstrasikan penyisipan geometri, kode berikut akan mengubah objek yang dibuat dengan cara itu menjadi JSON. Fungsi ObjectRepr() yang disertakan di bawah ini harus berfungsi untuk objek apa pun yang dikembalikan dari Oracle. Itu hanya membaca metadata pada objek dan mengubah objek menjadi kamus atribut atau daftar nilai.

import cx_Oracle
import json

connection = cx_Oracle.Connection("user/[email protected]")
typeObj = connection.gettype("SDO_GEOMETRY")
cursor = connection.cursor()
cursor.execute("""
        select Geometry
        from TestGeometry
        where IntCol = 1""")
obj, = cursor.fetchone()

def ObjectRepr(obj):
    if obj.type.iscollection:
        returnValue = []
        for value in obj.aslist():
            if isinstance(value, cx_Oracle.Object):
                value = ObjectRepr(value)
            returnValue.append(value)
    else:
        returnValue = {}
        for attr in obj.type.attributes:
            value = getattr(obj, attr.name)
            if value is None:
                continue
            elif isinstance(value, cx_Oracle.Object):
                value = ObjectRepr(value)
            returnValue[attr.name] = value
    return returnValue

print("JSON:", json.dumps(ObjectRepr(obj)))



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Membuat .jks dari file .crt dan .key, apakah itu mungkin

  2. Manajemen Jendela dalam Formulir Oracle D2k

  3. Pilih dari tabel jika catatan ditemukan di tabel lain

  4. Oracle SQL:Perbarui tabel dengan data dari tabel lain

  5. Bagaimana cara membuat tabel dengan batasan saat menarik data dari tabel lain?