Daha çox

Kenarda olduqda çoxbucaqlıdan PostGIS nöqtəsi 0 deyil

Kenarda olduqda çoxbucaqlıdan PostGIS nöqtəsi 0 deyil


Çox sadə bir problemim var:

SEÇ * ST_Distance (ST_GeographyFromText ('POLYGON ((70 -40,70 -39,71 -39,71 -40,70 -40))' ''), ST_GeographyFromText ('POINT (70.48 -39)'), Yanlış)

qaytarır 118.45656881 0 olmamalıdır? Nöqtə çoxbucağın kənarında deyilmi? Niyə

ST_Distance (ST_GeographyFromText) seçin

0 qaytar?

ST_Distance (ST_GeographyFromText ('POINT (70 -39.5)'), ST_GeographyFromText ('POINT (70 -39)')) * SEÇİN. ST_Distance (ST_GeographyFromText ('POINT (70 -39.5)' '), ST_GeographyFromText (' POINT (70 -40) ')) * SEÇİN.

Niyə bu iki fərqli (az da olsa) rəqəmləri qaytarır?


Video bunu çox yaxşı izah edir. Sözü gedən kənarı götürüb seqmentləşdirsəniz

ST_GeographyFromText ('LINESTRING (70 -39,71 -39)') geogundan ST_asewkt (st_segmentize (geog, 10000)) SELECT

aşağıdakılara sahib olacaqsınız:

nöqtə, soruşduğunuz məqamdır. Xətti kənarı göstərir. Şimal yuxarıdır.

(məsafə ölçülməsi əllə aparılır, kəsilmir)

0 qaytaran 2 -ci sorğuya gəldikdə? Bunu edir, çünki hte nöqtəsi əslində çoxbucağınızın içərisindədir.

Daha aydın olmaq üçün iki həndəsə arasındakı kəsişmə boşdur, çünki onlar sadəcə üst -üstə düşmür.

seçin st_asewkt (st_intersection (ST_GeographyFromText ('POLYGON ((70 -40,70 -39,71 -39,71 -40,70 -40))' ''), ST_GeographyFromText ('POINT (70.48 -39)'))))) st_asewkt - ------------- SRID = 4326; GEOMETRİKOLLEKSİYA BOŞ

Videoya baxın: De blusrobot van Brandweer Haaglanden