Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
wytnij/wklej - ERROR: invalid input syntax for integer: ""
21-06-2010, 08:04,
#1
wytnij/wklej - ERROR: invalid input syntax for integer: ""
Witam.
Mam następujący problem. Mianowicie nie wiedząc czemu nie mogę przenosić wielu obiektów miedzy warstwami. Prościej - jeżeli zaznaczony jest jeden obiekt mogę go wyciąć i wkleić do nowej warstwy. Jeżeli jest ich > 1 przy próbie zapisu warstwy (po wklejeniu) wyskakuje ERROR: invalid input syntax for integer: "". Qgis 1.4 na Postgresql 8.4. Żeby jeszcze troszkę skomplikować powiem, iż czasami "udaje się" przenieść więcej obiektów (szczególnie za pierwszą próbą - późniejsze nie dają rady).
Jeżeli ktoś zetkną się z powyższym problemem lub zna rozwiązanie proszę o info.
Pozdrawiam.
21-06-2010, 08:42,
#2
RE: wytnij/wklej - ERROR: invalid input syntax for integer: ""
Wygląda na różne tabele atrybutów, skoro próbuje wpisać "" w pole liczbowe. Aczkolwiek nie mam pomysłu, czemu ujawnia się tylko czasami. Czy ta postgisowa tabela ma geometrię w ostatniej kolumnie? Teoretycznie nie musi, ale tak jest najbezpieczniej.
21-06-2010, 09:28,
#3
RE: wytnij/wklej - ERROR: invalid input syntax for integer: ""
Hhmmm... wygląda na mój błąd. W jednej z kolumn jakimś cudem było double precision zamiast intiger. A bym sobie dał rękę uciąć, że były takie same. Teraz wydaje się wszystko śmigać. Można kasować. Dzięki.
Pozdrawiam.
21-06-2010, 12:36,
#4
RE: wytnij/wklej - ERROR: invalid input syntax for integer: ""
A, to widocznie śmigały te, gdzie były całkowite wartości. Qgis konwertuje wszystko do uniwersalnego formatu QVariant i dlatego wysypuje się dopiero na etapie commitu do bazy.
21-06-2010, 19:13,
#5
RE: wytnij/wklej - ERROR: invalid input syntax for integer: ""
Tak przy okazji, może macie pomysł czemu QGIS nie zawsze kopiuje polskie czcionki do warstwy postgisowej? Baza ma ustawione kodowania UTF8, warstwa SHP też. Pomimo tego po skopiowaniu danych z warstwy SHP do postgisa polskie litery zmieniają się w krzaczki.
Co ciekawe, jeżeli dany atrybut dla części obiektów zawiera polską literę, a dla części nie, to kopiując te obiekty oddzielnie wszystko jest ok. Ale jeżeli kopiuję wszystkie to polskie litery znikają.

QGIS 1.4, WinXP
21-06-2010, 19:20,
#6
RE: wytnij/wklej - ERROR: invalid input syntax for integer: ""
A kopiujesz SPITem? SHP jest kodowany w utfie ORAZ w okienku wyboru pliku jest zaznaczony uft?
21-06-2010, 19:31,
#7
RE: wytnij/wklej - ERROR: invalid input syntax for integer: ""
(21-06-2010, 19:20)borys napisał(a): A kopiujesz SPITem?

SPITem utworzyłem warstwy w bazie (z początkowymi danymi).
Później z kolejnych danych w formie tekstowej tworzę (wtyczką do importowania tekstu) pliki SHP, które zapisuję z kodowaniem UTF8. W warstwach SHP polskie czcionki są ok. Dopiero po skopiowaniu obiektów z SHP na warstwę postgis (a dokładniej po zapisie do bazy) pojawiają się krzaczki.

(21-06-2010, 19:20)borys napisał(a): ... ORAZ w okienku wyboru pliku jest zaznaczony uft?

W którym okienku wyboru?
25-06-2010, 15:53,
#8
RE: wytnij/wklej - ERROR: invalid input syntax for integer: ""
(21-06-2010, 19:31)Rayo napisał(a): SPITem utworzyłem warstwy w bazie (z początkowymi danymi).
Później z kolejnych danych w formie tekstowej tworzę (wtyczką do importowania tekstu) pliki SHP, które zapisuję z kodowaniem UTF8. W warstwach SHP polskie czcionki są ok. Dopiero po skopiowaniu obiektów z SHP na warstwę postgis (a dokładniej po zapisie do bazy) pojawiają się krzaczki.

A, czyli podczas kopiuj-wklej między warstwami? To nie wiem, gdzie jest pies pogrzebany. Na linuchu nie udaje mi się tego błędu zreprodukować, wszystko śmiga jak powinno.

Nie wiem czy postgres obsługuje automatyczny wybór kodowania (ja zawsze mam ustawiony na sztywno na utf8). Bo to zachowanie może sugerować, że ustawia kodowanie według pierwszego rekordu w transakcji, preferując latin1 nad utf8. Jeśli tak by było, to wszystko zależy od tego, czy ten pierwszy rekord zawiera znaki utfowe, czy nie... Może to jest jakiś trop.

(21-06-2010, 19:31)Rayo napisał(a): W którym okienku wyboru?

W SPITcie, ale to już nieaktualne pytanie :-)
01-07-2010, 13:41, (Ten post był ostatnio modyfikowany: 02-07-2010, 13:08 {2} przez sebaq.)
#9
RE: wytnij/wklej - ERROR: invalid input syntax for integer: ""
Kurcze muszę przyznać, iż też to zauważyłem. Polskie znaki są 'gubione' przy przenoszeniu pomiędzy warstwami za pomocą kopiuj/wklej. Oczywiście warstwy w bazie postgresql. Dzieje się to przy przenoszeniu wielu elementów (z pojedynczymi nie zauważyłem problemu). Bazę mam w UTF8, porównanie Polish_Poland.1250. W postgresql opcję 'Pliki są czytane i zapisywane w unikodzie UTF8'. Czy są jeszcze jakieś inne opcje?
/Qgis 1.4, Postgresql 8.4 i WinXP/

PS. Sprawa wydaje się mieć związek z Mapami Wartości wczytanymi z pliku csv. W pliku qgs po wczytaniu polskich znaków zostają same śmieci. Może to jest trop...
05-07-2010, 10:38,
#10
RE: wytnij/wklej - ERROR: invalid input syntax for integer: ""
Ciężko mi powiedzieć, bo nie używam ani windowsów, ani kodowań innych niż utf8.
A co do mapy wartości, to nie sprawdzałem, ale pewnie plik CSV powinien być w utf8, a jest w cp1250.


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  input w konsoli pythona Kzyhó 0 3 388 20-03-2019, 12:48
Ostatni post: Kzyhó
  Runtime Error arkads 0 6 880 16-04-2013, 10:29
Ostatni post: arkads
  Liczby z CSV jako Integer QGIS 1.7 tomgie 2 13 961 25-06-2011, 22:22
Ostatni post: tomgie

Skocz do: