![](https://assets.isu.pub/document-structure/220111143607-d87d319ea884341f855b0900aaee5455/v1/7051aa9b4d7de0a0db9f19eb1ed273d1.jpeg?width=720&quality=85%2C50)
1 minute read
Figura 10. Polígono de n lados, antes y después de aplicación del algoritmo
from 105147
El algoritmo permite reducir el número de vértices de una poligonal, vértices duplicados y nodos colineales, teóricamente es quedarse solo con los vértices que hacen esquina, descartando aquellos vértices cuyo ángulo interno este cercano a π (180 grados sexagesimales).
![](https://assets.isu.pub/document-structure/220111143607-d87d319ea884341f855b0900aaee5455/v1/e7dd85b85b06f09138aa5ae7ff9c212c.jpeg?width=720&quality=85%2C50)
Advertisement
Figura 10. Polígono de n lados, antes y después de aplicación del algoritmo
La figura 10 muestra de manera gráfica el uso del algoritmo sic_getpuntosesquinas que permite reducir el número de vértices a solo los vértices que realmente son esquina del polígono analizado, cabe mencionar que en ningún momento se altera la poligonal de la base de datos espacial, es decir, la cantidad de vértices originales de los polígonos se mantiene intacta, los nuevos vértices son utilizados solo dentro de los algoritmos de esta investigación y para los fines que aplique según sea el caso técnico que se trate.
Dentro de la función se utiliza la ley de cosenos, esta ecuación es muy útil para saber el ángulo interno de cada tercia de vértices, (A,C,B), se debe cumplir lo siguiente:
c2 = a 2 + b 2 – 2 ab cos C .
El código completo de la ley de cosenos se muestra en el recuadro de código 9.
CREATE OR REPLACE FUNCTION valuacion.sic_leycoseno(p1 geometry,p2 geometry,p3 geometry)
RETURNS real
LANGUAGE 'PL/PgSQL'
COST 100
VOLATILE