1
mysql> show create table places\G;
*************************** 1. row ***************************
Table: places
Create Table: CREATE TABLE `places` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
`name_full` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`network_id` int(11) DEFAULT NULL,
`fence_ll` polygon NOT NULL,
`fence_utm` polygon NOT NULL,
`area` bigint(20) NOT NULL,
`created_at` bigint(20) DEFAULT NULL,
`updated_at` bigint(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `network_id` (`network_id`),
CONSTRAINT `places_ibfk_1` FOREIGN KEY (`network_id`) REFERENCES `networks` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
1 row in set (0.01 sec)
Dies ist meine Frage:Wurde mein Polygon korrekt in die Datenbank eingefügt?
INSERT IGNORE INTO places(name, fence_ll, fence_utm, area, created_at)
VALUES('West Covina',
GeomFromText('POLYGON((34.08166844698419 -118.01307678222656,33.994611584814606 -118.01307678222656,33.994042291874415 -117.89566040039062,34.08280585343835 -117.89634704589844)) ', 0),
GeomFromText('POLYGON((406532.3562310586 3771674.3531455416,406436.8059323749 3762021.032807315,417280.6563504976 3761856.9033192885,417303.43441323494 3771699.900605784)) ', 0), 105355675, 1471220285)
Der Befehl fügt den Datensatz korrekt, aber aus irgendeinem Grund fence_ll
und fence_utm
sind leer.
*************************** 5. row ***************************
id: 11
name: Los Angeles
name_full: NULL
network_id: NULL
fence_ll:
fence_utm:
area: 6859688899
created_at: 1471220285
updated_at: NULL
Meine Sorge ist, dass die polygon
Punkte zu präzise sind. Wenn ja, auf welche Dezimalstellen sollte ich die Punkte abschneiden?
Dank Tim. Sind die Ziffern wichtig (sollte ich es abschneiden)? Wird es die Leistung beeinträchtigen? – TIMEX
@TIMEX Ich weiß nicht über Präzision, aber mein _guess_ ist, dass das Schlimmste, was passieren wird, ist, dass Sie Kürzung (oder vielleicht Rundung) bekommen werden. Sie sollten die Polygon-Genauigkeit überprüfen, statt anzunehmen, dass sie 14 Genauigkeitsziffern verarbeiten kann. –