我有一个像这样的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”。但是如何将“coords”加载到我的表格字段中?
该领域的特性是什么? (十进制,整数,......?)
答案 0 :(得分:1)
你可以将coords作为单个文本字段,或者你可以为它创建一个单独的表。
答案 1 :(得分:1)
您使用的数据库是什么?某些引擎(如MS SQL Server)有自己的类型:GEOGRAPHY
如果您使用MySQL或postgreSQL,通常的方法是为此创建一个新表,正如您在Google Maps API documentation中看到的那样:
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 ;
答案 2 :(得分:0)
遵循数据库规范化原则(更准确first normal form),您应该拥有字段的解剖结构,即每列应该负责表示单个值。
根据您的域名,每个坐标可以位于不同的列甚至表格中......
例如,如果您有一个域对象City,则表City可能类似于:
________________________________________________
|---|----------|-----------|------|------------|
|id | latitude | longitude | name | population |
|___|__________|___________|______|____________|
答案 3 :(得分:0)
你是什么DBMS?
如果您使用像MySQL这样的关系型DBMS,请将数据保存在文本字段中,并使用PHP implode
和explode
函数来操作此数据。您还可以将其保存在另一个单独的表中,并在SQL查询中调用JOIN
表达式(在GROUP BY
和group_concat()
的帮助下)以获取数据。
如果您使用像MongoDB这样的基于文档的DBMS,请随意将coords
字段保存为float数组。