#reactjs #d3.js #leaflet #leaflet-geoman
#reactjs #d3.js #листовка #листовка-геоман
Вопрос:
У меня уже есть geojson, с которым консультируются, и он рисует эти черные точки. А затем я вставил плагин leaflet-geoman, чтобы предоставить пользователям свободу создавать полигоны на карте. В основном нарисуйте что-то там.
Например: нарисуйте полигон, чтобы получить только информацию внутри этого полигона.
При использовании инструмента для рисования многоугольника на карте я хотел получить, какая черная точка находится внутри чертежа.
короче говоря: у меня есть 4 точки на моем полигональном чертеже (которые не берутся из geojson, человек рисует), и я хочу получить информацию из тех точек, которые находятся внутри этого нарисованного полигона. У каждой черной точки в этом есть идентификатор, и я хочу знать, какие точки находятся в пространстве, которое нарисовал человек.
Мой код geoman-листовки:
map.pm.addControls({
position: 'topright',
// drawCircle: false,
drawMarker: false,
drawCircleMarker: false,
drawRectangle: false,
cutPolygon: false,
editPolygon: false,
});
Мои черные точки на коде карты:
wellheads.forEach(function (d) {
d.LatLng = new L.latLng(d.latitude, d.longitude);
});
const groupWells = g
.selectAll('g')
.data(wellheads)
.enter()
.append('g')
.attr('pointer-events', 'visible');
const points = groupWells
.append('circle')
.attr('class', d => {
if (wellState.selectedWell.guid === d.wellboreGUID) {
return 'redW';
} else {
return 'blackW';
}
})
.attr('id', d => `id-${d.wellboreGUID}`)
.attr('r', d => {
if (wellState.selectedWell.guid === d.wellboreGUID) {
return 1.7;
} else {
return 1.0;
}
})
Комментарии:
1. Это выглядит как D3. Вы используете D3?
2. Это также выглядит подозрительно похожим на вопрос, заданный несколько дней назад (на который был получен ответ «turf.inside»). Это какое-то задание в колледже?
3. Да: gis.stackexchange.com/questions/383547 / … И это был ответ, но я думаю, что ОП этого не понимает
4. @IvanSanchez да!
5. Я голосую за закрытие этого вопроса, потому что это перекрестный пост gis.stackexchange.com/questions/383547 /…