Daha çox

PostGIS-də (ayrıca GeoServer və OpenLayers) xüsusi proqnozlarla (prj faylından) məşğul olmaq


Əsasən PostGIS-də məsafəli hesablamalar kimi məkan sorğularını müxtəlif proqnozlu formalı formalı formalı məlumatlardan istifadə edərək yerinə yetirmək istəyirəm, bəzilərində tapa biləcəyim bir SRID kodu yoxdur və python osr paketinin işləyə biləcəyi görünmür. Mən nə edirəm? Proqnozlar və onlarla necə məşğul olmağım barədə az məlumatım var.

Tam hekayə:

OpenLayers, GeoServer və PostGIS istifadə edərək bir sistem yaradıram. Mənim məlumatlarım shp2psql istifadə edərək PostGIS-ə yüklədiyim shapefile aiddir. Formalı faylların çoxunun onlarla əlaqəli .prj faylı yox idi və sadəcə uzun / lat / EPSG: 4326 kimi görünür. Lakin bəzi sənədlər üçün koordinatların açıqca dərəcə olmayan milyonlarla rəqəmi var (xoşbəxtlikdən burada .prj sənədləri var idi). PostGIS-də məlumatlar coğrafiya deyil, həndəsə sütunu kimi görünür. İndiyə qədər əsasən OpenLayers-da məlumatların göstərilməsi ilə məşğul olmuşam, buna görə yeni bir qat əlavə edərkən bir EPSG kodu göstərərək GeoServer-də proyeksiya ilə maraqlandım. Ümumiyyətlə bu 4326 idi, bir dəfə http://www.prj2epsg.org/search istifadə edərək tapdığım standart bir kod idi və bir dəfə WKT-ni epsg.properties sənədlərinə məlumat kataloqu əlavə edərək xüsusi bir proyeksiya yaratdım. O zaman OpenLayers-də hər şey yaxşı görünür; məlumatları şəxsən tanımadığımdan əmin olmaq çətindir, amma hamısı bir-birinə bənzəyir. Müştəri tərəfində (OpenLayers) proqnozlarla əlaqəli bir kod yazmaq məcburiyyətində qalmadım, hər şey uzunluq və enlik baxımından və çox asandır.

İndi, müştəriyə (məsələn, OpenLayers xəritəsinə tıklayaraq) uzunluğu və enini istifadə edərək bir nöqtənin koordinatlarını və 100 km məsafəni təyin etdiyimi düşünürəm və içərisində olan müəyyən bir təbəqədən bütün xüsusiyyətləri göstərmək istəyirəm. deyilən nöqtədən deyilən məsafə. Beləliklə, PostGIS-də belə bir şey demək istərdim:

ST_Distance (geom, ST_GeomFromText ('POINT (24 -30)')) <100000;

Hal-hazırda bu, hər şeyi qaytarır (əksər təbəqələr üçün), çünki geom sütunu coğrafiya əvəzinə bir həndəsə növüdür. Görə bildiyim qədər, hər şeyi bir coğrafiya tipinə çevirməliyəm, ehtiyac duyduğum yerlərdə 4326. Sonra GeoServer-də hər şeyi EPSG: 4326 elan edə bilməliyəm və artıq orada heç bir şey üçün narahat olmayım və ST_Distance nəticələrini sferoda hesablanan sayğaclarla verməlidir.

Ancaq bəzi məlumatlarım üçün bunu necə edəcəyimi görə bilmirəm. Məsələn, təbəqələrdən biri üçün .prj faylından mətn:

PROJCS ["SA Albers Equal Area", GEOGCS ["GCS_Hartebeesthoek_1994", DATUM ["D_Hartebeesthoek_1994", SPHEROID ["WGS_1984", 6378137.0,298.257223563]], PRIMEM ["Greenwich, 0.0, 45, 0.0," ], PROJECTION ["Albers"], PARAMETER ["False_Easting", 0.0], PARAMETER ["False_Northing", 0.0], PARAMETER ["Central_Meridian", 24.0], PARAMETER ["Standard_Parallel_1", - 24.0], PARAMETER ["Standard_" ", -33.0], PARAMETER [" Latitude_Of_Origin ", 0.0], UNIT [" Meter ", 1.0]]

Bu, Cənubi Afrika üçün bir proyeksiyadır və http://www.prj2epsg.org/search saytındakı nəticələrin heç biri uyğun görünmür. Buna görə PostGIS-də xüsusi bir proyeksiya kimi təyin etmək istəyirəm. Anladığım qədəri ilə bunun üçün WKT istifadə edə bilmirəm və proj4-də ifadə ediləcək parametrlərə ehtiyacım var. Burada gördüyüm bu piton skriptindən istifadə etməyə çalışdım:

#! / usr / bin / env python import osr import sys def main (prj_file): prj_text = open (prj_file, 'r'). read () srs = osr.SpatialReference () if srs.ImportFromWkt (prj_text): qaldırmaq ValueError ("PRJ məlumatının idxalı səhv:% s"% prj_file) print srs.ExportToProj4 () #print srs.ExportToWkt () if __name __ == "__ main__": main (sys.argv [1])

və aşağıdakıları əldə etdim:

XATA 6: Albers-dən PROJ.4 formatına heç bir tərcümə məlum deyil.

İndi necə davam edəcəyimi bilmirəm. Həm də qeyd etdiyim hər şey haqqında düşünməyimin həssas olduğunu təsdiqləmək istərdim.


1) Göründüyü kimi orijinal sənədlərinizdə (şəkillərinizdə) proqnozlar qarışığı var, bəs Postgis-ə sənədləri necə yükləyirsiniz? Xüsusilə, hansı proyeksiyanı shp2pgsql-ə parametr olaraq ötürürsünüz? Çünki düzgün xatırlayıramsa, bir srid təyin etməsəniz, Postgis bunu yerli koordinatlarda (srid 0) və düz düzəldilmiş vahidlərdə olacağını düşünür ki, bəlkə niyə həndəsə sütunlarında (proqnozlaşdırılan vahidlər) qatlarınızı görürsünüz.

2) Hırsız bir arqument olmadan ST_GeomFromText (istifadə etdiyiniz variant) heç bir məkan referansı olmayan bir həndəsi qaytarır, beləliklə bu variantdan istifadə edərək mənalı məsafə hesablamalarına ümid edə bilməzsiniz. ST_GeomFromText (geom, srid) istifadə edib daha sonra müəyyən bir proyeksiya ilə işləmək daha yaxşı olardı.

3) Postgisdəki məkan istinad cədvəlini və projektəki dəstəklənən istinad sistemlərinin siyahısını yeniləmək həqiqətən çətin deyil (istifadə etdiyiniz bir proyeksiyanı daxil etmək üçün 4 (gdal istifadə edir): Postgis üçün: http: // postgis.) refractions.net/documentation/manual-1.4/ch04.html#spatial_ref_sys gdal üçün: http://www.gdal.org/osr_tutorial.html

Xülasə edərək, qatlarınızın Postgisdə (doğru) məkan istinadına sahib olduğundan əmin olmalısınız və sonra məsafəni hesablamaq və mətndən nöqtələr yaratmaq üçün bu məkan istinadını istifadə etməlisiniz. Proqnozlarda və çevrilmələrdə bir az oxumaq zərər vermir.

* Sabit səhv linki redaktə edin


Proqnozların yaradılması ilə bağlı məlumatları Esri Saytından əldə edə bilərsiniz. Səhifənin aşağı hissəsində Əllə Yaratma hissəsinə baxın.

Burada ShapeFile Proqnozları və PostGis haqqında əla bir müzakirə var və Xüsusi Proyeksiyanı PostGis-ə əlavə etmək üçün SQL nümunəsi burada görünə bilər

Xüsusi proyeksiyanı əlavə etmək üçün SQL sizin üçün ən çox maraq doğurur ...


Gdalda bir səhv var. WKT'nizdə "Albers" -i "Albers_Conic_Equal_Area" ilə əlaqələndirməlisiniz, o zaman proj4 yaratmaq üçün istifadə etdiyiniz hər hansı bir vasitədən istifadə edə bilərsiniz.


OpenLayers 3.0 alfa xüsusiyyətlərini nümayiş etdirmək üçün bir prototip veb Xəritəçəkmə səhifəsi yaratdım.

Veb saytımızda təmin etmək üçün paleo-biomüxtəliflik xəritələrinin kitabxanası olacaqdır tarixi kontekst bioloji müxtəliflik itkilərinin mövcud dərəcəsini vurğulayan tapıntılarımıza. Hələlik bu veb saytın yaradılmasında keçmiş cəhdlərimi təsvir edirəm.

Əsrlər boyu olduğu kimi, coğrafi məlumatların çatdırılması üçün ən təsirli vasitələrdən biri də gözəl və məlumat verən bir xəritəsidir. Son bir neçə onillikdə kartoqrafik nəşrlər mətbəədən İnternetə köçürülür.

Veb Xəritəçəkmə sənətini və elmini öyrənmək üçün bir çox dağa qalxmalı oldum, əvvəlcədən hansının bioloji müxtəliflik məlumat paylaşma və Xəritəçəkmə saytımız üçün çərçivə düzəldə biləcəyim optimal elementlər qrupuna gətirib çıxaracağını bilmirdim. .

Proqram sistemimizi yaratmaq üçün araşdırdığım açıq mənbəli proqram texnologiyaları və nümunələr bunlardır:

  • GIS proqramları və mdash Quantum GIS, uDig
  • Veb proqramlaşdırma və mdash HTML, CSS, JavaScript
  • Əsas proqramlaşdırma dilləri və mdash Məqsəd-C, Python, Java, R
  • Raster məlumat formatları və mdash NetCDF, HDF5
  • Verilənlər bazası idarəetmə sistemləri və mdash PostGIS, PostgreSQL, SciDB, rasdaman, SpatiaLite
  • Verilənlər bazası GUI & mdash pgAdmin3
  • Xəritə serverləri və mdash GeoServer, MapServer
  • Müştəri tərəfli veb Xəritəçəkmə çərçivələri və mdash OpenLayers, Heron, TileMill
  • Mobil (iOS) tətbiqetmə inkişaf vasitələri və mdash Xcode
  • Kod inkişaf redaktorları və mdash Komodo, KompoZer, BlueGriffon, Coda, Aptana Studio
  • Integrated yığınlar & mdash OpenGeo Suite, BitNami Stacks, MAMP
  • Statistik paketlər & mdash R, RStudio
  • Server proqramı və mdash OS X Server, Apache
  • Məzmun idarəetmə sistemləri və çərçivələri & mdash Django, Drupal, Joomla

PostGIS-də (ayrıca GeoServer və OpenLayers) xüsusi proqnozlarla (prj faylından) məşğul olmaq - Coğrafi İnformasiya Sistemləri

Hazırda Mövzu Veb Xəritəçəkmənin arxivləşdirilmiş versiyasına baxırsınız. Yeniləmələr və ya düzəlişlər dərc edilmişdirsə, onları Veb Xəritəçəkmədə tapa bilərsiniz.

İnternet istifadəsi artdıqca bir çox kağız xəritələr skan edildi və onlayn nəşr olundu və yeni xəritələr getdikcə bir veb brauzerdə və ya mobil tətbiqetmədə baxmaq üçün dizayn edildi. Veb xəritələr statik və ya dinamik, dinamik xəritələr isə cizgi və ya interaktiv ola bilər. Kirəmitli veb xəritələr sürətli məlumatların yüklənməsinə və hamar qarşılıqlı fəaliyyətə imkan vermək üçün kirəmitli şəkillərdən istifadə edən interaktiv xəritələrdir, vektor veb xəritələri isə müştəri üzərində çox müxtəlif xəritə dizaynı yaratmağı dəstəkləyir. Veb xəritələr müştəri-server arxitekturasını təqib edir, bəzən məlumatları və xəritələri coğrafi məkan xidmətləri kimi yayımlamaq üçün istifadə olunan ixtisaslaşdırılmış xəritə serverləri ilə. Veb xəritələr bir məlumat bazasından və ya serverdəki məlumatdan, ya serverdə, ya da müştəri üzərində göstərilən stil məlumatlarından və isteğe bağlı olaraq müştəri üzərində icra olunan animasiya və ya qarşılıqlı təlimatlardan ibarətdir. Bir neçə qrafik veb platforma istifadəçi dostu veb Xəritəçəkmə həlləri təqdim edir, kommersiya və ya açıq mənbəli veb Xəritəçəkmə API istifadəçisi vasitəsilə daha çox fərdiləşdirmə mümkündür. Veb xəritələri tərtib edərkən kartoqraflar xəritənin məqsədini kəşfiyyatçı və yüksək interaktivdən tematik və daha az interaktiv və ya statik vəziyyətə, masa üstü və / və ya mobil veb kontekstindəki məhdudiyyətlərə və əlil, yaşlı və əlaqəsi zəif olan istifadəçilər üçün əlçatanlığı nəzərə almalıdırlar.

Çuval, C. (2017). Veb Xəritəçəkmə. Coğrafi İnformasiya Elmi & amp; Texnologiya Bilik (4th Quarter 2017 Edition), John P. Wilson (ed.). DOI: 10.22224 / gistbok / 2017.4.11.

Bu yazı 6 dekabr 2017-ci il tarixdə yayımlandı.

Bu Mövzu aşağıdakı nəşrlərdə də mövcuddur: DiBiase, D., et al. (2006). Veb Xəritəçəkmə və görselləşdirmə. Coğrafi İnformasiya Elmi & amp; Texnologiya Bilik. Washington, DC: Amerikan Coğrafiyaçılar Birliyi. (2-ci rüb 2016, ilk rəqəmsal).

Veb xəritə: Ümumiyyətlə bir veb səhifənin bir hissəsi olaraq yayımlanan və internet vasitəsilə əldə edilən bir xəritə. Veb xəritələr iki kateqoriyadan birinə bölünür:

Statik veb xəritələr brauzerdə göstərilən istifadəçi girişini dəyişdirməyən xəritə şəkilləridir. Bunlara, istifadəçinin şəklin özü dəyişdirmədən brauzerdəki zoom funksiyası sayəsində miqyasda artıra və ya azalda biləcəyi xəritə şəkilləri daxildir.

Dinamik veb xəritələr istifadəçi tərəfindən göründüyü kimi görünüşünü dəyişdirən veb xəritələrdir. Dinamik xəritələrin iki alt növü var:

Animasiya edilmiş veb xəritələrbir və ya daha çox məlumat atributunu təmsil etmək üçün vaxt istifadə edərək tez-tez və avtomatik olaraq dəyişdirin. Animasiya edilmiş xəritələr interaktivliyi ehtiva edə bilər və ya daxil edə bilməz, lakin ən azından istifadəçiyə animasiyanın başlanğıc nöqtəsini dayandırmağa, oynatmağa və tənzimləməyə imkan verən idarəetmələr daxildir.

İnteraktiv veb xəritələr istifadəçi girişinə cavab olaraq dəyişiklik. Bu gün xəritənin internetdə yayılması səbəbindən bir çox insan təsadüfi olaraq "veb xəritələri" interaktiv veb xəritələrin sinonimi kimi düşünür.

Fayanslı veb xəritə (sürüşkən xəritə): İstədiyiniz halda istifadəçinin brauzerinə göndərilən şəkil və ya məlumat plitələrindən istifadə edən, hamar, fasiləsiz böyüdülmə və panoramaya imkan verən interaktiv veb xəritə.

Maşup: plitələr dəstindən fərqli bir mənbədən və ya mənbələrdən bir və ya daha çox məlumat örtükləri ilə bir sıra xəritə plitələrinin birləşməsi.

Tətbiq Proqramlaşdırma İnterfeysi (API): Proqramların bir-biri ilə əlaqə qurmaq üçün istifadə etdiyi, insan tərəfindən oxunaqlı, onlayn sənədlərdə tez-tez yayımlanan bir sıra təlimat.

Ticarət veb Xəritəçəkmə API: Xüsusi bir veb Xəritəçəkmə xidmətinə daxil olmaq üçün ilk növbədə və ya müstəsna olaraq istifadə olunan kod təlimatlarının kitabxanası.

Açıq mənbə veb Xəritəçəkmə API: Xüsusi bir xidmət nəzərə alınmaqla hazırlanmayan və hər hansı bir inkişaf etdiricinin öz məqsədlərinə uyğun olaraq sərbəst şəkildə dəyişdirə biləcəyi kod təlimatlarının kitabxanası.

Zəngin internet tətbiqi (kiçik): Brauzerdə ikili proqramların tərtib edilməsi və işlədilməsi üçün hazırlanmış üçüncü bir tətbiq. Zəngin internet tətbiqləri açıq veb texnologiyalarının lehinə sürətlə yox olur.

Müştəri-server arxitekturasıKompüterlərin bir şəbəkə üzrə bir-biri ilə əlaqə qurmasına imkan verən sistem, bir kompüter proqramının (server) saxladığı və qəbul edən bir proqrama (müştəriyə) məzmunu çatdırdığı sistem.

Server: Yerli maşında saxlanılan məlumatları uzaq bir cihaza göndərən bir kompüterdə və ya bir qrup kompüterdə quraşdırılmış bir proqram.

Müştəri: Bir kompüterə quraşdırılmış və serverdən məlumat alan və sorğu göndərən bir proqram.

Sənəd Obyekt Modeli (DOM): Brauzerdə veb səhifəyə baxmaq üçün istifadə olunan elementlər, atributlar, üslublar, məlumatlar və skript obyektləri və prosedurlarının toplusu.

Xəritə server: Coğrafi məkan veb xidmətlərini dərc etmək üçün istifadə olunan xüsusi bir veb server.

Yerleşim veb xidmətləri: Bir xəritə serverinin real vaxt rejimində təqdim etdiyi, ümumiyyətlə Açıq Yerleşim Konsorsiumu (OGC) tərəfindən müəyyən edilmiş standartlara uyğun olan məlumatlar, xəritə şəkilləri və işləmə xidmətləri.

Vektor plitələr. Hər bir plitəni brauzerdə göstərmək üçün istifadə olunan ayrı bir stil təlimatı ilə çatdırılan bir xəritə xəritəsinin coğrafi ərazisini əhatə edən kiçik vektor məlumatları.

Stop Çerçeveli Animasiya: Bir çox fərdi şəkillərin (və ya çərçivələrin) sürətli ardıcıllıqla göstərilməsi ilə yaradılan animasiya.

Tweening: Proqramlı şəkildə (yəni kod vasitəsilə) həyata keçirilmiş xəritə vəziyyətləri arasında hamar bir keçid.

Qarşılıqlı əlaqə:Müştərinin vasitəçiliyi ilə istifadəçi ilə xəritə arasındakı söhbət.

İstifadəçi interfeysi (UI): İstifadəçinin görə biləcəyi və / və ya idarə edə biləcəyi səhifədəki elementlər dəsti.

AJAX (Asinxron Javascript Və Xml: Müştərinin bir serverə sorğu göndərməsinə və istifadəçinin girişinə cavab olaraq bütün veb səhifəni yenidən yükləmədən məlumat almasına imkan verən bir sıra prosedurlar.

Vizual iyerarxiya: Xəritədəki cisimlərin nisbi vizual dominantlığı, daha vacib cisimlərin daha çox əyani şəkildə üstünlük təşkil etməsi.

Güclü vizual iyerarxiya: Xəritədəki obyektlər fərqli şəkildə ziddiyyət təşkil edir və çox tanınan bir əhəmiyyət sırasına malikdir.

Zəif / düz vizual iyerarxiya: Xəritədəki obyektlər görmə baxımından müqayisə olunur və nisbi əhəmiyyət baxımından sifariş vermək çətindir.

Artıq dizayn: Xəritənin məqsədi nəzərə alınaraq həddindən artıq məlumat, həddindən artıq vizual element və ya həddindən artıq interaktivliyin daxil edilməsi, qarışıqlıq və istifadəni azaldır.

Xəritə düzeni: Bir veb xəritə üzərində və ətrafında istifadəçi interfeysi (UI) elementlərinin vizual tənzimlənməsi.

Xəritə tərkibi: Veb xəritələrin istifadəçiyə müəyyən məlumatları çatdırmaq üçün vizual olaraq quruluş yolu.

Həssas veb dizayn: Veb səhifənin məzmununun istifadəçinin ekran ölçüsünə və kontekstinə uyğun şəkildə dəyişdirilməsi üçün bir sıra metodlar.

Əlçatımlılıq: Əlilliyi olan, daha yaşlı və ya kənd yerlərində və ya inkişaf etməkdə olan ölkələrdə yaşayan insanların veb saytlardan və veb tətbiqetmələrdən istifadə etmələrini təmin etmək prinsipi.

2.1 Statik və dinamik veb xəritələr

İlk veb xəritələr, sadəcə skan edilmiş və internetə 1993-cü ildə, Mosaic veb brauzerinin tətbiqi ilə erkən internet istifadəçilərinin ilk dəfə görüntülərə baxmasına imkan verdiyi zaman çap olunmuş xəritələr idi (Peterson, 2008). Skan edilmiş xəritə şəkilləri hələ də yayılmış bir veb xəritə növüdür, əksər hallarda bunlar Adobe PDF sənədləri şəklində çatdırılır və ya istifadəçinin xəritənin bəzi hissələrini daha ətraflı görüntüləmək üçün böyütməsinə imkan verən bir görüntü çərçivəsinə yerləşdirilir (Peterson, 2014). Son illərdə kompüter ekranlarının və veb brauzerlərin dizayn məhdudiyyətlərinə artan diqqət yetirilir və indi çap xəritələrindən çıxan rəqəmsal xəritələr üçün bir çox dizayn rəhbərliyi mövcuddur (məsələn, Jenny və digərləri, 2008 Muehlenhaus, 2014 Tolochko, 2016). İstər əvvəl çap olunsun, sonra skan edilsin və ya rəqəmsal istehlak üçün bir kompüterdə yaradılsın, görünüşünü dəyişdirməyən bir veb xəritə statik veb xəritə(Şəkil 1).

Şəkil 1: Statik bir xəritənin veb üçün formatlanmış bir hissəsi. Tam xəritə veb səhifədəki şaquli sürüşməni asanlaşdırmaq üçün çox uzundur (1097x8032 piksel). Xəritə Gregor Aisch və K.K. The New York Times-dan Rebecca Lai, son olaraq 7 Fevral 2017-də yeniləndi. İcazə ilə yenidən çap olundu.

Dinamik veb xəritələrin inkişafı statik veb xəritələrin çoxalmasına paralel baş vermişdir. Dinamik veb xəritələr bir fenomendə dəyişiklik göstərmək üçün görünüşlərini tez-tez və avtomatik olaraq dəyişdirin (animasiya veb xəritələri Şəkil 2) və ya istifadəçi girişinə cavab olaraq özbaşına (interaktiv veb xəritələr) (Roth, 2013). 1994-cü ildə hazırlanmış Map Viewer veb saytı, istifadəçinin müəyyən bir nöqtədə mərkəzləşdirilmiş bənzərsiz bir xəritə istəməsinə icazə verdi (Peterson, 2014). 1996-cı ildə MapQuest, istifadəçilərin böyüdüb böyütdükləri və yan-yana çəkə biləcəkləri bir xəritəni təqdim etdi və hər bir sorğu yeni xəritə görünüşü ilə yeni bir veb səhifə yüklədi. Təxminən on il sonra MapQuest, 2005-ci ildə kirəmitli veb xəritəni təqdim edən Google tərəfindən tutuldu.

Şəkil 2: Hökumət nəzarət təyyarələri tərəfindən çəkilmiş uçuş yollarının cizgi veb xəritəsi. Orijinal xəritə bəzi qarşılıqlı əlaqələr də təmin edir. Xəritə Peter Aldhous tərəfindən, BuzzFeed News, 6 aprel 2016. İcazə ilə yenidən çap olundu.

2.2 Fayanslı veb xəritələr və masuplar

Kirəmitli veb xəritələr, həmçinin müddətli sürüşkən xəritələr, məlumatları və ya xəritə şəklini 256 x 256 piksel ölçülü plitələrə ayıraraq və brauzerin tələb etdiyi kimi istifadəçinin brauzerinə plitələr göndərərək fasiləsiz panning və böyütməyə imkan verin (Peterson, 2012 Şəkil 3). Bu canlı istəklər vasitəsilə həyata keçirilir AJAX (Asinxron JavaScript və XML), müştərinin veb səhifəni yenidən yükləmədən, xəritə ilə qarşılıqlı əlaqəni hamar və intuitiv etmədən serverdən məlumat almasına imkan verən bir sıra hesablama qaydaları. Çini xəritələr ən populyar veb xəritələr arasında qalır.

Şəkil 3. OpenStreetMap-dan bir xəritə plitəsi, yüz minlərlə ianəçinin məlumatlarından ibarət kirəmitli bir istinad xəritəsi.

Kirəmitli veb xəritələrlə yanaşı, Google, demək olar ki, bütün plitələr tərəfindən istifadə olunan Web Mercator (və ya Sferik Merkator) proyeksiyasını icad etdi və standartlaşdırdı. Bu proyeksiya sadə hesablama, düzbucaqlılıq (xəritənin şərqdən qərbə doğru davamlı olmasına imkan verir) və böyük ölçülərdə forma təhrifini azaldan uyğunluq səbəbindən faydalıdır (Muehlenhaus, 2014). Bununla birlikdə, elipsoidal proqnozlardan daha az dəqiqdir və qlobal miqyasda yüksək enli bölgələri çox təhrif edir və bunun insanların planetin şəklini təsəvvür etməsi və areal məlumatlarını necə şərh etməsi barədə təsiri ilə bağlı narahatlıqlara səbəb olur (Battersby və digərləri, 2014).

Çini örtüklü veb xəritənin meydana çıxmasını qısa müddət sonra birincisi izlədi masup. Google Xəritə veb saytını tərtib edərək ‘xəritə hakerləri’ başqa yerlərdən gələn məlumatları Google’ın şəkil plitələrinin üstünə necə qoyacağını bildilər (Crampton, 2010). Google açıq şəkildə dərc edərək cavab verdi proqram proqramlaşdırma interfeysi (API), proqramların bir-biri ilə ünsiyyət qurmaq üçün istifadə etdiyi bir sıra təlimat (Muehlenhaus, 2014). OpenLayers qısa müddət ərzində qeyri-kommersiya alternativi olaraq inkişaf etdirilsə də, Google Maps 2011-ci ildə ödənişsiz istifadəsini məhdudlaşdırmağa başlayana qədər ən çox istifadə olunan mashup generatoru olaraq qaldı. Bu nöqtədə açıq mənbə alternativləri sürətlə populyarlıq qazandı.

2.3 Zəngin internet tətbiqetmələri və vektor veb xəritələri

Çini örtüklü veb xəritələrin yaranmasından əvvəl hamar animasiya və qarşılıqlı əlaqə axtaran kartoqraflar istifadə edərək xəritələr hazırlamağa başladılar zəngin internet tətbiqetmələri, və ya brauzerinizə bir uzantı kimi daxil edilmiş üçüncü tərəf ikili tətbiqetmələr (tez-tez an kiçik). Xəritəçəkmə üçün bunlardan ən yaygın olanı, 1997-ci ildə Macromedia tərəfindən hazırlanmış və daha sonra Adobe tərəfindən satın alınan Flash idi (Peterson, 2008). Tək bir yürütülə bilən paket şəklində yükləyərək tərtib edərək, Flash ilə qurulmuş proqramlar, 56K modemlərin bant genişliyi məhdudiyyətlərini aşaraq xüsusi qrafiklərin yüksək keyfiyyətli göstərilməsi ilə hamar bir istifadəçi təcrübəsi təmin edə bildi (Roth et al., 2014). Flaş xəritələr 2010-cu illərin əvvəllərinə qədər geniş yayılmışdı, mobil əməliyyat sistemi istehsalçıları artıq mobil brauzerlərdə üçüncü tərəf tətbiqetmələrini dəstəkləməyəcəklərini elan etdikdə və veb inkişaf cəmiyyəti yerli brauzerlər tərəfindən tətbiq olunan açıq veb texnologiyalarına etibar etmək üçün hərəkət etdi (Adobe Corporate Communications, 2015).

Appletlər getdikcə kartoqrafçılar həm kirəmitli veb xəritələrə üz tutdular, həm də Web Mercator əsaslı plitələrə etibar etməyən alternativlər axtarmağa başladılar. SVG (Ölçeklenebilir Vektor Qrafikləri) standartı, hələ brauzerdə dinamik və interaktiv ola biləcək xəritələrin çəkilməsini və tərtib edilməsini təmin etdi. Bəzi brauzerlər tərəfindən qəbul edilməsi bir neçə il çəksə də və göstərmə sürəti əvvəlcə zəif olsa da, SVG indi bütün əsas brauzerlər tərəfindən dəstəklənir və təkmilləşdirilmiş bant genişliyi və qrafik prosessorları istifadəçi təcrübəsini kirəmitli veb xəritə ilə rəqabətədavam etdi (Peterson, 2008). . Daha yeni HTML Canvas elementi vektor xəttinin daha sürətli göstərilməsini dəstəkləyir, lakin qrafiki bir dəfə göstərilən raster görüntü kimi qəbul edir (Lienert və digərləri, 2012). Təsviri daha da sürətləndirmək üçün kompüterin qrafik prosessorundan istifadə edən JavaScript API'si olan WebGL istifadə edərək qarşılıqlı əlaqə və 3D səhnələr əlavə edilə bilər (Caballero, 2011).

Şəkil 4. Tarixi gəmi kapitanlarının jurnallarının araşdırılmasına imkan verən interaktiv bir vektor veb xəritəsi. Xəritə Scott Farley, Starr Moss və Meghan Kelly. İcazə ilə yenidən çap edilmişdir.

3.1 Müştəri-Server Memarlığı

Bütün veb məzmunda olduğu kimi veb xəritələr də a müştəri-server arxitekturası model (Peterson, 2014). The server kompüterdə və ya kompüter qrupunda quraşdırılmış, yerli maşında saxlanılan məlumatları uzaq bir cihaza göndərən və ya müştəri. Server eyni zamanda müştəridən sorğu və məlumatlar alır, hesablamalar aparır və məlumatları maşında saxlama sisteminə yazır. Hər bir serverin öz statik IP (İnternet Protokolu) ünvanı, müştərinin tapdığı nömrələr sırası vardır. Müştəri - istifadəçinin cihazında saxlanılan bir brauzer və ya tətbiqetmə - serverin IP ünvanına (ümumiyyətlə bir domen adı server (DNS) ünvanı, məsələn, www-dot) vasitəsilə zəng edərək server maşınında saxlanılan məlumatlar üçün sorğular edir. -Nümunə-nöqtə-com). Server veb saytın qovluğunda saxlanılan HTML sənədlərini, CSS stillərini, JavaScript proqram təlimatlarını və digər lazımi məlumatları və şəkilləri müştəriyə qaytarır. Müştəri bu məlumatları və təlimatları istifadəçinin baxdığı veb səhifəyə yığır.

“Server” sözü, yüzlərlə oxşar maşınla birlikdə bir məlumat mərkəzində oturan çox güclü bir kompüter üçün stenoqrafiya halına gəldi (Peterson, 2014). Daha dəqiq desək, bir server, hər hansı bir kompüterdə, hətta evdə və ya noutbukda yerləşə bilən, həmin kompüterdəki müəyyən bir qovluğun içərisini şəbəkəyə görünən edən bir proqramdır. Hal-hazırda ən populyar serverlər Apache, NGINX, Google Web Server və Microsoft’un IIS (Netcraft, 2017).

Müştəri tərəfində brauzer səhifələr göstərir və istifadə edərək ona göndərilən proqramları icra edir Sənəd Obyekt Modeli (DOM), veb səhifəni görmək üçün lazım olan bütün elementləri, atributları, üslubları, məlumatları və skript obyektlərini və prosedurlarını təşkil edən (Sack and Roth, 2017). Mövcud tam özellikli veb brauzerlər dəstinə (Firefox, Chrome, Internet Explorer / Edge, Safari və Opera) əlavə olaraq, müəyyən bir internet xidmətinə qoşulmaq üçün hazırlanmış tətbiqlərdən istifadə edərək mobil cihazlarda veb xəritələrə daha çox baxılır. Google Maps və Apple Maps ən məşhur xəritə tətbiqetmələridir, lakin bir çoxu var və əsas kodlaşdırma bacarıqlarına malik kartoqraflar OS istehsalçılarının tətbiq mağazalarında paylanmaq üçün özlərini qura bilərlər (Muehlenhaus, 2014).

Bir veb xəritənin əsas maddələridir məlumat, nümayəndəlikstil məlumatlarını istifadə edən məlumatların və dinamik bir xəritə olduğu təqdirdə, animasiyavə ya qarşılıqlı əlaqə(Donohue, 2014). Hər biri aşağıda növbə ilə əhatə olunacaq.

Məlumat serverin maşınında yerləşdirilir. Veb xəritələrini dinamik şəkildə göstərmək üçün istifadə olunan vektor məlumatları çox vaxt verilənlər bazasında saxlanılır. Veb üçün istifadə edilən ən yaygın verilənlər bazası idarəetmə sistemlərinin (MySQL, PostgreSQL, Microsoft SQL və Oracle) hamısı coğrafi vektor məlumatlarının saxlanmasına imkan verən coğrafi uzantıların yanı sıra məlumatlarla birlikdə server tərəfində geosessil etmə qabiliyyətinə malikdir. (Lienert et al., 2012). Vektor məlumatları serverdəki bir faylda da saxlanıla bilər və ya ötürülmə üçün verilənlər bazasından bir fayl formatına çevrilə bilər. Veb xəritələrində istifadə olunan vektor məlumatlarının ümumiyyətlə etdiyini qeyd etmək vacibdir yox əksər veb Xəritəçəkmə API-ləri müştəri tətbiqindəki məlumatları proqnozlaşdırdığından proyeksiya məlumatlarını daxil edin və əvvəlcədən proqnozlaşdırılan məlumatlar anlaşılmaz nəticələr yarada bilər.

Raster xəritəsi şəkilləri (raster plitələr daxil olmaqla) demək olar ki, hər zaman sadə bir kataloq quruluşunda fərdi fayllar şəklində saxlanılır. Cədvəl 1 veb üçün ümumi vektor və raster fayl formatlarının siyahısını verir (həmçinin bax) Raster formatları və mənbələri Vektor formatları və mənbələri).

