Vairāk

OpenLayers WFS-T tinyows ievieto darījumu: kļūda GID vērtība


Es mēģinu ieviest jauna punkta ievietošanu, izmantojot Openlayers v2.13 saveStrategy, zvanot tinyows, kas īsteno WFS-T darījumu; Es izmantoju piemēru no http://mapserver.org/tinyows/openlayershowto.html - kods ir tieši tāds pats, izņemot slāni.

Man ir divi jautājumi:

1) pievienojot jaunu punktu, tiek īstenots darījums, kurā tiek izmantots "MULTIPOINT", bet mans postgis slānis ir tipa POINT - vai ir kāds veids, kā piespiest "POINT"? Mans risinājums līdz šim ir izmantot TRIGGER postgresql, lai veiktu INSTEAD OF, lai mainītu MULTIPOINT uz POINT.

2) Man rodas kļūda, jo ievietošana rada "gid" vērtību, kuru nevajadzētu iekļaut, jo pēc noklusējuma to pievieno skaitītājs. TINYOWS žurnālā tiek parādīts šāds darījums un kļūda:

SQL

INSERT INTO "arch_geo_dbt". "P030104_v" ("gid", "the_geom") VALUES ('042159162153000033', '010400002031BF0D00010000000101000000B69CF08B3069314130B8664669AD5541'

KĻŪDA:

KĻŪDA: vērtība "042159162153000033" ir ārpus diapazona veselam skaitlim

Zemāk mans XML no pieprasījuma ieraksta

1141040.5466402 5682597.1000195

Vai kāds zina, kā atrisināt šo problēmu?


Lieta bija tāda, ka tinyows (versija 1.0.0), pievienojot jaunu līdzekli, saņemot darījuma pieprasījumu "ievietot", pievieno nejaušu virkni kā GID. Tagad GID ir vesels skaitlis vai liels skaitlis, un pēc noklusējuma tabulā Postgres/Postgis ir NEXTVAL (secība). Tinyows izveidotais GID bija pārāk liels (ārpus diapazona).

Tinyows labi darbojas ar galdu, bet tabula, kuru es mēģināju atjaunināt, bija a SKATĪT (protams, es izmantoju trigerus, lai atjauninātu tabulas aiz skatiem, jo ​​skati nav atjaunināmi). Tinyows ļauj konfigurēt faila config.xml slāņa objektā pkey = "gid", tomēr, ja tas ir skats, tas, iespējams, nesaprot veidu (ti, veselu skaitli).

MANS RISINĀJUMS: skatījumā PĀRVEST kolonnas GID teksta veidu, lai ieliktnis neradītu kļūdu, un pēc tam aktivizatoros aizmirst sīkuļu radīto GID vērtību un izmanto pareizo NEXTVAL ().

Ja kāds ir ieinteresēts, es varu ievietot savu sprūda rutīnu.


Skatīties video: WebGIS Application development feature editing on webusing Geoserver, Openlayers, GeoExt, Postgis (Oktobris 2021).