Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben

2021-11-04 Diskussionsfäden Claas Leiner
Wie steht der Pfad in der tabelle?

Wenn Du ein Windows-System nutzt,
hast Du das Problem, dass der \ für die
Maskierung von funktionstragenden Zeichen zuständig ist:
z.B. wenn Du das Prozentzeichen suchst...

Das maskierungszeichen muss selbst maskiert werden:

Der Pfad
'C:\abcd\efgh\bla.jpg'
ist folgendermaßen einzutragen:

'C:\\abcd\\efgh\\bla.jpg'

Dann wird es klappen. Auch wenn es nach Eingabe der datendefinierten
Überschreibung auf SVG springt. Das hat keine Konsequenzen.

Viele Grüße,

Claas

-- 
-
GKG-Kassel - Dr.-Ing. Claas Leiner
QGIS-Support und mehr

Geodatenservice, Kartenwerkstatt &
GIS-Schule Kassel

Wilhelmshöher Allee 304 E
34131 Kassel
Tel. 0561/56013445
claas.lei...@gkg-kassel.de

http://www.gkg-kassel.de

Unterstützen Sie QGIS
QGIS-DE e.V. | http://qgis.de
QGIS Projekt | http://qgis.org/de/site/
-- 

FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/FOSSGIS_Verein


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben

2021-11-04 Diskussionsfäden joerg.taub...@t-online.de
Gruß Claas,

hab schon alles mögliche probiert
Bilder sind ja .jpg.
In den Eigenschafteneinstellungen gehe ich auf Rasterbild.
Sobald ich in der Datenübersteuerung etwas eintrage springt die Auswahl auf SVG 
und das schöne große X ist zu sehen.
Muss dann alles löschen um wieder auf Rasterbild zu kommen.
3.16.0 Hannover


-Original-Nachricht-
Betreff: Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben
Datum: 2021-11-04T18:08:40+0100
Von: "Claas Leiner" 
An: "fossgis-talk-liste@fossgis.de" 

Hallo Jörg,

1. Atlas anlegen mit dem Punktlayer als Abdeckungslayer.

2. Ein Kartenfenster mit gewünschtem Maßstab und Ausdehnung anlegen.
   In den Elementeigenschaften: "Gesteuert durch Atlas"

2. Die Zuordnung der Bilder an die Rahmen erfolgt in den
   Elementeigenschaften des Bildes via datendefinierte Übersteuerung:
   Wenn der absolute Pfad in der Spalte FotoX steht, kann direkt auf die
   Spalte verwiesen werden. Ansonsten via Ausdruck z.B. mit der
   @project_home Variable.

