Uz saturu

Ipiķi un citi

  • 2009.11.11. 14:54
  • Techy

Vakardienas izpēte un jūsu komentāri rezultējās ar nežēlīgiem panākumiem.

Tātad, pētot un domājot kļuva skaidrs tas, ka problēma ir ar izejas datiem. Procesa laikā noskaidroju, kas tad galu galā ir shapre faili, un kāda tajos ir informācija. Ātri uzmeklējot devīgajos internetos failus pagasti.shp un novadi.shp, tie nokļuva manā rīcībā. Šajos failos, kā izrādās, ir visa nepieciešamā informācija (poligoni, kuri apraksta pilsētu, pagastu, novadu robežas) UTM koodrināšu sistēmā.

Tālākais jau bija tehnikas jautājums. UTM koordinātas ir iespējams pārkonvertēt uz platuma un garuma grādiem, ja zin to projekciju, kura izrādījās esam WGS84. Izmantojot mazu utilītu ogr2ogr tika iegūts XML fails ar nepieciešamajām koordinātām man vajadzīgajā formātā. Fiksi uzmetot Ipiķus uz Gūgles kartes, viss izskatījās dievīgi (ar daždesmit metru nobīdi dažviet, bet tā nav problēma).

Tālākā iterācija problēmai ir sekojoša. Izmantojam MySQL Spatial paplašinājumus, lai iestumtu datubāzē kā novadu robežas, tā pagastu un pilsētu robežas. Teorijā pēc tam var jebkuram punktam pateikt, kur tas atrodas. Diemžēl praksē MySQL GIS funkcionalitātes iespējas ir gauži ierobežotas un problemātiskas. Piemēram,

laacz@skapis[gis]>  -- Kur ir Ipiķi?
SET @ipiki = GeomFromText('POINT(58.0093006 25.1778021)');
SELECT 
    Within(@point, g) AS `within`, 
    name, 
    type
FROM
    gis 
WHERE 
    Within(@ipiki, g) = 1;
+--------+------------+---------+
| within | name       | type    |
+--------+------------+---------+
|      1 | Ipiķu      | pagasts |
|      1 | Mazsalacas | novads  |
|      1 | Rūjienas   | novads  |
+--------+------------+---------+
3 rows IN SET (0.00 sec)

Lieki piebilst, ka Mazsalacas novads nepārklāj Ipiķu atrašanās vietas punktu nevienā acī, bet MySQL tā nedomā. Tas gan nenozīmē, ka es vaļasbrīžos neturpināšu cīņu :)

Papildināts 21:58. Izrādās, ka MySQL (vēl aizvien arī tekošajā 5.1 GA versijā) operē nevis ar poligoniem, bet gan ar taisnstūriem, kuri šos poligonus pilnībā ietver (bounding rectangles), kā rezultātā neder. PostgreSQL izmantot tikai šiem nolūkiem neredzu jēgu. Tiesa, cilvēki strādā pie tā, lai MySQL ieviestu pilnvērtīgu OpenGIS atbalstu, bet, kā jau MySQL pierasts, tādas lietas nāk ļoti, ļoti lēnām (konkrēti – anonss par testēšanu ir 2 gadus vecs)…