Bir veb xəritənin təqdimat tərəfi, eşlenen məlumatların istifadəçi tərəfindən necə görüldüyü və təfsir edilməsidir (Donohue, 2014). Görünən bir xəritə şəkli göstərmək üçün məlumatların stil məlumatlarının tətbiq edilməsini əhatə edir. Bu göstərmə ya serverdə, həm də müştəri tərəfində baş verə bilər.

Raster xəritə şəkillərində, stil məlumatları server tərəfindən verilən şəkilə daxil edilir. Xəritə şəkilləri ya əvvəlcədən mövcud olan sənədlər ola bilər, ya da bir mütəxəssis tərəfindən göstərilə bilər xəritə serverÜslublu Layer Descriptor (SLD) stilindən istifadə etmək (Lienert et al., 2012). Xəritə serverləri, müştərinin tələbi ilə şəkilləri tez bir zamanda göstərmək üçün qurula bilər və ya hər bir görüntüyü bir dəfə göstərərək server tərəfindəki önbellekte saxlaya bilərsiniz. Çini xəritələr üçün raster plitələr adətən sonuncu yanaşmadan istifadə edərək yaradılır. MapServer, Geoserver və QGIS Server populyar açıq mənbəli xəritə serverləridir, ArcGIS Server isə ən çox istifadə olunan ticarət xəritə serveridir.

