Perfil de terreno en PHP

Buenas tardes compañeros, estoy por realizar un sistema de caculo de propagación de enlace microondas en PHP, que mediante un formulario ingresar las coordenadas de 2 puntos, el cual mediante un calculo me muestre como resultado el perfil del terreno del lugar y la distancia de ambos puntos mediante una línea, pero no se como hacer para que me muestre dicho perfil, alguna idea por favor? como resultado quisiera que me muestre este grafico(perfil de terreno) como resultado quisiera que me muestre este grafico(perfil de terreno)

Como formatear un Json en PHP

Veran estoy teniendo problemas para enviar información a una API, en si el problema es que me envía la información como un String y por lo tanto no funciona el recorrido del arreglo.

Lo que yo deseo recibir es algo así:

{"datos":["83","3"],"mail":"adanasr@gmail.com"} 

Pero lo que estoy recibiendo es esto:

{"datos":"[\"83\",\"3\"]","mail":"adanasr@gmail.com"} 

¿Como puedo formatear dicho string con PHP para lograr el resultado esperado?

Gracias.

No entiendo el siguiente bucle for, javascript

Hola buenas recién acabe un ejercicio para verificar si un numero es primo o no pero no acabo de entender del todo la solución ya que este bucle no comprendo bien su significado. Adjunto todo el código y lo que no comprendo es la parte que esta en el else. Saludos.

<!DOCTYPE html> <html>     <head>         <title></title>         <meta charset="UTF-8">         <style type="text/css">         </style>     </head>     <body>         <script>             var numero = parseInt(prompt('Introduzca el numero que desea analizar si es primo o no: '));             function test_Primo(numero) {                 if (numero==1){                     return  false;                 } else if(numero == 2){                     return  true;                 }                 else{                     for (var x=2; x<numero; x++){                         if(numero%x == 0) {                             return  false;                         }                     }                     return  true;                   }             }             if(test_Primo(numero)==true) {                 alert('El numero ' + numero + ' es primo');             }               if(test_Primo(numero)==false) {                 alert('El numero ' + numero + ' no es primo');             }          </script>     </body> </html>

¿Porque una petición de ajax me devuelve el error de CORS pero una petición desde android funciona?

Actualmente estoy trabajando en la creación de un mapa que muestra las ubicaciones de las sucursales. Para ello el deparrtamento de sistemas de la empresa nos ha otorgado el acceso a un webservice asmx, que nos devuelve esta información, esta consulta se implementó exitosamente en las apps de android y de ios, es una petición a la que no se le envían parámetros (no se si sea relevante pero el asmx tampoco tiene seguridad no está montado con https).

http://urlprovedor.mx/ws/direcciones.asmx/getCarburaciones 

El problema es que al intentar hacer la misma petición desde ajax devuelve el error

`Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en http://urlprovedor.mx/ws/direcciones.asmx/getCarburaciones%20?_=1561393493766 (razón: falta la cabecera CORS 'Access-Control-Allow-Origin')` 

Esto es lo que he intentado:

       $  (document).ready(function(){             $  .ajax({                 url: "http://urlprovedor.mx/ws/direcciones.asmx/getCarburaciones",                 cache: false             }).done(function(response) {                 console.log(response);             });         }); 

Porsupesto he leído un poco del tema aquí en stackoverflow, algunos usuarios recomiendan instalar un plugin al navegador pero esta opción es inviable para nosotros, otra opción es modificar el ws para añadir urls o ips desde los que se permitirán las peticiones, pero como menciono nosotros no tenemos forma de modificar el código del lado del servidor.

Nótese que efectivamente la petición se pretende hacer desde otro dominio, dado que nuestro cliente tiene 2 sitios (uno para sus clientes y otro para sus provedores) y el ws es montado solo en el sitio de sus provedores.

¿existe alguna forma de hacer la petición como se logra hacer el android e ios teniendo en cuenta nuestras limitantes? ¿por que en el caso de las apps no aplica dicha revisión de cors?

Como enviar imagen base64 a web services POST C#

Tengo un problema al tratar de consumir un servicio web tipo POST externo; me piden que envíe una imagen en base64, pero al enviarlo me lanza este error: System.UriFormatException: ‘URI no válido: la cadena URI es demasiado larga.’esto sucede antes de enviar todos los datos al web services. la imagen pesa 30 kb.

List<string> Lista = new List<string>(); string url = "http://xxx.cti.lat/yyy/webservices/go.php"; WebClient wc = new WebClient();  wc.QueryString.Add("a", "pDepositos"); wc.QueryString.Add("idc", cueNatura); wc.QueryString.Add("idop", idop); wc.QueryString.Add("nrodoc", numOpe); wc.QueryString.Add("fechadep", "2019/06/21"); wc.QueryString.Add("monto", montoDep); wc.QueryString.Add("local", estable); wc.QueryString.Add("det", ""); wc.QueryString.Add("tipopago", tipoDep); wc.QueryString.Add("canales", "RED"); wc.QueryString.Add("imag64", imagenDep);  var data = wc.UploadValues(url, "POST", wc.QueryString); var responseString = UnicodeEncoding.UTF8.GetString(data);  JavaScriptSerializer js = new JavaScriptSerializer(); dynamic listaMove = js.Deserialize<dynamic>(responseString); 