3. attribute( $currentfeature, 'Foto1' etc.. ist nicht notwendig,
   da der Punktlayer, Atlasobjekte und Foto-Spalten enthält, also
   kein zweiter Layer im Soiel ist.

Grüße,

Claas


-- 
-
GKG-Kassel - Dr.-Ing. Claas Leiner
QGIS-Support und mehr

Geodatenservice, Kartenwerkstatt &
GIS-Schule Kassel

Wilhelmshöher Allee 304 E
34131 Kassel
Tel. 0561/56013445
claas.lei...@gkg-kassel.de

http://www.gkg-kassel.de

Unterstützen Sie QGIS
QGIS-DE e.V. | http://qgis.de
QGIS Projekt | http://qgis.org/de/site/
-- 

FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/FOSSGIS_Verein


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste

-- 

FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/FOSSGIS_Verein


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben

2021-11-04 Diskussionsfäden Claas Leiner
Hallo Jörg,

1. Atlas anlegen mit dem Punktlayer als Abdeckungslayer.

2. Ein Kartenfenster mit gewünschtem Maßstab und Ausdehnung anlegen.
   In den Elementeigenschaften: "Gesteuert durch Atlas"

2. Die Zuordnung der Bilder an die Rahmen erfolgt in den
   Elementeigenschaften des Bildes via datendefinierte Übersteuerung:
   Wenn der absolute Pfad in der Spalte FotoX steht, kann direkt auf die
   Spalte verwiesen werden. Ansonsten via Ausdruck z.B. mit der
   @project_home Variable.

3. attribute( $currentfeature, 'Foto1' etc.. ist nicht notwendig,
   da der Punktlayer, Atlasobjekte und Foto-Spalten enthält, also
   kein zweiter Layer im Soiel ist.

Grüße,

Claas


-- 
-
GKG-Kassel - Dr.-Ing. Claas Leiner
QGIS-Support und mehr

Geodatenservice, Kartenwerkstatt &
GIS-Schule Kassel

Wilhelmshöher Allee 304 E
34131 Kassel
Tel. 0561/56013445
claas.lei...@gkg-kassel.de

http://www.gkg-kassel.de

Unterstützen Sie QGIS
QGIS-DE e.V. | http://qgis.de
QGIS Projekt | http://qgis.org/de/site/
-- 

FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/FOSSGIS_Verein


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben

2021-11-04 Diskussionsfäden Bernd Vogelgesang


On 04.11.21 14:42, joerg.taub...@t-online.de wrote:

Also ich habe den Punktlayer mit Spalten Foto1 Foto2 und Foto3 wo die Pfade der 
Bilder enthalten sind.
Dann habe ich mir ein Layout im Print Composer angelegt und dort drei 
"Bilderrahmen" angelegt.
Nun wähle ich den Punkt über Einzelklick aus, öffne dann das angelegte Layout 
und Qgis soll mir die Fotos im Layout anzeigen so das ich eine Pdf erzeugen 
kann.
Mein Gedanke ist im Composer bei den Elementeigenschaften des Bildes soll Qgis 
den Pfad als Datendefinierte Übersteuerung erhalten.


Ahaa!

Ohne es probiert zu haben, versuch doch mal

|attribute( $currentfeature, 'Foto1') etc. kann mir aber vorstellen,
dass man auch noch den Layer referenzieren muss, denn es können ja
theoretisch in mehreren Layern sogar auch mehrere Punkte ausgewählt sein. |

Aber so, wie Du das beschreibst, würde ich sowieso den Weg über einen
Atlas gehen, wo Du aus den Punkten durch z.B. Puffern den
Abdeckungslayer erzeugst, der ja die Attribute des Punktes übernimmt,
und dann statt mit $currentfeature eben mit atlas_feature arbeiten.

Vorteil wäre, dass Du für alle Punkte auf einen Rutsch das Layout
befüllt bekommst, und nix mehr händisch mit Auswahl machen müsst.


Viel Glück,

Bernd



-Original-Nachricht-
Betreff: Re: AW: Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben
Datum: 2021-11-04T14:02:53+0100
Von: "Bernd Vogelgesang" 
An: "joerg.taub...@t-online.de" , 
"fossgis-talk-liste@fossgis.de" 


On 04.11.21 13:50, joerg.taub...@t-online.de wrote:

Hallo Bernd,
übergeben soll der Pfad an den print composer so das er das bild einfügt


als Teil eines Atlas oder was? Bitte nicht alles aus der Nase ziehen
lassen,  eine vernünftige Projektbeschreibung könnte helfen.


Gesendet mit der Telekom Mail App




--- Original-Nachricht ---
Von: Bernd Vogelgesang
Betreff: Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben
Datum: 04. November 2021, 12:56
An: joerg.taub...@t-online.de, gis, foss




Hi Jörg,

was verstehst Du unter "übergeben" ?

Gruß,

Bernd

On 04.11.21 11:25, joerg.taub...@t-online.de
 wrote:

Hallo Liste,

ich habe einen Punktlayer mit einer Spalte in welcher Fotopfade abgelegt
sind.

Sobald ich einen Punkt auswähle soll mit Qgis den Pfad des Fotos als
Zeichenkette übergeben.

Kann mir da jemand helfen?

Danke
Gruß Jörg




--

FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/FOSSGIS_Verein


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben

2021-11-04 Diskussionsfäden joerg.taub...@t-online.de
Also ich habe den Punktlayer mit Spalten Foto1 Foto2 und Foto3 wo die Pfade der 
Bilder enthalten sind.
Dann habe ich mir ein Layout im Print Composer angelegt und dort drei 
"Bilderrahmen" angelegt.
Nun wähle ich den Punkt über Einzelklick aus, öffne dann das angelegte Layout 
und Qgis soll mir die Fotos im Layout anzeigen so das ich eine Pdf erzeugen 
kann.  
Mein Gedanke ist im Composer bei den Elementeigenschaften des Bildes soll Qgis 
den Pfad als Datendefinierte Übersteuerung erhalten.



-Original-Nachricht-
Betreff: Re: AW: Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben
Datum: 2021-11-04T14:02:53+0100
Von: "Bernd Vogelgesang" 
An: "joerg.taub...@t-online.de" , 
"fossgis-talk-liste@fossgis.de" 


On 04.11.21 13:50, joerg.taub...@t-online.de wrote:
> Hallo Bernd,
> übergeben soll der Pfad an den print composer so das er das bild einfügt
>
als Teil eines Atlas oder was? Bitte nicht alles aus der Nase ziehen
lassen,  eine vernünftige Projektbeschreibung könnte helfen.
> 
> Gesendet mit der Telekom Mail App
> 
>
>
>
> --- Original-Nachricht ---
> Von: Bernd Vogelgesang
> Betreff: Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben
> Datum: 04. November 2021, 12:56
> An: joerg.taub...@t-online.de, gis, foss
>
>
>
>
> Hi Jörg,
>
> was verstehst Du unter "übergeben" ?
>
> Gruß,
>
> Bernd
>
> On 04.11.21 11:25, joerg.taub...@t-online.de
>  wrote:
>> Hallo Liste,
>>
>> ich habe einen Punktlayer mit einer Spalte in welcher Fotopfade abgelegt
>> sind.
>>
>> Sobald ich einen Punkt auswähle soll mit Qgis den Pfad des Fotos als
>> Zeichenkette übergeben.
>>
>> Kann mir da jemand helfen?
>>
>> Danke
>> Gruß Jörg
>> 

-- 

FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/FOSSGIS_Verein


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben

2021-11-04 Diskussionsfäden Bernd Vogelgesang


On 04.11.21 13:50, joerg.taub...@t-online.de wrote:

Hallo Bernd,
übergeben soll der Pfad an den print composer so das er das bild einfügt


als Teil eines Atlas oder was? Bitte nicht alles aus der Nase ziehen
lassen,  eine vernünftige Projektbeschreibung könnte helfen.


Gesendet mit der Telekom Mail App




--- Original-Nachricht ---
Von: Bernd Vogelgesang
Betreff: Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben
Datum: 04. November 2021, 12:56
An: joerg.taub...@t-online.de, gis, foss




Hi Jörg,

was verstehst Du unter "übergeben" ?

Gruß,

Bernd

On 04.11.21 11:25, joerg.taub...@t-online.de
 wrote:

Hallo Liste,

ich habe einen Punktlayer mit einer Spalte in welcher Fotopfade abgelegt
sind.

Sobald ich einen Punkt auswähle soll mit Qgis den Pfad des Fotos als
Zeichenkette übergeben.

Kann mir da jemand helfen?

Danke
Gruß Jörg


--

FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/FOSSGIS_Verein


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


Re: [FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben

2021-11-04 Diskussionsfäden Bernd Vogelgesang

Hi Jörg,

was verstehst Du unter "übergeben" ?

Gruß,

Bernd

On 04.11.21 11:25, joerg.taub...@t-online.de wrote:

Hallo Liste,

ich habe einen Punktlayer mit einer Spalte in welcher Fotopfade abgelegt
sind.

Sobald ich einen Punkt auswähle soll mit Qgis den Pfad des Fotos als
Zeichenkette übergeben.

Kann mir da jemand helfen?

Danke
Gruß Jörg


--

FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/FOSSGIS_Verein


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


[FOSSGIS-Talk] Qgis Attribut als Zeichenkette übergeben

2021-11-04 Diskussionsfäden joerg.taub...@t-online.de
Hallo Liste,
 
ich habe einen Punktlayer mit einer Spalte in welcher Fotopfade abgelegt 
sind.
 
Sobald ich einen Punkt auswähle soll mit Qgis den Pfad des Fotos als 
Zeichenkette übergeben.
 
Kann mir da jemand helfen?
 
Danke
Gruß Jörg

-- 

FOSSGIS Veranstaltungen
https://www.fossgis.de/news/fossgis-events/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/ https://twitter.com/FOSSGIS_Verein


FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste@fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste


Re: [FOSSGIS-Talk] QGIS und ORACL-Datenbank

2021-11-04 Diskussionsfäden Peter K.
Hallo Thomas,

ich konnte jetzt mal den verwendeten Trigger sehen, dort steht folgendes:
>
BEGIN
   select diminfo into oDimInfo from user sdo_geom_metadata where (table_name =
   'FL_NUTZUNG') and (column_name = 'GEOMETRIE');
   vIdText := nvl (:old.ID, -99). || '/' || nvl(:new.ID, -99);
   -- oDimInfo := MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X'), -2147483648,
   2147483647, 0.05), MDSYS.SDO_DIM_ELEMENT('Y', -2147483648, 2147483647,
   0.05), null, null);
   if inserting then
  if :new.ID is null then
 vErrorText := 'Primärschlüssel nicht gesetzt!';
 raise eError;
  end if;
  if :new.GEOMETRIE is null then
 vErrorText := 'Die Geometrieinformationen sind leer!';
 raise eError;
 .
 ...WEITERE END IF ABFRAGEN
 .
 .

Wie man sieht, es fehlt "select ..._ID.nextval into NEW "ID" from dual"

Gruß Peter
 
 

Gesendet: Mittwoch, 03. November 2021 um 17:45 Uhr
Von: "Thomas B" 
An: "Peter K." 
Cc: "FOSSGIS" 
Betreff: Re: [FOSSGIS-Talk] QGIS und ORACL-Datenbank

Hallo Peter,
anbei ein Beispiel-DDL, das bei mir ohne Probleme im Zusammenspiel mit QGIS 
funktioniert: https://gist.github.com/thbaumann/6f2b5da6e5f6b74f802dde7230835055
 
Vielleicht mal bei dir den Testlayer erzeugen und gegenprüfen. In QGIS muss man 
halt noch im Attributformular für die ID-Spalte die Restriktion rausnehmen, 
damit man speichern kann ohne Einträge in der ID-Spalte gesetzt zu haben aber 
wenn ich richtig gelesen habe hast du das ja getan.
 
Ansonsten vielleicht auch mal abseits von QGIS versuchen den Trigger 
anzusprechen und schauen, ob der vielleicht generell wo hängt unabhängig von 
QGIS?
 
Zu deiner Frage des Zusammenspiels von QGIS und Oracle: Ich denke der 
Oracle-Provider bräuchte mal etwas Pflege...gerade auch was das Erkennen der 
Primärschlüsselspalte angeht aber jetzt beim konkreten Beispiel kann ich da 
wiegesagt die Sachen speichern egal ob ich Werte eingebe oder die Sequenz 
ziehen lasse.
 
Viele Grüße,
Thomas
  

Am Di., 2. Nov. 2021 um 15:50 Uhr schrieb Peter K. 
mailto:weben...@web.de]>:Hallo an alle und an Thomas,

