Daha çox

Dünyanın məhdudlaşdırıcı qutusunun xaricində olan merkator koordinatlarını təyin etmək?


Könüllülərin xəritələrin şəkillərini əl ilə coğrafi istiqamətə yönəltdiyi kütləvi mənbəli bir veb saytından merkator tərəfindən proqnozlaşdırılan bindirmələrdən istifadə edirəm. Təəssüf ki, saytın interfeysi kimi xidmət edən sürüşkən xəritə istifadəçilərə [-180, 180]/[90, -90] kənarda xal yerləşdirməyə imkan verir.

Aşağıdakı kimi pis koordinatları olan bir çox xüsusiyyətim var:

var feature = {"geometry": {"type": "Polygon", "koordinatlar": [[[-231.304241727798, 1682.74422719708], [825.474710540096, 1682.74422719708], [825.4747105400966 -26766666666666666666666666666666666666666666666666666666666666666666668666666666666666666666666666686662662666766762787777070]] [[-231.304241727798, 1682.74422719708], [825.474710540096, 1682.74422719708], , [-231.304241727798, 1682.74422719708]]]}}, "növ": "Xüsusiyyət", "xüsusiyyətlər": {"id": "7014"}}

WMS faylından bəzi müvafiq məlumatlar:

EPSG: 4269 EPSG: 4326 EPSG: 900913   şəkil EPSG: 4326 EPSG: 4269 EPSG: 900913  

Koordinatları bir xəritə kitabxanasının oxuya biləcəyi bir şeyə qaytarmağa çalışdım, amma heç bir fayda vermədən əvvəl bunu istifadə etdim:

lng = ((x + 180) % 360) - 180), lat = ((y + 90) % 180) - 90)

sonra Javascriptdəki modla bağlı problemləri anladıqdan sonra:

lng = (((((x + 180) % 360) + 360) % 360) - 180 lat = (((((y + 90) % 180) + 180) % 180) - 90

amma yenə də səhv koordinatlar alıram. Bu sərhəddən kənar merkator koordinatlarını xəritəyə qoya biləcəyim bir şeyə necə çevirə bilərəm?


Görünür, bu xüsusiyyət həndəsəsi pozulmuşdur, çünki koordinatlar WRS tərəfindən təyin olunan SRID -in minimum/maksimum məhdudlaşdırıcı qutusudur. (Artı və ya mənfi bir neçə əhəmiyyətli rəqəm)

Problem EPSG: 900913 -ün səhv təyin edilməsindən qaynaqlanır. 900913 artıq istifadə edilmir, o vaxtdan 3857 olaraq dəyişdirildi. Sınırlayıcı qutu +/- 20 milyon X və +/- 10 milyon Y olmalıdır. Diqqət yetirin ki, XY merkatoru uzunluqdan çox fərqlidir.


Videoya baxın: Кашлык (Sentyabr 2021).