El error sucede en esta parte de mi codigo: var data = wc.UploadValues(url, “POST”, wc.QueryString); Esto es lo obtengo al convertir en base64:

introducir la descripción de la imagen aquí

¿Como hago transparente el fondo de mi canvas?

Estoy haciendo un joystick y me dijeron que la solucion para poner el fondo transparente es esta linea pero no se donde ponerla

view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

The param Color.TRANSPARENT just put my canvas background color in black and I can’t see the layout background color that is green.


Here my code to draw the joystick

private void drawJoystick(float newX, float newY) {     if(getHolder().getSurface().isValid())     {         Canvas myCanvas = this.getHolder().lockCanvas();         Paint colors = new Paint();         myCanvas.drawColor(Color.Transparent, PorterDuff.Mode.CLEAR);         myCanvas.drawCircle(centerX, centerY, baseRadius, colors);          colors.setARGB(255,255,0,0);         myCanvas.drawCircle(newX,newY,hatRadius,colors);         getHolder().unlockCanvasAndPost(myCanvas);     } } 

[enter image description here][1]

¿Puedo Instalar Paquetes de Node.js sin Conexión a Internet?

antes que nada quiero aclarar que soy de Cuba y aquí el internet es súper caro costando 1$ por hora y por eso formulo esta pregunta. Se que normalmente los paquetes de node se instalan muy facil por sus respectivos comandos y todo funciona muy bien y genial pero hay que tener conexión a internet.

Me gustaría saber por favor si alguien sabe como descargar los paquetes de node para poder instalarlos sin conexión a internet en mi computadora, cabe destacar que la computadora en que escribo estoy no es mi PC personal por lo que necesito poder descargarlos para más adelante poder instalarlos sin conexión a internet, estoy usando un proxy para la conexión a internet.

Agradecería muchísimo si alguien me ayuda y me explica paso a paso como hacer esto posible, no se imaginan cuanto se los agradecería. Muchas gracias de antemano.

problema de escritura y lectura de objeto en un fichero binario

Tengo una aplicación que me debe permitir dar de alta médicos y listarlos, estos médicos se irán agregando a un archivo que podrá ser leido.

El archivo en cuestión es un archivo serializable.

El problema que tengo es que cuando le doy a guardar el médico el archivo no contiene datos y cuando le doy a mostrar no me muestra nada, el archivo uando lo abro contiene un null.

Tengo una duda, y no sé si es por el interfaz o bien por la implementación de los métodos.

creo que el problema es que no me escribe en el archivo el objeto que estoy creando.

Os adjunto código:

1) Os paso la clase “medicos” (Hay un problema porque aunque le doy a implements serializable no me adjunta un serial version ID específico)

package tarea07grafica;  import java.io.Serializable;    public class medicos implements Serializable{  private static final long serialVersionUID = 1L;  //declaramos los atributos        private String NIF; private String nombre; private String apellidos; private int telefono; private String sexo; private boolean guardias; private String especialidad;  //creamos el constructor por defecto public medicos(){  }  //creamos el constructor public medicos(String NIF, String nombre, String apellidos, int telefono, String sexo, boolean guardias, String especialidad) {     this.NIF = NIF;     this.nombre = nombre;     this.apellidos = apellidos;     this.telefono = telefono;     this.sexo = sexo;     this.guardias = guardias;     this.especialidad = especialidad; }   //creamos los getter y setter public String getNIF() {     return NIF; }  public void setNIF(String NIF) {     this.NIF = NIF; }  public String getNombre() {     return nombre; }  public void setNombre(String nombre) {     this.nombre = nombre; }  public String getApellidos() {     return apellidos; }  public void setApellidos(String apellidos) {     this.apellidos = apellidos; }  public int getTelefono() {     return telefono; }  public void setTelefono(int telefono) {     this.telefono = telefono; }  public String getSexo() {     return sexo; }  public void setSexo(String sexo) {     this.sexo = sexo; }  public boolean isGuardias() {     return guardias; }  public void setGuardias(boolean guardias) {     this.guardias = guardias; }  public String getEspecialidad() {     return especialidad; }  public void setEspecialidad(String especialidad) {     this.especialidad = especialidad; }   //creamos el metodo toString @Override public String toString() {     return "medicos= " + "NIF: " + NIF + ", nombre: " + nombre + ", apellidos: " + apellidos + ", telefono: " + telefono + ", sexo: " + sexo + ", guardias: " + guardias + ", especialidad: " + especialidad; } 

}

