1

私はこのようなJSONファイルを持っています:

{
    "wijken": {
        "11": {
            "coords": "3.79073170001967,51.1717753664505,0 3.79020920176376,51.1723018883706,0 3.78989543642226,51.1729670713336,0 3.78983091856725,51.1736482209016,0 3.79035112720225,51.174896701853,0 3.79089521566258,51.1755715564749,0 3.7915999971046,51.1759188204827,0 3.79248490395883,51.1767623261609,0 3.79147318323356,51.1776832394604,0 ",
            "id": "kml_1",
            "fid": "0",
            "wijziging": "Ja",
            "nieuwnr": "11",
            "naam": "Noordoost",
            "wijk": "Kanaaldorpen en -zone",
            "wijknr": "11",
            "objectid": "1",
            "area": "0",
            "len": "0"
        }
...

次に、このデータをデータベースにロードします。これは「id」と「wijk」で機能します。しかし、どうすれば「座標」をテーブルフィールドにロードできますか?

そして、フィールドのプロパティは何ですか?(decimal、int、...?)

4

4 に答える 4

1

座標を単一のテキストフィールドとして表示することも、別のテーブルを作成することもできます。

于 2013-01-16T12:43:46.520 に答える
1

どのデータベースを使用していますか?一部のエンジン(MS SQL Serverなど)には、そのための独自のタイプがあります。GEOGRAPHY

MySQLまたはpostgreSQLを使用している場合、通常の方法は、Google Maps APIのドキュメントに示されているように、そのための新しいテーブルを作成することです。

CREATE TABLE `markers` (
  `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  `name` VARCHAR( 60 ) NOT NULL ,
  `address` VARCHAR( 80 ) NOT NULL ,
  `lat` FLOAT( 10, 6 ) NOT NULL ,
  `lng` FLOAT( 10, 6 ) NOT NULL ,
  `type` VARCHAR( 30 ) NOT NULL
) ENGINE = MYISAM ;
于 2013-01-16T12:49:05.480 に答える
0

データベースの正規化の原則(より正確には第一正規形)に従うと、フィールドの解剖学的構造が必要になります。つまり、各列が単一の値の表現を担当する必要があります。

ドメインに応じて、各座標は異なる列またはテーブル内に配置できます...

たとえば、ドメインオブジェクトCityがある場合、テーブルCityは次のようになります。

________________________________________________
|---|----------|-----------|------|------------|
|id | latitude | longitude | name | population |
|___|__________|___________|______|____________|
  • 次の原則がリレーショナルデータベースに適用されることに注意してください。
于 2013-01-16T12:49:01.453 に答える
0

あなたはDBMSとは何ですか?

MySQLのようなリレーショナルDBMSを使用する場合は、データをテキストフィールドに保存し、PHPimplodeexplode関数を使用してこのデータを操作します。また、別のテーブルに保存しJOIN、SQLクエリで式を呼び出して(とを使用してGROUP BYgroup_concat()データを取得することもできます。

MongoDBのようなドキュメントベースのDBMSを使用する場合は、coordsフィールドをfloatの配列として自由に保存してください。

于 2013-01-16T12:53:12.693 に答える