Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] Insertar datos espaciales

Estas en el tema de Insertar datos espaciales en el foro de Mysql en Foros del Web. Hola a todos, tengo una duda respecto al insertar datos espaciales en mysql, tengo una tabla llamada 'lagunas', la cual posee dos campos, 'Nombre_Laguna' y ...
  #1 (permalink)  
Antiguo 13/02/2013, 11:07
Avatar de PolaNicole  
Fecha de Ingreso: febrero-2013
Ubicación: Chile
Mensajes: 28
Antigüedad: 11 años, 2 meses
Puntos: 0
Pregunta Insertar datos espaciales

Hola a todos, tengo una duda respecto al insertar datos espaciales en mysql, tengo una tabla llamada 'lagunas', la cual posee dos campos, 'Nombre_Laguna' y 'Puntos' ('Puntos' es de tipo Polygon), esta tabla almacenará todos los puntos de una laguna, pero al momento de ejecutar la consulta sql me dice que el campo 'Puntos' no puede ir vacío, pero no lo está según mi consulta, ¿Cuál es mi error?
Acá les dejo la consulta, ayuda porfa.

Gracias

INSERT INTO lagunas (Nombre_Laguna, Puntos) VALUES ('Redonda', GeomFromText('POLYGON((
-36.812951148310106 -73.06673739105463,
-36.81284807468871 -73.06681249290705,
-36.812508789704715 -73.06681785732508,
-36.81234558879706 -73.06690368801355,
-36.81215661889038 -73.06695196777582,
-36.81206642854319 -73.06696806102991,
-36.811924700640105 -73.0670753493905,
-36.81187316315573 -73.06716654449701,
-36.811843099607174 -73.06721482425928,
-36.81178726727136 -73.06732211261988,
-36.81172714009497 -73.06741867214441,
-36.81170996089304 -73.06750986725092,
-36.81171855049448 -73.06766543537378,
-36.81173572969449 -73.06775663048029,
-36.81174431929304 -73.0678478255868,
-36.81177008808293 -73.0679926648736,
-36.81177438288041 -73.06806776672602,
-36.81180015166017 -73.0681375041604,
-36.81182162563669 -73.06819651275873,
-36.81183451001969 -73.06825015693903,
-36.81186457357164 -73.06830380111933,
-36.811898931902256 -73.06838426738977,
-36.8119633537306 -73.06851837784052,
-36.81204065985306 -73.06861493736506,
-36.81209649200406 -73.06866858154535,
-36.81218668231582 -73.06872759014368,
-36.81225110390202 -73.06875441223383,
-36.81237135738455 -73.06878123432398,
-36.81251737921653 -73.06879196316004,
-36.812594684779526 -73.06881342083216,
-36.812624748032945 -73.06882414966822,
-36.812654811274555 -73.06878659874201,
-36.81267628501134 -73.06876514106989,
-36.8127063482327 -73.06870076805353,
-36.812736411442266 -73.06867394596338,
-36.81276647464003 -73.0686578527093,
-36.81279653782598 -73.06863103061914,
-36.81284377995148 -73.06863103061914,
-36.812886727313 -73.06863639503717,
-36.812925379917765 -73.0686417594552,
-36.812946853578644 -73.06865248829126,
-36.81297262196376 -73.06872759014368,
-36.81298550615306 -73.0687490478158,
-36.81299839034019 -73.06875977665186,
-36.81306281124333 -73.0687490478158,
-36.813079990141674 -73.06872222572565,
-36.813075695417446 -73.06866321712732,
-36.81315300041664 -73.0685505643487,
-36.81319594760468 -73.0684969201684,
-36.81321312647315 -73.0684057250619,
-36.81327325248244 -73.0683359876275,
-36.81329902075768 -73.06832525879145,
-36.8133333784445 -73.06831452995539,
-36.81337632553135 -73.06830380111933,
-36.81339350435935 -73.06825015693903,
-36.81341927259411 -73.06816432625055,
-36.81341927259411 -73.06809458881617,
-36.81341497788891 -73.06804094463587,
-36.81341068318348 -73.06795511394739,
-36.81342356729905 -73.06786391884089,
-36.81341068318348 -73.06780491024256,
-36.81338491494583 -73.06772444397211,
-36.81339350435935 -73.06762252002954,
-36.81337632553135 -73.06728456169367,
-36.81336773611591 -73.06721482425928,
-36.81334626257309 -73.06715045124292,
-36.8133333784445 -73.0670753493905,
-36.813187358169 -73.06681785732508,
-36.81314870569651 -73.06679103523493,
-36.8130885795894 -73.06674275547266,
-36.8130542217927 -73.06674275547266,
-36.81300697979708 -73.06673739105463))'));
  #2 (permalink)  
