Daha çox

JavaScript üçün ArcGIS API istifadə edərək bufer yaradılır?

JavaScript üçün ArcGIS API istifadə edərək bufer yaradılır?


Çəkilmiş həndəsənin formasına əsaslanan bir tampon necə yarada bilərəm?

Xəritəmin tətbiqi standart bir kvadrat tampon ölçüsü yaradır və min və max x y koordinatlarına deyil, şəklinə əsaslanaraq bir dairədə bir tampon yaratmaq istəyirəm:

if (geometry.type === "polygon" || geometry.type === "multipoint" || geometry.type === "polyline") {var searchExtent = geometry.getExtent (); var biggerExtent = yeni esri.geometry.Extent (searchExtent.xmin - 500, searchExtent.ymin - 500, searchExtent.xmax + 500, searchExtent.ymax + 500, yeni esri.SpatialReference ({wkid: 27700}));

Esri.geometry.Extent -ə fərqli bir axtarışExtent verə bilərəmmi?


Bunu etmək üçün serverinizdə Həndəsə Xidmətindən istifadə etmək istəyə bilərsiniz. Buradakı nümunəyə baxın: https://developers.arcgis.com/javascript/jssamples/util_buffergraphic.html Bu, tampon yaratdığınız həndəsə ilə eyni forma olan bir tampon yaratmağa imkan verəcəkdir.

Ancaq çoxbucaqlı bir dairə yaratmaq mümkündür, çünki çoxbucaqlı bir sentroidi qaytara bilər:

// orijinaldan daha böyük olan bir amil əldə edin var newExtent = geometry.getExtent (). expand (1.5); // bu yeni ölçüdən çoxbucaq yaradın var newGeometry = Polygon.fromExtent (newExtent); // çoxbucağın mərkəzini əldə edin var center = newGeometry.getCentroid (); // getWidth xmin, xmax arasındakı məsafəni qaytarır. Bunun yarısını radius olaraq istifadə edin var radius = newGeometry.getExtent (). GetWidth ()/2; // bu dairə orijinal həndəsəni əhatə edəcək var circGeometry = new Circle (mərkəz, {"radius": radius});

Tampon olaraq bundan əldə etdiyiniz dairəni istifadə edin.

Polygon, Circle and Extent üçün sənədlər faydalı, lakin ədalətli xəbərdarlıq olacaq: Circle sinifinin 3.11 -ə əlavə edildiyini söyləyən sənədlərə baxmayaraq, fromExtent funksiyası YOXDUR. Bu funksiyanın mövcud olmadığını bildirən bir xətaya səbəb olacaq. Bu funksiyanı istifadə etmək üçün Polygon sinifindən istifadə edin.