Xəritə serverləri məlumatları və şəkilləri aşağıdakı kimi yayımlayır yerleşim veb xidmətləri. Açıq Yerleşim Konsorsiumu (OGC), Cədvəl 2-də OGC veb saytındakı sənədlərinə bağlı hər xidmətin adı ilə göstərilən bir sıra yerleşim veb xidmətləri standartlarını qoruyur. Bu standartlar müştərilərə xüsusi bir nəticə əldə etmək üçün xəritə serverinin məlumatlarını və əməliyyatlarını sorğu etməyə imkan verir və dərhal dəyişən fenomenlərin real vaxt kartoqrafik təsvirinə imkan verən əsas məlumatlardakı dəyişikliklərlə dərhal yenilənir (Cerba və Cepicky, 2012).

Cədvəl 2. OGC yerleşim veb xidmətləri.

Həm statik, həm də dinamik vektor xəritələri üçün stil məlumatları məlumatdan ayrı ötürülür və müştəri tərəfindən göstərilir. SVG qrafika vəziyyətində, stil məlumatları SVG sənədinə daxil edilə bilər və ya CSS və ya JavaScript-də yazılmış ayrı təlimatlar və ya birləşmə ilə tətbiq oluna bilər (Muehlenhaus, 2014). Canvas istifadə edərək çəkilən bütün xəritələr kimi ayrı bir məlumat mənbələri və JavaScript kodundakı təlimatlardan istifadə edərək müştəri üzərində bir SVG də sıfırdan inşa edilə bilər (Lienert və digərləri, 2012). Çini xəritələrdən istifadə edilə bilər vektor plitələr, tək bir plitənin coğrafi ərazisini əhatə edən bir çox kiçik məlumat bölməsindən və brauzerdə hər bir plitəni göstərmək üçün istifadə olunan bir ayrı stil təlimatından ibarətdir (Turner, 2015).

