Записки программиста, обо всем и ни о чем. Но, наверное, больше профессионального.

2010-06-14

Генерализация

Четыре секунды система решает задачу «точка в полигоне» если ничего не делать. И одну десятую секунды, если провести генерализацию слоя данных. При этом на экране картинки одинакие. А если на глаз разницы не видно, зачем возиться с тяжеловесными данными?

So, my simple fix was to use ArcToolbox and perform a generalization operation against the layer. You GIS folks should be familiar with that type of thing. In short, it removes superfluous geometry in the shape. Instead of 1000 points along a curve, it can reduce it to say, 100. Visually, you can normally not tell the difference. But, to be on the safe side, I left the original layer alone, and just made a copy. Then, I use that copy in all all my identify operations instead of the original.

Yes, it does create extra overhead and some additional logic in your app, but the run time processing saving is huge. My 4 sec response times have been cut to under 100 millisecs. Yeah, its that big of a difference. So, in my mind, totally worth the extra effort.

roktech.net/devblog/index.cfm/2010/6/4/ArcGIS-Server-Identify-Operations-Slow

В идеальном мире данные бы хранились с максимально возможной точностью, а использовалась бы версия данных, предоставляющая минимально необходимую точность, нужную для конкретного случая. Автоматически. А пока приходится человеку принимать решения, когда и какую версию данных использовать. Чаще всего принимается решение использовать единственную версию, ту, которая хранится в БД. Потому как лень рукаме делать генерализацию и настраивать использование нужной версии данных.

Комментариев нет:

Отправить комментарий

Архив блога

Ярлыки

linux (241) python (191) citation (186) web-develop (170) gov.ru (159) video (124) бытовуха (115) sysadm (100) GIS (97) Zope(Plone) (88) бурчалки (84) Book (83) programming (82) грабли (77) Fun (76) development (73) windsurfing (72) Microsoft (64) hiload (62) internet provider (57) opensource (57) security (57) опыт (55) movie (52) Wisdom (51) ML (47) driving (45) hardware (45) language (45) money (42) JS (41) curse (40) bigdata (39) DBMS (38) ArcGIS (34) history (31) PDA (30) howto (30) holyday (29) Google (27) Oracle (27) tourism (27) virtbox (27) health (26) vacation (24) AI (23) Autodesk (23) SQL (23) Java (22) humor (22) knowledge (22) translate (20) CSS (19) cheatsheet (19) hack (19) Apache (16) Manager (15) web-browser (15) Никонов (15) Klaipeda (14) functional programming (14) happiness (14) music (14) todo (14) PHP (13) course (13) scala (13) weapon (13) HTTP. Apache (12) SSH (12) frameworks (12) hero (12) im (12) settings (12) HTML (11) SciTE (11) USA (11) crypto (11) game (11) map (11) HTTPD (9) ODF (9) Photo (9) купи/продай (9) benchmark (8) documentation (8) 3D (7) CS (7) DNS (7) NoSQL (7) cloud (7) django (7) gun (7) matroska (7) telephony (7) Microsoft Office (6) VCS (6) bluetooth (6) pidgin (6) proxy (6) Donald Knuth (5) ETL (5) NVIDIA (5) Palanga (5) REST (5) bash (5) flash (5) keyboard (5) price (5) samba (5) CGI (4) LISP (4) RoR (4) cache (4) car (4) display (4) holywar (4) nginx (4) pistol (4) spark (4) xml (4) Лебедев (4) IDE (3) IE8 (3) J2EE (3) NTFS (3) RDP (3) holiday (3) mount (3) Гоблин (3) кухня (3) урюк (3) AMQP (2) ERP (2) IE7 (2) NAS (2) Naudoc (2) PDF (2) address (2) air (2) british (2) coffee (2) fitness (2) font (2) ftp (2) fuckup (2) messaging (2) notify (2) sharepoint (2) ssl/tls (2) stardict (2) tests (2) tunnel (2) udev (2) APT (1) CRUD (1) Canyonlands (1) Cyprus (1) DVDShrink (1) Jabber (1) K9Copy (1) Matlab (1) Portugal (1) VBA (1) WD My Book (1) autoit (1) bike (1) cannabis (1) chat (1) concurrent (1) dbf (1) ext4 (1) idioten (1) join (1) krusader (1) license (1) life (1) migration (1) mindmap (1) navitel (1) pneumatic weapon (1) quiz (1) regexp (1) robot (1) science (1) serialization (1) spatial (1) tie (1) vim (1) Науру (1) крысы (1) налоги (1) пианино (1)