Daha çox

PostGIS-də çoxbucağın içərisinə işarə etmək üçün ən yaxın xarici nöqtəni tapmaq?

PostGIS-də çoxbucağın içərisinə işarə etmək üçün ən yaxın xarici nöqtəni tapmaq?


Məşhur ST_ClosestPoint () çoxbucaqlının içərisindəki ən yaxın nöqtəni bəzi xarici nöqtələrə qaytarmaqdır.

Ters problemi axtarıram: çoxbucaqlının içərisində bir yerim var və çoxbucağın xaricində ən yaxın yeri tapmaq istəyirəm.

İlk addımın çoxbucaqlının sərhədində ən yaxın nöqtəni tapmaq olduğunu düşünməyə başladım. Buna necə nail olacağımı bilməsəm də, bu mərhələdən necə davam edəcəyimə əmin deyiləm (daxili nöqtəmə ən yaxın sərhəd nöqtəsi olduğumu nəzərə alaraq).

EDİT: ST_Line_Locate_Point () nəticələrini çoxbucaqlının bütün sətrlərində işləyən və minimumu seçənlərin müqayisəsi barədə nə demək olar? Bu mənə sərhəd xəttində ən yaxın nöqtəni verir

Border_closest_points AS (SELECT ST_Line_Locate_Point (border_lines.geom, ST_GeomFromText ('POINT (lon lat)', 4326)) AS fraksiyonu, ST_Line_Interpolate_Point (border_lines.geom, ST_Line_Locate_Point (border_lines, PO_Tone, 43_times '') ))) Border_lines FROM border_closest) SEÇİN border_closest_points.closest_point_on_line AS geom, ST_Distance (ST_GeomFromText ('POINT (lon lat)', 4326), border_closest_points.closest_point_on_line) AS məsafəsi FROM border_c məsafəsi

Çoxbucaqlı haşiyəni ilə ata bilərsinizST_ExteriorRing, sonra istifadədən bir az kənarda qalan bir nöqtə istəsəniz, ortaya çıxan linestring üzərində ən yaxın nöqtəni tapacaqsınız.ST_Bufferəvvəlcə orijinal çoxbucağa bir az əlavə etmək.

Çoxbucaqlı AS ilə (SELECT ST_Buffer (ST_GeomFromText ('POINT (0 0)', 4326), 2) geom olaraq - bu dairə sərhəd çoxbucağı kimi görünəcək) SEÇİN ST_AsTEXT (ST_ClosestPoint (ST_ExteriorRing (ST_Buffer (polygons.ge00, 00 )), ST_GeomFromText ('POINT (1 0)', 4326))) FROM poliqonlarından;

Videoya baxın: Create Spatial Table u0026 Add Geometry Column in #PostGIS. #PG #QGIS. Urdu. Hindi. Eng. #19