Чиста бібліотека JavaScript для операцій з геометрією


21

Хтось знає про чисту бібліотеку JavaScript для виконання геометричних операцій, таких як буфер, з'єднання, перетинання тощо? Я хочу пограти з виконанням цих операцій у браузері. Схоже, GeoScriptJS має деякі залежності.

Відповіді:


15

Ви можете подивитися API OpenLayers, зокрема класи геометрії . Ви можете перевіряти перехрестя і мати доступ до вершин і т. Д. Я впроваджував точкові буфери раніше лише з OpenLayers. Хоча спілки можуть бути складнішими.

Для більш складних операцій ви можете зробити обробку на стороні сервера і передати результати назад у WKT або GeoJSON, обидва з яких можна відкрити OpenLayers. Для прикладу дивіться цей підручник для союзу .

Інший можливий варіант - просторовий запит " Бібліотека JQuery, як Javascript для обробки просторової математики ." Я не впевнений, наскільки це добре перевірено, але як джерело доступне, ви повинні подивитися.

Оновлення

Зараз існує порт JavaScript Topology Suite JTS - https://github.com/bjornharrtell/jsts


Я переглянув геометрії OpenLayers, і думаю, що метод зміни розміру дозволить мені масштабувати геометрії для отримання буферних результатів. Але ти маєш рацію, робити союзи та перехрестя все потрібно було б вручну. На жаль Що мені дійсно потрібно, це чистий JS-порт JTS. JSTS? =)
atogle

Я багато озирався і не думаю, що будь-яке комплексне, зріле і чисте рішення JS насправді існує. Просторовий запит справді виглядає як найкраще на даний момент, але я знайшов кілька інших репостів на GitHub, які були корисними: github.com/shawnbot/geoff/blob/master/src/geoff.js та github.com/maxogden/ geojson-js-utils
atogle

@atogle - йдеться про переміщення функціоналу геометрії у OpenLayers до окремої бібліотеки - osgeo-org.1803224.n2.nabble.com/…
geographika

добре знати!
атогле

22

Я в значній мірі зробив мій порт JTS, який є чистим портом JS, і він доступний на https://github.com/bjornharrtell/jsts

У поточній версії (0.9.1) він підтримує основну функціональність JTS, під якою я маю на увазі предикати та накладки.


Привіт, я нещодавно закінчив JSTS 1.0, який є повним і сучасним портом JTS в сучасному JavaScript. Доступний там же, що і версія 0.x.
Björn Harrtell

3

Ви можете поглянути на геоскрипт (реалізований на декількох мовах, включаючи JS)


2
Я майже впевнений, що GeoScript JS не призначений для запуску на клієнті / браузері. На сайті написано, що він розроблений для RingoJS. Також, схоже, є JTS залежності.
atogle


1

Turf - бібліотека javascript, що забезпечує безліч просторових операцій. Він також модульний, тому ви можете включати лише необхідні функції в остаточний сценарій.


На жаль, це серйозно обмежено з точки зору геометрії та доступних операцій. Ви можете вказувати на багатокутники, але це, здається, в основному це.
bugmenot123

Turf фактично використовує мій власний JSTS (але старішу версію) для багатьох своїх операцій. Якщо ви використовуєте JSTS безпосередньо, у вас є доступ до більш детального API, який може зробити набагато більше, ніж Turf. Дивіться github.com/bjornharrtell/jsts .
Björn Harrtell

Мені було важко змусити JSTS працювати в машинописній програмі, і Turf.js працював з коробки. JSTS багатший за функціональністю, але для моїх потреб Turf.js працював просто чудово.
HankCa

0

Ви можете використовувати API REST сервера ArcGIS незалежно від того, який API / мову ви використовуєте. Він надає всі методи, що піддаються впливу ....


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.