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”。但是如何将“坐标”加载到我的表格字段中?

该领域的属性是什么?(十进制,整数,...?)

4

4 回答 4

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 回答
1

您可以将坐标作为单个文本字段输入,也可以为其创建单独的表格。

于 2013-01-16T12:43:46.520 回答
0

遵循数据库规范化原则(更准确的第一范式)你应该有你的领域的解剖结构,即每一列应该负责表示单个值。

根据您的域,每个坐标可以在不同的列甚至表内...

例如,如果您有一个域对象 City,那么表 City 可能类似于:

________________________________________________
|---|----------|-----------|------|------------|
|id | latitude | longitude | name | population |
|___|__________|___________|______|____________|
  • 请注意,以下原则适用于关系数据库。
于 2013-01-16T12:49:01.453 回答
0

你是什​​么DBMS?

如果您使用 MySQL 之类的关系 DBMS,请将数据保存在文本字段中,然后使用 PHPimplodeexplode函数来操作这些数据。您也可以将其保存在另一个单独的表中,并JOIN在 SQL 查询中调用表达式(借助GROUP BYand group_concat())来获取数据。

如果您使用像 MongoDB 这样的基于文档的 DBMS,请随意将coords字段保存为浮点数组。

于 2013-01-16T12:53:12.693 回答