leider nochmal das Thema ORACLE-DB und speziell zur automatischen Erzeugung der 
ID in der DB-Tabelle.
Kurz noch zur Info, im April hat Thomas u.a. diesen Tipp gegeben:
>
Zum unterschiedlichen Verhalten der QGIS-Installationen:
In QGIS selbst könnte man in der Konsole schauen, was als ORACLE_HOME und
TNS_ADMIN hinterlegt ist und ob da die tnsnames.ora angesprochen wird, die
benutzt werden sollte:
import os
print(os.environ['ORACLE_HOME'])
print(os.environ['TNS_ADMIN'])
<

Ergebnis hier zu:
print(os.environ['TNS_ADMIN']) = \\OracleConf\DATEN\pub\OracleConf\ORA

print(os.environ['ORACLE_HOME']) =

Traceback (most recent call last):
  File "C:\PROGRA~1\QGIS3~1.16\apps\Python37\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "", line 1, in 
  File "", line 2, in 
  File "C:\PROGRA~1\QGIS3~1.16\apps\Python37\lib\os.py", line 678, in 
__getitem__
    raise KeyError(key) from None
KeyError: 'ORACLE_HOME'

Das nur nochmal zur Info an Thomas, hatte ich wohl damals nicht mehr erwähnt.

Nun zurück zur ID, in der verwendeten DB-Tabelle gibt es vier Spalten mit der 
Bedingung 'NOT NULL'.
Bei zwei Attributspalten sind diese recht einfach, und werden mit 
entsprechenden QGIS-Vorgaben abgearbeitet.
In die vierte DB-Spalte, 'ID-KOPIE' wird die DB-Tabellen 'ID' nochmal hinein 
kopiert, dies ist für die derzeitig verwendete
CAD/GIS-Anwendung wohl nötig. Auch dies wird über einen Vorgabewert in QGIS 
gelöst, obwohl es dafür auch
einen Trigger in der ORACLE-DB gibt.

