Daha çox

Mapserver ilə postgis-dən .shp göstərərkən səhv


3D formatında .shp formatında sətirləri olan postgis verilənlər bazasına sahibəm. Xəritə sənədində əlaqə qurdum:

LAYER NAME yolları_3D BAĞLANTI TİPİ POSTGİS BAĞLANTISI "host = www. *****. Com port = 5433 dbname = mountain user = **** password = ****" VERİ "" the_geom from paths_3D "TYPE LINE CLASS NAME ON STATUS" all_paths "STYLE COLOR 188 143 143 SON SON SON

Sonra, postgis verilənlər bazasında .shp-yə işarə edən html sənədinə onay qutusu əlavə etdim:

 Yollar

Beləliklə, veb səhifəmi açıb Yollar adlı onay qutusuna vurduğumda bu səhv mənə səbəb olur:

writeLog (): Fayla giriş mümkün deyil. mslog.log msDrawMap (): Şəkil işləmə xətası. 'Paths_3D' adlı qatı çəkmək alınmadı. msPostGISLayerWhichShapes (): Sorğu xətası. Xəta (XATA: "oid" sütunu mövcud deyil SATIR 1:… ary (ST_Force_2D ("the_geom"), 'NDR'), 'hex') geom olaraq, "oid" from… ^) sorğunun icrası: kod seçin (ST_AsBinary (ST_Force_2D ( "the_geom"), "NDR") paths_3D the_geom && GeomFromText olan "hex) Geom kimi," OID "(" POLYGON ((561889,240401714 5072468.31385521,561889.240401714 5093238.31385536,589594.131887715 5093238.31385536,589594.131887715 5072468.31385521,561889.240401714 5072468,31385521)) ', find_srid (",' paths_3D ',' the_geom '))

Nəyin səhv olduğunu bilmirəm, xahiş edirəm kömək edin.


Cədvəlinizi yaratdıqda OID ilə bir masa yaratmaq istədiyinizi dəqiqləşdirməlisiniz (shapefile-dən idxal). Daha dəqiqlik üçün həmin mövzuya baxın.

Varsayılan olaraq OID ilə masa yaratmaq üçün konfiqurasiya sənədinizi də dəyişə bilərsiniz. Sənədə baxın.


Daha da yaxşısı, MapServer-in OID'ləri gözləməyən daha yeni bir versiyasını əldə edin. Birincil açarınızı unikal identifikator kimi göstərmək üçün "UNİKAL İSTİFADƏ" sintaksisindən istifadə edin.


Videoya baxın: MapServer, OpenLayers, PostGIS, pgRouting, Apache, Linux (Oktyabr 2021).