Daha çox

QGIS istifadə edərək çoxsaylı sətirdən “orta” sətir yaradın


Müxtəlif GPS dəqiqliyi ilə oxşar yolu (dağ cığırları) təmsil edən çoxsaylı xətt xüsusiyyətlərim var (bunları çox nöqtələrdə də var ...), nəticədə bir-birinə yaxın bir çox xətt meydana çıxdı, ancaq bir-birinə mükəmməl uyğun gəlmir.

Bu layihənin məqsədi üçün hamısından bir "orta" sətir hesablamaq və cığırın ən çox ehtimal olunan mövqeyini çıxarmaq üçün bir yol axtarıram.

QGIS və ya başqa bir vasitə istifadə edərək necə davam edərdiniz (OGR düşündüm…)?


Test məlumatları:

  • QGIS 2.18.16, GRASS GIS 7
  • 4 GPS Tracks
  • 1x1km bir şəbəkə daxilində

I.)

QGIS Plugin ilə GPS Tracks boyunca nöqtələr yaradınXətlər boyunca nöqtələri tapın(https://plugins.qgis.org/plugins/LocatePoints/). Exmaple-də 5 m aralı istifadə etdim.

II.)

Yaratmaqİçbükey gövdəiləQenerasiya> Alətlər Qutusu> QGIS geoalqoritmləri> Vektor həndəsəsi alətləri> Konkav gövdəsi. Bir eşik istifadə etdim0.1mənim timsalımda. Eşik azdırsa, çıxış poliqonunun içərisində deliklər ola bilər.

III.)

İndi skelet alqoritminin köməyi ilə "orta" xətti hesablaya bilərsiniz. İskelet axtarAlət qutusu işlənir. İstifadə edinv.voronoi.skeletalətGRASS GIS 7 əmrləri.


İstilik xəritəsi yanaşması:

Yanaşma, işləmə mərhələlərinin hesablanması müddətinə görə daha çox vaxt aparır. Bəlkə daha ümumi bir həll yoluna yaxınlaşmaq üçün bir fikir kimi qəbul edilə bilər.

Test məlumatları:

  • QGIS 2.18.16, GRASS GIS 7
  • 4 GPS Tracks
  • 1x1km bir şəbəkə daxilində

I.)

QGIS Plugin ilə Xətlər boyunca Nöqtələri Tapın (https://plugins.qgis.org/plugins/LocatePoints/) ilə GPS Yollarınız boyunca xallar yaradın. İstilik xəritəsi yanaşması üçün bir aralı istifadə etdim 2m.

II.)

QGIS istilik xəritəsi eklentisi ilə bir istilik xəritəsi yaradın. 40m radiusdan istifadə etdim. Çıxış rasterində deşik olmayana qədər radiusu artırıram. Bunu fərqli radius dəyərləri ilə sınamalısınız.

III.)

Redaktə edilmişdir Tam istilik xəritəsi raster dəyərini saxlamağa ehtiyac yoxdur.

İndi rasteri ən çox nöqtələrin cəmləşdiyi "ağ" bölgələrə incəltmək istəyirəm. Buna görə çıxış rasterini yenidən hesablayıram. Çıxış rasterinin min / maksimum dəyərləri089.7935. Yalnız yuxarıdakı dəyərlərdən istifadə edirəm44. Buna görə də "bir qayda" istifadə etdim. Maksimum dəyəri yuvarlaqlaşdırın və ikiyə bölün. Bu dəyəri başqa dəfə yuvarlaqlaşdırın.89/2 = 44,5-->44. OSGeo4W Shell istifadə etdim:gdal_calc -A heatmap.tif --calc = "A> = 44" --NoDataValue = 0 --outfile = heatmap_44_NoData.tif.

IV.)

Redaktə edilmişdir

a) Yenidən hesablanmış istilik xəritəsini poliqonlaşdırınRaster> Dönüşüm> Çoxbucaqlı…

b) Çoxbucağı sadələşdirinVektor> Həndəsə Alətləri> Həndəsələri sadələşdirin. Bir tolerantlıq istifadə etdim2. Daha sadə bir çoxbucaqlı skelet üçün işləmə müddətini azaldır.

c) Skeletləri hesablayın: İşləmə Alətlər qutusundan skelet axtarın. İstifadə edinv.voronoi.skeletGRASS GIS 7 əmrlərindən alət.

Nəticədə sətrin ilk cavabımdan daha çox cığırın ən çox ehtimal olunan mövqeyini təmsil etdiyini görə bilərsiniz. Xüsusilə Şimaldakı döngə üçün orta xətt bir-birinə daha yaxın olan üç pisti izləyir. Şərqdəki döngə üçün eyni.

Yanaşmanın üstünlükləri:

  • yalnız QGIS istifadə edərək ağlabatan yaxşı nəticələr

Dezavantajları:

  • böyük məlumat dəstləri üçün işləmə müddəti
  • a priori parametrlərini sınamalısınız (istilik xəritəsinin radiusu, min / max dəyərləri)
  • emal addımlarını avtomatlaşdırmaq çətindir
  • dar döngələr / döngələr və həqiqətən xətdən çıxan yollar üçün test edilməmişdir

Kimsə işləmə addımlarını optimallaşdırırsa, xoş gəlmisiniz!


Videoya baxın: QGIS - Polygonize - Raster to Vector (Oktyabr 2021).