Als Umgehungslösung wird derzeit aber auch die Erzeugung der 'ID' mit einem 
Eintrag im Feld 'Vorgabewert'
durchgeführt.
Eintrag: CASE WHEN "ID" is NULL THEN maximum( "ID")+1 ELSE "ID" END

Das ist natürlich keine gute Lösung.

Ist der o.g. Vorgabewert nicht gesetzt, bekomme ich diese Fehlermeldung:
>
Konnte Änderungen am Layer FL_NUTZUNG_MULTI nicht festschreiben

Fehler: FEHLER: Objekt nicht hinzugefügt.
Datenanbieterfehler:
Oracle-Fehler beim Attributhinzufügen: Oracle-Fehler: Konnte Objekt -27 nicht 
einfügen
SQL: ORA-20001: Primärschlüssel nicht gesetzt! Ids: -99 / -99
ORA-06512: in "FPLAN.FL_NUTZUNG_B_IUD", Zeile 183
ORA-04088: Fehler bei der Ausführung von Trigger 'FPLAN.FL_NUTZUNG_B_IUD'
Konnte Anweisung nicht ausführen
Fehler: INSERT INTO 
"FPLAN"."FL_NUTZUNG"("GEOMETRIE","ID","NUTZUNG","NUTZUNG_LV","FL_CODE","BEMERKUNG","AREA","ALTLAST","AL_NAME",
"AFM","GR_RING","BN","BRACHE","DB_FC_1","DB_FC_2","DB_FC_TEXT","KG_NR","KG_BEMERKUNG","KONTROLLE","ST_LA_SA","OS_LSA","FS_LSA",
"SO_NUTZUNG","CREATOR","CREATED","EDITOR","EDITED","ID_KOPIE","BEIPLANDARSTELLUNG","LSG","NSG","KG_RNAHME","BPLANNR","MWE",
"DB_FC_TEXT_2") VALUES 
(:a,:bb,:bc,:bd,:be,:bf,:bg,:bh,:bi,:bj,:bk,:bl,:bm,:bn,:bo,:bp,:cba,:cbb,:cbc,:cbd,:cbe,:cbf,:cbg,:cbh,
:cbi,:cbj,:cbk,:cbl,:cbm,:cbn,:cbo,:cbp,:cca,:ccb,:ccc)
<<

So weit nochmal