Antiguo 15/02/2013, 10:39
 
Fecha de Ingreso: octubre-2008
Mensajes: 127
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: Insertar datos espaciales

Hola,

has probado en cerrar el polígono? es decir, que el punto final e inicial sean el mismo.

Mira:
Si ejecutas:

Código MySQL:
Ver original
  1. select GeomFromText('POLYGON((
  2. -36.812951148310106 -73.06673739105463,
  3. -36.81284807468871 -73.06681249290705,
  4. -36.812508789704715 -73.06681785732508,
  5. -36.81234558879706 -73.06690368801355,
  6. -36.81215661889038 -73.06695196777582,
  7. -36.81206642854319 -73.06696806102991,
  8. -36.811924700640105 -73.0670753493905,
  9. -36.81187316315573 -73.06716654449701,
  10. -36.811843099607174 -73.06721482425928,
  11. -36.81178726727136 -73.06732211261988,
  12. -36.81172714009497 -73.06741867214441,
  13. -36.81170996089304 -73.06750986725092,
  14. -36.81171855049448 -73.06766543537378,
  15. -36.81173572969449 -73.06775663048029,
  16. -36.81174431929304 -73.0678478255868,
  17. -36.81177008808293 -73.0679926648736,
  18. -36.81177438288041 -73.06806776672602,
  19. -36.81180015166017 -73.0681375041604,
  20. -36.81182162563669 -73.06819651275873,
  21. -36.81183451001969 -73.06825015693903,
  22. -36.81186457357164 -73.06830380111933,
  23. -36.811898931902256 -73.06838426738977,
  24. -36.8119633537306 -73.06851837784052,
  25. -36.81204065985306 -73.06861493736506,
  26. -36.81209649200406 -73.06866858154535,
  27. -36.81218668231582 -73.06872759014368,
  28. -36.81225110390202 -73.06875441223383,
  29. -36.81237135738455 -73.06878123432398,
  30. -36.81251737921653 -73.06879196316004,
  31. -36.812594684779526 -73.06881342083216,
  32. -36.812624748032945 -73.06882414966822,
  33. -36.812654811274555 -73.06878659874201,
  34. -36.81267628501134 -73.06876514106989,
  35. -36.8127063482327 -73.06870076805353,
  36. -36.812736411442266 -73.06867394596338,
  37. -36.81276647464003 -73.0686578527093,
  38. -36.81279653782598 -73.06863103061914,
  39. -36.81284377995148 -73.06863103061914,
  40. -36.812886727313 -73.06863639503717,
  41. -36.812925379917765 -73.0686417594552,
  42. -36.812946853578644 -73.06865248829126,
  43. -36.81297262196376 -73.06872759014368,
  44. -36.81298550615306 -73.0687490478158,
  45. -36.81299839034019 -73.06875977665186,
  46. -36.81306281124333 -73.0687490478158,
  47. -36.813079990141674 -73.06872222572565,
  48. -36.813075695417446 -73.06866321712732,
  49. -36.81315300041664 -73.0685505643487,
  50. -36.81319594760468 -73.0684969201684,
  51. -36.81321312647315 -73.0684057250619,
  52. -36.81327325248244 -73.0683359876275,
  53. -36.81329902075768 -73.06832525879145,
  54. -36.8133333784445 -73.06831452995539,
  55. -36.81337632553135 -73.06830380111933,
  56. -36.81339350435935 -73.06825015693903,
  57. -36.81341927259411 -73.06816432625055,
  58. -36.81341927259411 -73.06809458881617,
  59. -36.81341497788891 -73.06804094463587,
  60. -36.81341068318348 -73.06795511394739,
  61. -36.81342356729905 -73.06786391884089,
  62. -36.81341068318348 -73.06780491024256,
  63. -36.81338491494583 -73.06772444397211,
  64. -36.81339350435935 -73.06762252002954,
  65. -36.81337632553135 -73.06728456169367,
  66. -36.81336773611591 -73.06721482425928,
  67. -36.81334626257309 -73.06715045124292,
  68. -36.8133333784445 -73.0670753493905,
  69. -36.813187358169 -73.06681785732508,
  70. -36.81314870569651 -73.06679103523493,
  71. -36.8130885795894 -73.06674275547266,
  72. -36.8130542217927 -73.06674275547266,
  73. -36.81300697979708 -73.06673739105463))') as poligono;

Verás que retorna NULL, que parece que es el problema que tienes.
Si ejecutas:

Código MySQL:
Ver original
  1. select GeomFromText('POLYGON((
  2. -36.812951148310106 -73.06673739105463,
  3. -36.81284807468871 -73.06681249290705,
  4. -36.812508789704715 -73.06681785732508,
  5. -36.81234558879706 -73.06690368801355,
  6. -36.81215661889038 -73.06695196777582,
  7. -36.81206642854319 -73.06696806102991,
  8. -36.811924700640105 -73.0670753493905,
  9. -36.81187316315573 -73.06716654449701,
  10. -36.811843099607174 -73.06721482425928,
  11. -36.81178726727136 -73.06732211261988,
  12. -36.81172714009497 -73.06741867214441,
  13. -36.81170996089304 -73.06750986725092,
  14. -36.81171855049448 -73.06766543537378,
  15. -36.81173572969449 -73.06775663048029,
  16. -36.81174431929304 -73.0678478255868,
  17. -36.81177008808293 -73.0679926648736,
  18. -36.81177438288041 -73.06806776672602,
  19. -36.81180015166017 -73.0681375041604,
  20. -36.81182162563669 -73.06819651275873,
  21. -36.81183451001969 -73.06825015693903,
  22. -36.81186457357164 -73.06830380111933,
  23. -36.811898931902256 -73.06838426738977,
  24. -36.8119633537306 -73.06851837784052,
  25. -36.81204065985306 -73.06861493736506,
  26. -36.81209649200406 -73.06866858154535,
  27. -36.81218668231582 -73.06872759014368,
  28. -36.81225110390202 -73.06875441223383,
  29. -36.81237135738455 -73.06878123432398,
  30. -36.81251737921653 -73.06879196316004,
  31. -36.812594684779526 -73.06881342083216,
  32. -36.812624748032945 -73.06882414966822,
  33. -36.812654811274555 -73.06878659874201,
  34. -36.81267628501134 -73.06876514106989,
  35. -36.8127063482327 -73.06870076805353,
  36. -36.812736411442266 -73.06867394596338,
  37. -36.81276647464003 -73.0686578527093,
  38. -36.81279653782598 -73.06863103061914,
  39. -36.81284377995148 -73.06863103061914,
  40. -36.812886727313 -73.06863639503717,
  41. -36.812925379917765 -73.0686417594552,
  42. -36.812946853578644 -73.06865248829126,
  43. -36.81297262196376 -73.06872759014368,
  44. -36.81298550615306 -73.0687490478158,
  45. -36.81299839034019 -73.06875977665186,
  46. -36.81306281124333 -73.0687490478158,
  47. -36.813079990141674 -73.06872222572565,
  48. -36.813075695417446 -73.06866321712732,
  49. -36.81315300041664 -73.0685505643487,
  50. -36.81319594760468 -73.0684969201684,
  51. -36.81321312647315 -73.0684057250619,
  52. -36.81327325248244 -73.0683359876275,
  53. -36.81329902075768 -73.06832525879145,
  54. -36.8133333784445 -73.06831452995539,
  55. -36.81337632553135 -73.06830380111933,
  56. -36.81339350435935 -73.06825015693903,
  57. -36.81341927259411 -73.06816432625055,
  58. -36.81341927259411 -73.06809458881617,
  59. -36.81341497788891 -73.06804094463587,
  60. -36.81341068318348 -73.06795511394739,
  61. -36.81342356729905 -73.06786391884089,
  62. -36.81341068318348 -73.06780491024256,
  63. -36.81338491494583 -73.06772444397211,
  64. -36.81339350435935 -73.06762252002954,
  65. -36.81337632553135 -73.06728456169367,
  66. -36.81336773611591 -73.06721482425928,
  67. -36.81334626257309 -73.06715045124292,
  68. -36.8133333784445 -73.0670753493905,
  69. -36.813187358169 -73.06681785732508,
  70. -36.81314870569651 -73.06679103523493,
  71. -36.8130885795894 -73.06674275547266,
  72. -36.8130542217927 -73.06674275547266,
  73. -36.81300697979708 -73.06673739105463,
  74. -36.812951148310106 -73.06673739105463))') as poligono;

sólo he añadido como último punto, el mismo que tienes en primer lugar, verás que te devuelve un valor en binario.

Saludos.

Última edición por ComprasDesdeCasa; 15/02/2013 a las 11:13
  #3 (permalink)  
Antiguo 15/02/2013, 17:38
Avatar de PolaNicole  
Fecha de Ingreso: febrero-2013
Ubicación: Chile
Mensajes: 28
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Insertar datos espaciales

Y yo ahogandome en un vaso de agua.

Muchas gracias!

Etiquetas: insert
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:10.