2) Ahora os paso la clase donde manejo los archivos (no sé si está planteada correctamente por los errores que me da en la lectura)

public class Tarea07Grafica {          private void leerArchivo(){          medicos m;         String NIF, nombre, apellidos, telefono, sexo, guardias, especialidad;          try {             FileInputStream archivo = new FileInputStream("medicos.txt");//abrimos el flujo de entrada             ObjectInputStream lectura = new ObjectInputStream(archivo);//usamos el ObjectInputStream para leer objetos del archivo             //recorremos el archivo               while(true){                 m = (medicos) lectura.readObject();                 NIF = m.getNIF();                 nombre = m.getNombre();                 apellidos = m.getApellidos();                 telefono = String.valueOf(m.getTelefono());                 sexo = String.valueOf(m.getSexo());                 guardias = String.valueOf(m.isGuardias());                 especialidad = String.valueOf(m.getEspecialidad());              }             //capturamos las excepciones             }catch (EOFException ex){             System.err.println("Error " + ex);                                 }catch (FileNotFoundException ex) {                 System.err.println("Error, " + ex);                             } catch (IOException | ClassNotFoundException ex) {             System.err.println("Error, " + ex);         }     }      public void añadirDatos(){                      try {            FileOutputStream archivo = new FileOutputStream ("medicos.txt", true);//abrimos el flujo de salida             try (ObjectOutputStream escritura = new ObjectOutputStream(archivo)) {//usamos el ObjectOutputStream para escribir objetos en el archivo                 medicos m = new medicos();//creamos el objeto                  escritura.writeObject(m); //escribimos objetos en el archivo                 escritura.close();//cerramos el archivo             }         //capturamos las excepciones         } catch (FileNotFoundException ex) {             System.err.println("Error," + ex);         } catch (IOException ex) {             System.err.println("Error, " + ex);         }      }      public static void main(String[] args){          Tarea07Grafica archivo = new Tarea07Grafica();         Interfaz Interfaz = new Interfaz();         Interfaz.setLocationRelativeTo(null);         Interfaz.setTitle("Ventana Principal");         Interfaz.setVisible(true);       } } 

3) Y ahora os adjunto el código de los métodos de la interfaz gráfica que creo que me están dando problemas (lo que quiero que el botón mostrar implemente el añadirDatos en la ventana de manejo de archivo,es decir, que me escriba.

private void btnMostrarActionPerformed(java.awt.event.ActionEvent evt) {                                                  File archivo = new File("medicos.dat");//inicializamos el objeto de tipo File      medicos m = null;//inicializamos a null el objeto creado      try {     FileInputStream fis = new FileInputStream(archivo); //abrimos el flujo de entrada de datos      if (archivo != null){ //ponemos el condicional para que compruebe si el fichero esta vacio o no         while (fis.available()>0){             ObjectInputStream entrada = new ObjectInputStream(fis); //establecemos la entrada de datos en el objeto             m = (medicos) entrada.readObject(); //leemos los datos del objeto             System.out.println(m.toString()); //imprimimos por pantalla los resultados         }         fis.close(); //cerramos el flujo de entrada     }  //capturamos las excepciones }catch (IOException e){     System.out.println("Final del archivo");  }   catch (ClassNotFoundException ex) {         System.err.println("Error " + ex);     } }    private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {                                             //primero validamos los datos  String datos = "";  if (txtNIF.getText().equals("")){ JOptionPane.showMessageDialog(null, "Ingrese el NIF"); return; }  if (txtNombre.getText().equals("")){ JOptionPane.showMessageDialog(null, "Ingrese el nombre"); return; }  if (txtApellidos.getText().equals("")){ JOptionPane.showMessageDialog(null, "Ingrese los apellidos"); return; }  if (txtTelefono.getText().equals("")){ JOptionPane.showMessageDialog(null, "Ingrese el telefono"); return; }  //grabamos los datos datos = txtNIF.getText() + txtNombre.getText() + txtApellidos.getText() + txtTelefono.getText() + " " + buttonGroup1.getSelection(); if (rbtnMujer.isSelected())     datos += " Mujer"; else     datos += " Hombre"; cbxGuardias.isSelected(); JcbxEspecialidad.setSelectedItem(datos + "\n");       }                                        

Os adjunto una visual de la interfaz gráfica:

introducir la descripción de la imagen aquí

Utilizar un temporizador para un método de una clase Java

Estoy utilizando un método en mi clase Java. Lo que necesito es lo siguiente:

Si lo llama en la primera ejecución, que la aplicación (estoy con Swagger, por si tenéis dudas) no vuelva a llamarlo pasados 5 minutos de la primera ejecución. Se que hay un temporizador con timer o timestamp para esto pero no encuentro nada. ¿Me podéis ayudar?

Cualquier duda o aclaración, decírmelo y lo reviso.

Muchas gracias