3.4 Animasiya və qarşılıqlı əlaqə

Dinamik veb xəritənin son komponenti xəritənin animasiyası və ya qarşılıqlı əlaqəsidir, müştəri tərəfində icra olunur. İki əsas cizgi veb xəritəsi var (Muehlenhaus, 2014). Stop Çerçeveli Animasiyasürətli ardıcıllıqla görünən bir çox fərdi şəkildən (və ya çərçivədən) ibarət olan bir video və ya GIF şəkil faylı vasitəsi ilə təmin edilir. Zaman seriyası məlumatları ümumiyyətlə bu cür animasiyadan istifadə edir. Tweening, və ya iki xəritə vəziyyəti arasında hamar bir keçid, SVG və ya JavaScript kodlarındakı proqram təlimatları ilə yaradılır və fasiləsiz məkan-müvəqqəti məlumatların göstərilməsi üçün faydalıdır (bax. Zamanlama Xəritəçəkmə).

Qarşılıqlı əlaqə istifadəçi ilə müştərinin vasitəçiliyi ilə xəritə arasındakı söhbətdir (Roth, 2012). Bölmə 1-də istinad edilən zəngin internet tətbiqetmələrinin sona çatması ilə demək olar ki, bütün veb xəritə qarşılıqlı əlaqələri vebin proqramlaşdırma dili olan JavaScript istifadə olunur (Peterson, 2014). İstifadəçi girişi istifadəçi interfeysi (UI), səhifədəki istifadəçinin görə biləcəyi və / və ya manipulyasiya edə biləcəyi və xəritə vəziyyətində dəyişiklik yaratmaq üçün ssenari ilə təfsir olunan elementlər dəsti (bax: İstifadəçi interfeysi və istifadəçi təcrübəsi dizaynı).

