• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

126
Vistas
estilo de datos geojson por orden de propiedades (folleto)

Intenté diseñar varias rutas según la ruta de distancia (propiedades de geojson).
Ascendente del más corto (rojo, naranja, amarillo, verde, azul) al más largo.
Dado que la distancia de la ruta no se fija en algún valor, no puedo usar este estilo del estilo de cloropeth interactivo del folleto :

 function getColor(d) { return d > 1000 ? '#800026' : d > 500 ? '#BD0026' : d > 200 ? '#E31A1C' : d > 100 ? '#FC4E2A' : d > 50 ? '#FD8D3C' : d > 20 ? '#FEB24C' : d > 10 ? '#FED976' : '#FFEDA0'; }

aquí está el ejemplo de geojson (la lista de coordenadas está recortada):

 {"type":"FeatureCollection","features":[ {"type":"Feature","geometry":{"type":"MultiLineString","coordinates":[[[110.2382587,-7.9579805],[110.2380463,-7.9581418]]]},"properties":{"distance":"3989.57671272009"}}, {"type":"Feature","geometry":{"type":"MultiLineString","coordinates":[[[110.2374145,-7.9593029],[110.2371966,-7.9598229]]]},"properties":{"distance":"2206.76527447351"}}, {"type":"Feature","geometry":{"type":"MultiLineString","coordinates":[[[110.2374145,-7.9593029],[110.2379765,-7.9594952]]]},"properties":{"distance":"2667.74036482918"}}]}

¿Alguien sabe cómo diseñar desde el orden de las propiedades? no del valor exacto

almost 3 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede usar Array.prototype.sort para ordenar los elementos.

 // input myVariable = {"type":"FeatureCollection","features":[ {"type":"Feature","geometry":{"type":"MultiLineString","coordinates":[[[110.2382587,-7.9579805],[110.2380463,-7.9581418]]]},"properties":{"distance":"3989.57671272009"}}, {"type":"Feature","geometry":{"type":"MultiLineString","coordinates":[[[110.2374145,-7.9593029],[110.2371966,-7.9598229]]]},"properties":{"distance":"2206.76527447351"}}, {"type":"Feature","geometry":{"type":"MultiLineString","coordinates":[[[110.2374145,-7.9593029],[110.2379765,-7.9594952]]]},"properties":{"distance":"2667.74036482918"}}]} // Sort by distance; highest distance will be first element // To sort as lowest first flip a and b myVariable.features.sort((a, b) => b.properties.distance - a.properties.distance); colors = ['#800026', '#BD0026', '#E31A1C', '#FC4E2A', '#FD8D3C', '#FEB24C', '#FED976', '#FFEDA0']; // Now you can get color using index // The next step depends on how you want to use color // For example adding color property to each item in myVariable.features myVariable.features.forEach((features, index) => { if (index < colors.length) features.color = colors[index]; else featurs.color = colors[colors.length - 1]; }); // Show the final output console.log(myVariable);

almost 3 years ago · Juan Pablo Isaza Denunciar

0

Puede pasar una función a la propiedad de style en las opciones de GeoJSON.

 function getColor(d) { return d > 1000 ? '#800026' : d > 500 ? '#BD0026' : d > 200 ? '#E31A1C' : d > 100 ? '#FC4E2A' : d > 50 ? '#FD8D3C' : d > 20 ? '#FEB24C' : d > 10 ? '#FED976' : '#FFEDA0'; } L.geoJSON(routes, { style: (feature) => { return {color: getColor(feature.properties.distance)}; } }).addTo(map);

Aquí hay un violín que funciona: https://jsfiddle.net/7eh1bajL/

(He usado su GeoJSON pero cambié los valores de distancia para que pueda ver cómo se aplican diferentes colores)

almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda