Ko'proq

Postgis serverida saqlangan OSM ma'lumotlaridan rastrli plitkalarni ko'rsatish

Postgis serverida saqlangan OSM ma'lumotlaridan rastrli plitkalarni ko'rsatish


Yaqinda menga postgis do'konidan olingan ma'lumotlardan plitkalarga xizmat ko'rsatadigan rastrli kafel serverini o'rnatish vazifasi yuklandi.

Men vektorli kafel serverini ishga tushirishga muvaffaq bo'ldim, lekin men rastrli kafel serveri bitida qolib ketdim. Xom ma'lumotlar shunday ko'rinadi (misol qatori, bu asosan Shveytsariyadagi barcha ko'chalarning ro'yxati):

{id: 1537021, osm_id: '317400638', osm_name: null, osm_meta: null, osm_source_id: '3236568222', osm_target_id: '3236568210', clazz: 72, bayroqlar: 6, manba: 1216745, maqsad: 12167466 knot: 10, baho: 0,004894615, reverse_cost: 0,004894615, x1: 8,1708598, y1: 47,4290024, x2: 8,1707774, y2: 47,4285814, geom_way: «0102000020E610000003000000F7668AEF7A572040E8F3F68CE9B64740AEC2C1397E572040DBAC5516E0B64740B5CAA7227057204042565CC1DBB64740"}

Ushbu ma'lumotni hisobga olgan holda, rastrli plitkalarni yaratishning eng yaxshi usuli qanday bo'ladi?

Men vektorli geoJSON ma'lumotlarini quyidagicha tayyorlashga muvaffaq bo'ldim:

Osm_name ni Xususiyat sifatida tanlang, ST_ASGEOJSON (geom_way) geometrik sifatida ch_2po_4pgr QAYERDA ST_Intersects (ch_2po_4pgr.geom_way, ST_SetSRID (ST_MakeBox2D (ST_Point ($ 1, $ 2), ST_Point)), $ 43, $ 4)

Ko'pgina darsliklar Mapnik va shaklli ma'lumotlar manbasidan foydalanish bilan bog'liq ko'rinadi, lekin menda bu postgis jadvali :(


Sizning holatingizda, WMS xizmatini mapserver yoki shunga o'xshash biror narsa yordamida o'rnatishni va keyin WMS so'nggi nuqtasidan plitalar so'rashni tavsiya qilaman.

http://mapserver.org/ogc/wms_server.html

Bu juda moslashuvchan yondashuv, chunki orqa tomondan siz TMS plitalarining aniq ta'riflari (indekslar va qutilar va boshqalar) haqida qayg'urmasligingiz kerak. Buning o'rniga, oldingi mijozga ma'lumotlaringizning qaysi qismi har bir kafelga tegishli ekanligi haqida tashvishlansin. Masalan, varaqada to'g'ridan -to'g'ri WMS qatlami ko'rsatilishi mumkin:

http://leafletjs.com/reference.html#tilelayer-wms

Bu yondashuvning cheklanishi chekkadagi geometriyadir, lekin bu asosan nuqtalarga taalluqlidir (plitka chetiga yaqin bo'lgan nuqtaning simbologiyasi kesilishi mumkin, chunki u faqat nuqta o'z ichiga olgan kafelga chiziladi). Yagona WMS qatlami bu holatda yordam berishi mumkin, qarang:

https://github.com/Leaflet/Leaflet/issues/558#issuecomment-61626718


Videoni tomosha qiling: 2019: OSM data processing with PostgreSQLPostGIS