Kirəmitli veb xəritələr AJAX istifadə edərək hamar xəritə qarşılıqlı əlaqəsi yaradır (bax Bölmə 1.2). AJAX veb səhifələrin proqramlaşdırılmasında inqilab yaratsa da, onun ən böyük çatışmazlığı davamlı şəbəkə bağlantısı tələbidir və əksər kirəmitli veb xəritələri internet xidmətinin ləkəli və ya əlçatmaz olduğu yerlərdə istifadəsiz hala gətirir (Tsou, 2011).

3.5 Veb Xəritəçəkmə Platformaları və API'ləri

Getdikcə istifadəçi dostu, bulud əsaslı veb tətbiqetmələr, veb təcrübəsini yeni başlayanlar üçün uyğunlaşdırdı (Muehlenhaus, 2014). Bu xidmətlər, istifadəçilərə əvvəldən mövcud olan əsas xəritələrə məlumat əlavə etməyə, məlumatları tərtib etməyə, interaktiv komponentlər əlavə etməyə və birbaşa paylaşmaq və ya veb səhifəyə yerləşdirmək üçün son məhsulu yerləşdirməyə imkan verir. Bir neçə populyar veb Xəritəçəkmə xidməti Cədvəl 3-də verilmişdir.

Cədvəl 3. Qrafik, bulud əsaslı veb Xəritəçəkmə tətbiqetmələri
Veb tətbiqi Təsvir
Mapbox Studio OpenStreetMap və istifadəçi tərəfindən idxal edilmiş məlumat dəstlərindən istifadə edərək üslublar və xüsusi vektor plitələr yerləşdirir.
CARTO Builder PostgreSQL / PostGIS verilənlər bazasında yerleşim məlumatlarına ev sahibliyi edir, məlumatların geniş çeşidlərindəki xəritələri, məlumat qatlarını tərtib edir, görsellər yaradır, məlumat sorğularına imkan verir və məkan təhlili aparır.
Google Xəritələrim Google plitələrindəki məlumat qatlarını çəkməyə və əlavə etməyə imkan verir və məhdud məlumat tərzi təmin edir.
Google Fusion Cədvəlləri Google plitələrindəki cədvəlli məlumatları coğrafi məlumatlar və xəritələr ilə məhdudlaşdırır, məhdud məlumatların tərtibatına imkan verir və görselləşdirmə yaradır.
Esrinin ArcGIS Onlayn Xəritə Görüntüləyicisi ESRI və açıq lisenziyalı plitələrdə məlumat qatlarının çəkilməsinə, əlavə edilməsinə və tərtib edilməsinə imkan verir. Məkan təhlili və müəssisə abunəliyi ilə seçilmiş məlumat dəstlərinə giriş imkanı verir.

Bir veb xəritənin təqdimatını və istifadəçi interfeysini fərdiləşdirmək istəyən daha inkişaf etmiş kartoqraflar bunu bir JavaScript API istifadə edərək müştəri tərəfində edə bilərlər (Tətbiq Proqramlaşdırma İnterfeysi Bölmə 2-yə baxın) (Peterson, 2014). Ticarət API'ləri mülkiyyət xəritəsi xidmətlərinə toxunun açıq mənbə API'ləri xüsusi bir valideyn xidməti yoxdur (Roth et al., 2014). Hər ikisi veb xəritələr yaratmaq üçün DOM-un istifadəsini sadələşdirmək üçün üsullar verən kod kitabxanalarından ibarətdir. Populyar API-lər Cədvəl 4-də verilmişdir.

Cədvəl 4. Veb Xəritəçəkmə API'ləri
API Təsvir
Google Maps API Google Xəritə plitələr və xidmətlərə giriş təmin edir.
Bing Maps Nəzarət Bing Maps plitələr və xidmətlərə giriş təmin edir.
HERE Maps API HERE Maps plitələr və xidmətlərə giriş təmin edir.
ArcGIS API Maşuplara, məkan analizinə və Esri plitələrinin vizualizasiyasına imkan verir.
CARTO.js KARTO-da saxlanılan məlumatlara və vizualizmə giriş təmin edir.
Mapbox GL JS UI nəzarətləri və qarşılıqlı təsirləri ilə Mapbox vektor plitələrini təqdim edir.
Mapzen Tangram İdarəetmə və qarşılıqlı təsir üçün Leaflet istifadə edərək Mapzen vektor plitələrini təqdim edir.
OpenLayers Hər hansı bir çini üzərində plitələrlə örtülmüş xəritə üçün möhkəm açıq mənbəli kitabxana.
Vərəqə Hər hansı bir çini üzərində kirəmitli xəritə şəklində masuplar üçün yüngül açıq mənbəli kitabxana.
D3 Dinamik vektor Xəritəçəkmə və məlumatların vizuallaşdırılması üçün açıq mənbəli kitabxana.

Bu bölmənin məqsədi veb xəritələrlə əlaqəli olaraq qalan digər CV mövzularında təqdim olunan kartoqrafik prinsipləri yenidən bərpa etmədən veb xəritələrin unikal dizayn məhdudiyyətlərini müəyyənləşdirməkdir.

Swoopy diaqramından sonra (DiBiase, 1990 bax Kartoqrafiya və Texnologiya), veb xəritələr yüksək tədqiqatçıdan yüksək tematikaya qədər davamlı olaraq yerləşdirilə bilər (Şəkil 5 bax İstifadəçi interfeysi və istifadəçi təcrübəsi (UI / UX) dizaynı).

Şəkil 5. Veb xəritəsi davamı.

Vizual iyerarxiyaxəritədəki obyektlərin nisbi vizual dominantlığıdır, beləliklə daha vacib obyektlər daha çox əyani şəkildə dominantdır (Dent, 1990). Because they display many features that may be of interest, more exploratory web maps should have a flatter visual hierarchy to allow users greater freedom to draw their own conclusions. They should also allow for more interaction to enable the user to create more unique map views (MacEachren, 1994). By contrast, thematic maps should have a strong visual hierarchy and few if any interactions to keep the user’s focus on the key information being presented (Figure 6).

Figure 6. The National Map download tool (top) provides a large amount of data for exploration, includes many possible interactions, and symbolizes map layers to create a flattened visual hierarchy. In contrast, the thematic New York Times xəritə shown in Figure 1 (bottom) contains no interaction and highlights important information with bold symbolization, labels, and callouts atop a washed-out base map, creating a strong visual hierarchy.

Web maps should avoid overdesign. To maximize its clarity and usability, a web map should only include the information, map elements, and interactions necessary to accomplish the map’s purpose (Tolochko, 2016).

Web map elements should have a consistent look across the base map, data, and user interface layers of the map, and fit with the overall page or app design (Tolochko, 2016). The sizes and resolutions of device screens vary widely and affect how web maps appear to the user (Muehlenhaus, 2014). A web map should adjust its layout dynamically to fit the available display space of any device it is intended for use on, following the strategies of responsive web design (Jenny et al., 2008 Marcotte, 2011). Additionally, different browsers and operating systems have slight differences in how they display web pages, so web maps should be tested on several different platforms before release. Table 5 presents a summary of map-based UI elements and common implementation schemes.

Table 5. Web map elements based on descriptions in Muehlenhaus (2014) and Tolochko (2016).
Map Element Web map implementation(s)
Map title Page header or temporary splash screen.
Map area May be dynamically adjusted through panning/zooming, changes to screen size, and device orientation.
Base map Provides geographic context. Use muted colors in thematic web maps to create strong visual hierarchy (Figure 5). Including a satellite imagery layer is appropriate for exploratory and reference web maps, but distracting in thematic maps.
Data layers Exploratory maps include many data layers with a flatter visual hierarchy thematic web maps include a few styled to stand out against base map (Figure 6). Point symbols should be highly iconic so they can be distinguished when small. Thematic layers should be easy to interpret and avoid possible hidden meanings (see Common Thematic Map Types).
Map scale May be displayed through a scale bar that changes dynamically if the map can be zoomed or panned. Do not display a ratio scale, as absolute scale changes with display size and projection centering.
Supplemental information Embedded text, links, images, graphics, and videos that may be presented as information windows, tooltips atop the map, and/or elsewhere on the web page. Provides a point of entry for the map user.
Etiketlər Quantity and size of labels can change at different zoom levels. Labels should be large enough for pixel densities of intended users’ displays and use sans-serif, common web fonts.
Inset/Locator map If included in an interactive map, changes dynamically to match the current view.
Map metadata At minimum, include the cartographer(s)’ name(s), data sources, and license information. It can be shown in small font directly on or below the map or made easily available in a splash screen or on a linked webpage.
North arrow Do not include in a static web map oriented with north up. If a web map can rotate, it should include an arrow that also rotates dynamically.
Neat lines / frame lines Not included if map takes up the full size of the screen or is well-integrated with the rest of the page content.
Supplemental graphs Graphs or charts may be linked to a thematic map through simultaneous highlighting or brushing.
Legend For dynamic maps, may update dynamically or allow interactions that affect the map.
Menus May be included to provide the map user with additional options and interactions.
Kömək edin May be provided as a link or tutorial pop-ups to orient the user to the map.
Animation controls May be included to give the user control over playback. They should integrate a temporal legend. Keep animations short and simple (see Mapping Time).
Interaction controls Should be included to facilitate interactions or when mouse/touch/ keyboard interactions are not immediately obvious. They should provide feedback to the user when activated (see User Experience and User Experience (UIUX) Design). On highly interactive maps, include a mechanism to reset the default view and parameters. Avoid interactions that interfere with web page scrolling.

Accessibilityfor the web means that people who have disabilities, are older, or live in rural areas or developing countries can use websites and web applications (W3C, 2016). Web maps should follow the Web Content Accessibility Guidelines published by the World Wide Web Consortium (W3C) to the greatest extent possible. For example, web maps can provide alt tags for images to be read by screen readers, use proper heading levels for titles, and allow keyboard input options for interactions. Styling should take colorblind users into account. Interactive web maps that rely on newer technologies or those with large datasets should provide alternative versions that can be viewed with slower connection speeds and older, non-conforming browsers (Tolochko, 2016).

Adobe Corporate Communications. (2015, November 30). Flash, HTML5 and open web standards [Blog]. Retrieved March 10, 2017, from https://blogs.adobe.com/conversations/2015/11/flash-html5-and-open-web-standards.html

Battersby, S. E., Finn, M. P., Usery, E. L., & Yamamoto, K. H. (2014). Implications of Web Mercator and Its Use in Online Mapping. Cartographica: The International Journal for Geographic Information and Geovisualization, 49(2), 85–101. DOI: 10.3138/carto.49.2.2313

Bostock, M., & Davies, J. (2013). Code as Cartography. The Cartographic Journal, 50(2), 129–135. DOI:10.1179/0008704113Z.00000000078

Caballero, L. (2011, October 13). An Introduction to WebGL - Part 1. Retrieved from https://dev.opera.com/articles/introduction-to-webgl-part-1/

Cerba, O., & Cepicky, J. (2012). Web Services for Thematic Maps. In M. P. Peterson (Ed.), Online Maps with APIs and WebServices (pp. 141–155). Berlin, Heidelberg: Springer.

Crampton, J. (2010). Mapping: A Critical Introduction to Cartography and GIS. Chichester, UK: Wiley-Blackwell.

Dent, B. D. (1990). Cartography: thematic map design (2nd ed). Dubuque, IA: W.C. Brown.

DiBiase, D. (1990). Visualization in the Earth Sciences. Earth and Mineral Sciences, 59(2). Retrieved from http://www.geovista.psu.edu/publications/others/dibiase90/swoopy.html

Donohue, R. G. (2014). Web Cartography with Web Standards: Teaching, Learning, and Using Open Source Web Mapping Technologies (Dissertation). University of Wisconsin-Madison, Madison, WI.

Jenny, B., Jenny, H., & Räber, S. (2008). Map design for the Internet. In M. P. Peterson (Ed.), International Perspectives on Maps and the Internet (pp. 31–48). Berlin-Heidelberg: Springer.

Lienert, C., Jenny, B., Schnabel, O., & Hurni, L. (2012). Current Trends in Vector-Based Internet Mapping: A Technical Review. In M. P. Peterson (Ed.), Online Maps with APIs and Web Services (pp. 23–36). Berlin-Heidelberg: Springer.

MacEachren, A. M. (1994). Visualization in modern cartography: Setting the Agenda. In A. M. MacEachren & D. R. F. Taylor (Eds.), Visualization in Modern Cartography (pp. 1–12). Oxford, England: Pergamon.

Muehlenhaus, I. (2014). Web cartography: map design for interactive and mobile devices. Boca Raton, FL: CRC Press.

Netcraft. (2017, February 27). February 2017 Web Server Survey. Retrieved June 2, 2017, from https://news.netcraft.com/archives/2017/02/27/february-2017-web-server-survey.html

Peterson, M. P. (2008). International Perspectives on Maps and the Internet: An Introduction. In M. P. Peterson (Ed.), International Perspectives on Maps and the Internet (pp. 3–10). Berlin, Heidelberg: Springer.

Peterson, M. P. (2012). The Tile-Based Mapping Transition in Cartography. In L. Zentai & J. Reyes Nunez (Eds.), Maps for the Future: Children, Education and Internet (pp. 151–163). Berlin, Heidelberg: Springer.

Peterson, M. P. (2014). Mapping in the cloud. New York London: The Guilford Press.

Peterson, M. P., & International Cartographic Association (Eds.). (2003). Maps and the internet (1st ed). Amsterdam : London: Elsevier.

Roth, R. E. (2012). Cartographic Interaction Primitives: Framework and Synthesis. The Cartographic Journal, 49(4), 376–395.

Roth, R. E. (2013). Interactive maps: What we know and what we need to know. Journal of Spatial Information Science, (6). DOI:https://doi.org/10.5311/JOSIS.2013.6.105

Roth, R. E., Donohue, R. G., Sack, C. M., Wallace, T. R., & Buckingham, T. M. A. (2014). A Process for Keeping Pace with Evolving Web Mapping Technologies. Cartographic Perspectives, 0(78), 25–52. DOI: 10.14714/CP78.1273

Sack, C. M. (2013). Mapmaking for Change: Online Participatory Mapping Tools for Revealing Landscape Values in the Bad River Watershed (Master’s Thesis). University of Wisconsin-Madison, Madison, WI.

Sack, C. M., & Roth, R. E. (2017). Design and evaluation of an Open Web Platform cartography lab curriculum. Journal of Geography in Higher Education, 41(1), 1–23. DOI:10.1080/03098265.2016.1241987

Stefanakis, E., & Patroumpas, K. (2008). Google Earth and XML: Advanced Visualization and Publishing of Geographic Information. In M. P. Peterson (Ed.), International Perspectives on Maps and the Internet (pp. 143–152). Berlin, Heidelberg: Springer.

Tolochko, R. C. (2016). Contemporary Professional Practices in Interactive Web Map Design (Thesis). University of Wisconsin-Madison, Madison, WI.

Tsou, M.-H. (2011). Revisiting Web Cartography in the United States: the Rise of User-Centered Design. Cartography and Geographic Information Science, 38(3), 250–257. DOI: 10.1559/15230406382250


Web-Based GIS as a Tool for Supporting Marine Research

Collecting marine data during hydroacoustic research surveys is a complex task, which not only consists of measurements but also analysis, validation, and interpretation of information acquired by various sensors. Automatic integration, visualization, and processing of collected data allow for a more precise investigation of the researched phenomena. The paper presents a dedicated Web-based system for fusion and dissemination of data from satellite imagery, hydrological measurements using CTD probes, acoustic surveys by multibeam systems, side-scan sonars and singlebeam echosounders, as well as live radar feed and oil spill spread models. The system has been designed as a tool for supporting research using the aforementioned techniques.

Acknowledgements

The authors wish to thank Prof. Andrzej Orlowski from Sea Fisheries Institute in Gdynia, Poland, for his contribution of data on Baltic sediment methane ebullition quantification. The oil spill dispersion data used in the study were produced in the framework of the MARCOAST project, funded by ESA and coordinated by Thales Alenia Space, contract number: 136391. The new concept for visualization of oil spill simulation results was developed in the framework of Joint Polish-Greek R&T Programme 2005–2007 “Development of a monitoring and mapping system for marine pollution via a Web-based Geographical Information System.” HCMR was financially supported by the Greek General Secretariat for Research and Technology.

The authors would like to thank Gdansk Institute of Oceanology crew of Polish Academy of Sciences and Prof. Zygmunt Kluzek for collaboration and joint r/v Oceania cruises.

This research was supported by the European Union within the European Social Fund in the framework of the project “InnoDoktorant—Scholarships for PhD students, I edition.”


Hi,
with this mail I'm trying to summarize a few findings of mine
on how to deal with 3D vector data, and in particular with
the 2D+1 subset of it, in Geotools.

With 2D+1 data I mean the usual JTS geometry types, whose
coordinates do have a not null, nor NaN, Z component.
Expanding a bit that might also include the usual measured
geometries, so include the xyz, xym, xyzm cases that both
shapefiles and postgis do handle.

The main issues trying to deal with more dimension are
dealing the the CRS representation, the transformations,
and the envelopes.
The cleanest path seemed to have a real 3D CRS and thus
stick the information about the dimensionality in
the CRS itself.
CRS wise there are two kinds of 3D systems, 3d
geographic, like 4327, and compounds, that do take
a 2d crs and stick a vertical component onto it.
Here are two examples of them:

EPSG:4327, the 3d brother of 4326 (but unusable due to
its DMS unit of measure):
GEOGCS["WGS 84 (geographic 3D)",
DATUM["World Geodetic System 1984",
SPHEROID["WGS 84", 6378137.0, 298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["DMS", 0.00000484813681109536],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH],
AXIS["Ellipsoidal height", UP],
AUTHORITY["EPSG","4327"]]

EPSG:7401, a compound one:
COMPD_CS["NTF (Paris) / France II + NGF Lallemand",
PROJCS["NTF (Paris) / France II",
GEOGCS["NTF (Paris)",
DATUM["Nouvelle Triangulation Francaise (Paris)",
SPHEROID["Clarke 1880 (IGN)", 6378249.2, 293.4660212936269,
AUTHORITY["EPSG","7011"]],
AUTHORITY["EPSG","6807"]],
PRIMEM["Paris", 2.5969213, AUTHORITY["EPSG","8903"]],
UNIT["grade", 0.015707963267948967],
AXIS["Geodetic latitude", NORTH],
AXIS["Geodetic longitude", EAST],
AUTHORITY["EPSG","4807"]],
PROJECTION["Lambert Conic Conformal (1SP)", AUTHORITY["EPSG","9801"]],
PARAMETER["central_meridian", 0.0],
PARAMETER["latitude_of_origin", 52.0],
PARAMETER["scale_factor", 0.99987742],
PARAMETER["false_easting", 600000.0],
PARAMETER["false_northing", 2200000.0],
UNIT["m", 1.0],
AXIS["Easting", EAST],
AXIS["Northing", NORTH],
AUTHORITY["EPSG","27582"]],
VERT_CS["NGF Lallemand",
VERT_DATUM["Nivellement General de la France - Lallemand", 2005,
AUTHORITY["EPSG","5118"]],
UNIT["m", 1.0],
AXIS["Gravity-related height", UP],
AUTHORITY["EPSG","5719"]],
AUTHORITY["EPSG","7401"]]

So, the basic idea was to use a real 3D CRS and
have everything else learn how to handle it.
Unfortunately I've stumbled into a number of issues:
- all of our code uses ReferencedEnvelope, which is
limited to 2D data. Basically, every time there is
code trying to build one we should take care of
using CRS.getHorizontalCRS to extract only the
2D part of it before building or transforming
a ReferencedEnvelope (this means, many, many places,
not only datastores, but also wrappers, rendering, and
in GeoServer, UI and configuration).
Either that, or stop using
ReferencedEnvelope altogheter and use a n-dimensional
ready alternative instead
- a few parts of our code try to invert MathTransform
objects. This is usually related to computing the
source bounds to be queries given the destination
bounds. Too bad a 3d -> 2d transformation (the
common case in rendering) is not invertible (due
to information loss).
- the referencing subsystem has issues of its own
trying to build transformations that go from
a compound CRS to another CRS that does not share
the same horizontal component. For example, using the above
compound srs, the following code will fail on
the last statemetn asserting there is no
transformation between f3d and wgs84:

CoordinateReferenceSystem wgs84 = CRS.decode("EPSG:4326")
CoordinateReferenceSystem f2d = CRS.decode("EPSG:27582")
CoordinateReferenceSystem f3d = CRS.decode("EPSG:7401")
System.out.println(CRS.findMathTransform(f3d, f2d))
System.out.println(CRS.findMathTransform(f2d, wgs84))
System.out.println(CRS.findMathTransform(f3d, wgs84))

- the same goes if we try to compute the
transformation between two system with a different
vertical component (that consistently fails), that
always consistently fails

So, in the end I was left wondering, what are people
already dealing with this use case doing?
What are postgis, shapefiles, OGR, GML and CityGML
doing? A cursory investigation shows that a number
of them always reports a 2D srs and provides
3d coordinates, and has a way to tell the user
what the number of dimensions are independent of
the CRS itself.
Nümunələr:
- I have a couple shapefiles provided by people
interested in 2d+1 data support, and generated by
ESRI tools. The .prj contains a 2D srs, the
data in the shapefile is arcz or polyz
- postgis geometry_columns has an explicit
coord_dimension column, and the spatial_ref_sys
table has no 3d reference systems
- gml3 posList has both an explicit srsName and
a srsDimension attribute, some CityGML 1.0
examples available online miss the srsName completely
but do specify the srsDimension one (others do miss
both of them). Mind that the feature collection
envelope is specified in 3d as well.
As an example, see:
http://demo.snowflakesoftware.com:8080/hangar_terrain/GOPublisherWFS?service=wfs&version=1.1.0&request=GetFeature&maxfeatures=10&typename=Building
(32617 is UTM 17N, a 2d CRS)
- ogr2ogr is able to generate 3d kml or 3d gml
out of a xyz shapefile. Given the following
code:
ogr2ogr -f kml -s_srs "EPSG:2907" -t_srs "EPSG:4326"
3dfloor.kml 3Dfloor.shp
the output is a kml file with the z untouched, and
the planar coordinates transformed. Same goes for
GML2 output, that declared an srs of 4326 but uses
coordinates with 3 dimensions
- Oracle spatial started to have real 3d coordinate
systems in 11G, before it did 2.5d with flat CRS
too (and still does in 11G unless you explicitly ask
for full 3D systems).

So, it seems the rest of the world is doing 3D by
declaring 2D srs and just using 3d coordinates.
can't we do the same? -)
How do we do the same, thought?
A few ideas to store the dimensions:
- JTS CoordinateSequence does have a getDimension
method. We can use custom coordinate sequences
that allow us to specify the dimensionality
there
- GeometryDescriptor could contain a "well known"
COORDINATE_DIMENSION hint inside its userData
section
For what coordinate handling is concerned,
we can finally make use of the FEATURE_2D hint
we already have to make clients ask for flattened
data when needed, and use 3d otherwise.

As for geometry transformations are concerned, we
should rewrite the transformation code so that it
transforms the flat part but preserves the z and
m if available (the current code will wipe them
out instead).


Videoya baxın: AflatoxinGIS Geoserver - Openlayers3 - PostGIS (Oktyabr 2021).