Komentāri (20)

  1. Laiks:
    1. BlackHalt @ 2009.11.11. 15:42, teica:
    Komentārs:

    Es jau palīdzētu, bet es ne sūda nesaprotu ko Tu tur gribi panākt!

  2. Laiks:
    2. Kristaps Kūlis @ 2009.11.11. 16:24, teica:
    Komentārs:

    Iesaku DjangoGIS

  3. Laiks:
    3. Antuanete @ 2009.11.11. 17:34, teica:
    Komentārs:

    Silti iesaku nemēģināt izgudrot velosipēdu, bet vērsties ar savu sāpi pie draudzīgā gisnet.lv kolektīva – ja nu Latvijā kādam ir vienlaikus varēšana un vēlēšanās ar to nodarboties, tad tie ir viņi :)

  4. Laiks:
    4. mod @ 2009.11.11. 19:22, teica:
    Komentārs:

    lacis pazudis http://miljons.com/lv/7783/

  5. Laiks:
    5. Lafriks @ 2009.11.11. 21:33, teica:
    Komentārs:

    Ieteiktu pamēģināt PostgreSQL + PostGIS, noteikti būs labāks par MySQL spatial

  6. Laiks:
    6. hmm @ 2009.11.12. 00:37, teica:
    Komentārs:

    http://www.draugiem.lv/gallery/?pid=69638835 video par laacha pazushanu

  7. Laiks:
    7. Pēteris @ 2009.11.12. 08:18, teica:
    Komentārs:

    Man ar te iestājas BlackHalt jautājums, varbūt neizskoju pavedienam.
    A tai gūglei nav sapratīgi barot iekšā KML? Ja negribās postgresql var mēģināt spatialite, tikai tā ir tāda maz un pagaidām ne īpaši stabila mantiņa. Protams var skriptoties un izmantot tos pašus shp nekur neko nekonvertējot.

  8. Laiks:
    8. Snifs @ 2009.11.12. 10:45, teica:
    Komentārs:

    Lai arī ar Google API neesmu strādājis, man ar’ radās jautājums, vai nav vienkāršāk shp pārkonvertēt uz kml, un tad izmantot to. Un ieteikums vērsties pie gisnet.lv arī ir vietā. :)

  9. Laiks:
    9. modric @ 2009.11.12. 12:20, teica:
    Komentārs:

    Antuanete te tik sen nebija redzēta komentējam, ka es pat biju piemirsis jau, ka lai nu kas, bet viņa gan ir “drusku” :) kompetenta iekš subject un varētu līdzēt…

    Kā saka, atnāca tēvs un ar cirvi nolīdzināja, ko dēls bija mēģinājis ēvelēt :)

  10. Laiks:
    10. Atecina @ 2009.11.12. 13:18, teica:
    Komentārs:

    Tāds intīms brīdis šādi ielūkoties tādā īstenā programmēšanas pasaulē. Visi tie nezināmie apzīmējumi skan gluži kā melodija manām ausīm!

  11. Laiks:
    11. dadzis @ 2009.11.12. 14:14, teica:
    Komentārs:

    uzminat, par ko šitās 2 naktis lācis ir sapņojis? pareizi, ipiķi, pipiķi par un ap :D
    smadzeņsports ir veselīgs pasākums vainu savam priekam vai tam ir kāds busines apakšā, veslīgi, lai veicas!

  12. Laiks:
    12. Antuanete @ 2009.11.12. 16:48, teica:
    Komentārs:

    Modric – šajā konkrētajā jautājumā es neesmu necik kompetenta, bet zinu, kur meklēt pareizos cilvēkus :) Būtu ātrāk ieskatījusies iepriekšējā Laacz ierakstā, tad gan būtu varējusi aiztaupīt dažu labu galvlauzīšanas etapu :)

  13. Laiks:
    13. laacz @ 2009.11.12. 20:52, teica:
    Komentārs:

    Antuanete, paldies, taču process bija interesants un, kas pats galvenais, vainagojās panākumiem :) Ja neskaita MySQL daļu.

  14. Laiks:
    14. kazlens @ 2009.11.13. 07:55, teica:
    Komentārs:

    tev noscript daļā vārdā “atbalstam” ir kļūda – “pārlūkā jābūt ieslēgtam JavaScript atbalstasm!”

  15. Laiks:
    15. modric @ 2009.11.13. 12:20, teica:
    Komentārs:

    Antuanete – sorre, būšu sajaucis tevi ar citu – viņai kartogrāfija/ģeodēzija ir profesija.

  16. Laiks:
    16. ulzha @ 2009.11.15. 21:52, teica:
    Komentārs:

    Punkta piederība daudzstūrim vulgaris jau vairs nav tik sūra raķešzinātne

  17. Laiks:
    17. krysits @ 2009.11.17. 19:20, teica:
    Komentārs:

    Kā tu pārkonvertēji UTM koordinātas uz WGS84 – ar ogr2ogr iebūvētiem līdzekļiem vai kā citādi? Man nesanāk pareizi.

  18. Laiks:
    18. laacz @ 2009.11.17. 20:00, teica:
    Komentārs:

    krysits, šķiet, izmantoju ko šādu:

    ogr2ogr -t_srs WGS84 -f GML out.mif in.shp

  19. Laiks:
    19. Kirils @ 2009.11.19. 09:30, teica:
    Komentārs:

    laacz, labaak pastaasti kaa uz googles kartes (kas ir manaa lapaa) uzmest wikimapia datus? (vinji integreetaa karte neder, gribu uz savas uzmest un veel lietas sameetaat pa virsu)

    vot nesanaak.

  20. Laiks:
    20. krysits @ 2009.11.25. 21:30, teica:
    Komentārs:

    ERROR 6: Unable to load PROJ.4 library (libproj.so), creation of
    OGRCoordinateTransformation failed.
    Failed to create coordinate transformation between the
    following coordinate systems. This may be because they
    are not transformable, or because projection services
    (PROJ.4 DLL/.so) could not be loaded.
    Source:
    PROJCS[“Transverse_Mercator”,

    Acīmredzot nebija sakompilējusies pareizi gdal bibliotēka.

Ierakstīt savu sakāmo


XHTML: Tu vari izmantot šos tagus (un to atribūtus): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Moderācija: Daži vārdi var gadīties, ka ir iz melnās listes (viagra and stuff). Tādi komentāri tiek premoderēti, pirms parādās lapā. Ja Tavs komentārs neparādās uzreizi, būs vien jāpagaida, līdz es jamo izlasīšu.