Programa en MapBasic para realizar rutas a partir de puntos. Esto puede ser útil en muchas circunstancias, por ejemplo en una encuesta origen destino donde se tienen los nodos pero se quiere representar la ruta.
Este programa para un archivo de 400 puntos, genera una linea secuencial entre ellos. Es decir, une el primer punto con el segundo, el segundo con el tercero, etc.
Es decir, desde algo como esto:
Genera esto:
El resultado lo almacena en un archivo llamado Rutas.
Para correrlo se necesita tener un archivo en Mapinfo que se llame Puntos donde se almacenan los 400 puntos (pueden ser más siempre y cuando se modifique la línea del for N=1 to 400. Otro archivo vacío se debe llamar rutas.
'Programa para dibujo de rutas Tona Mini
Dim PuntoACrecer As Object 'define variable objeto donde estará siguiente pto.
Dim N As Integer 'se almacena contador
Dim CurrentX,CurrentY As Float 'se almacena coordenadas 1
Dim CurrentX2,CurrentY2 As Float 'coordenadas siguientes
Select Obj From Puntos Where RowId=1 'se selecciona el primer punto
PuntoACrecer=Selection.Obj 'se almacena en una variable objeto
CurrentX=CentroidX(PuntoACrecer) 'se extraen sus coordenadas
CurrentY=CentroidY(PuntoACrecer)
For N=2 To 400 'se inicia el conteo para el total de puntos
Select Obj From Puntos Where RowId=N Into Sel 'almacena punto en archivo dedicado a puntos
PuntoACrecer=Sel.Obj 'se almacena en punto variable objeto
CurrentX2=CentroidX(PuntoACrecer) 'se extraen coordenadas
CurrentY2=CentroidY(PuntoACrecer)
Insert Into Rutas (Obj) 'se realiza el dibujo
Values (CreateLine (CurrentX,CurrentY,CurrentX2,CurrentY2)) 'se almacena en geobase
CurrentX=CurrentX2 'almacenan segundas coords. en las primeras para repetir operacion
CurrentY=CurrentY2
Next
No hay comentarios:
Publicar un comentario