Vairāk

Kā iegūt datus no kolonnas POINT PostGIS, izmantojot JAVA (jdbc)

Kā iegūt datus no kolonnas POINT PostGIS, izmantojot JAVA (jdbc)


Kā iegūt vērtību no kolonnas, kurā ir apunktsdatu tips.

Es tikko pārslēdzos no MySQL uz PostGIS. Man ir kolonna, ko sauc par punktu un ir tipaPunkts.

Es vēlos iegūt šo vērtību SQL vaicājuma rezultātā.

Esmu darījis tādas lietas kārs.getString ("teksts")unrs.getInt ("numurs")citām kolonnām, un tās darbojas labi, bet dara

rs.getObject ("punkts")

Liek man saņemt kļūdu

org.postgresql.util.PSQLException: šis savienojums ir slēgts.

Šeit ir vairāk kodu, es domāju, ka tas varētu būt īsts manekenu jautājums, tāpēc es to iepriekš neielaidu.

Būtībā manā lietojumprogrammā ir vērtība, kas var izmantot dažādus datu veidus. Tā kā nav patiesi OO datu bāzes, esmu izveidojis tabulu ar daudzām kolonnām, atkarībā no tā, kura ir aizpildīta, es zināšu, kāda datu veida vērtība ir šim ierakstam.

publiskais statiskais komplekts readStatements (String subUri, String preUri) {Iestatīt paziņojumi = jauna HashSet(); String sql = "SELECT sub_id, sub_uri, sub_value, pre_id, pre_uri, pre_value, obj_id, obj_uri, obj_value, number, text, file, url, point FROM triples WHERE + subUri +" "UN + preUri +" ""; ResultSet rs = Dao.executeQuery (sql); mēģiniet {while (rs.next ()) {STriple s = new STriple (); s.setSubject (jauns SR avots (rs.getString ("sub_uri"))); s.setPredicate (jauns SR avots (rs.getString ("pre_uri"))); ja (rs.getObject ("obj_id")! = null) {s.setObject (jauns SR avots (rs.getString ("obj_uri"))); } cits if (rs.getObject ("punkts"). toString ()! = null) {Objekta punktsObjekts = rs.getObject ("punkts")); } cits if (rs.getObject ("numurs")! = null) {s.setObject (jauns SNumber (rs.getDouble ("numurs"))); } cits if (rs.getObject ("text")! = null) {s.setObject (new SText (rs.getString ("text"))); } cits if (rs.getObject ("url")! = null) {s.setObject (jauns SURL (rs.getString ("url"))); } apgalvojumi.pievienot (-us); }} nozveja (SQLException e) {e.printStackTrace (); } atgriešanās paziņojumi; }

Java ir ļoti drukāta, tāpēc jums ir jāizgūst punkts ģeometrijas objektā, izmantojot metodi "virknei"

PGgeometry geom = (PGgeometry) rs.getObject ("punkts"); System.out.println (geom.toString ());

skatīt: http://postgis.refractions.net/docs/ch05.html#id2633989


SQL datu bāzes, izmantojot JDBC

Jūs varat izmantot Databricks, lai vaicātu daudzām SQL datu bāzēm, izmantojot JDBC draiverus.

Databricks Runtime satur org.mariadb.jdbc draiveri MySQL.

Databricks Runtime satur JDBC draiverus Microsoft SQL Server un Azure SQL datu bāzei. Pilnu Databricks izpildlaika JDBC bibliotēku sarakstu skatiet Databricks izpildlaika izlaišanas piezīmēs.

Varat izmantot arī citas SQL datu bāzes, tostarp (bet ne tikai) PostgreSQL un Oracle. Skatiet bibliotēkas, lai uzzinātu, kā instalēt JDBC bibliotēkas JAR datu bāzēm, kuru draiveri nav pieejami Databricks.

Šajā rakstā ir aprakstīts, kā izmantot DataFrame API, lai izveidotu savienojumu ar SQL datu bāzēm, izmantojot JDBC, un kā kontrolēt lasīšanas paralēlismu, izmantojot JDBC saskarni. Šajā rakstā ir sniegti sīki piemēri, izmantojot Scala API, un beigās ir saīsināti Python un Spark SQL piemēri. Visus atbalstītos argumentus, lai izveidotu savienojumu ar SQL datu bāzēm, izmantojot JDBC, skatiet rakstā JDBC uz citām datu bāzēm.

Šī raksta piemēri neietver lietotājvārdus un paroles JDBC vietrāžos URL. Tā vietā tā sagaida, ka jūs sekojat slepenās pārvaldības lietotāja rokasgrāmatai, lai saglabātu datu bāzes akreditācijas datus kā noslēpumus un pēc tam tos izmantotu piezīmju grāmatiņā, lai aizpildītu jūsu akreditācijas datus objektā java.util.Properties. Piemēram:

Pilnu slepenās pārvaldības piemēru skatiet slepenās darbplūsmas piemērā.


Kā jūs varat ievietot GeoJSON daudzstūri PostGIS, izmantojot Java JDBC PreparedStatement vietturi?

Ja izmantojat javascript bibliotēku "Leaflet" un tās spraudni "Draw", varat iegūt ģeojsonu, kas izskatās šādi:

Ja jūs nosūtāt json, kā minēts iepriekš, uz tīmekļa serveri (ar Java kodu, piemēram, Play Framework), es vēlētos uzzināt vienkāršāko veidu, kā to ievietot vai atjaunināt postgis datu bāzē, neizmantojot virkņu saķeri, lai izveidotu SQL virkni. Patiešām, tas darbojas, lai izveidotu SQL virkni ar iepriekš minēto struktūru, bet jūs vēlaties izvairīties no virkņu savienošanas, kas ir iemesls manam jautājumam par to, kā tā vietā izmantot PreparedStatement vietturus. Piemēram, šādu SQL kodu var izpildīt tieši no pgAdmin (un arī caur JDBC kodu):

Tomēr, kā lielākā daļa izstrādātāju ir iemācījušies, mums vajadzētu izvairīties no virkņu savienošanas un tā vietā izmantot vietturus, piemēram, ja izmantojat PreparedStatement (vai, piemēram, JdbcTemplate, ja izmantojat Spring Framework).

Zemāk ir kods, kas ilustrē, kas darbojas un kas nedarbojas.


Sagatavojiet Excel datus

Pieņemsim šādu Excel failu

kas satur šādus darbgrāmatas vienumus:

Pirms faila augšupielādes SharePoint bibliotēkā dodieties uz Fails -& gt Pārlūkot skata opcijas -& gt izvēlieties vienumus darbgrāmatā, kā parādīts zemāk. Pēc tam saglabājiet failu un augšupielādējiet to SharePoint dokumentu bibliotēkā.


Nākamie soļi

  • Lai skatītu pārskatu par INFORMATION_SCHEMA, dodieties uz Ievads BigQuery INFORMATION_SCHEMA.
  • Uzziniet, kā izmantot INFORMATION_SCHEMA, lai iegūtu atjaunošanas metadatus.
  • Uzziniet, kā izmantot INFORMATION_SCHEMA, lai iegūtu straumēšanas metadatus.
  • Uzziniet, kā izmantot INFORMATION_SCHEMA, lai iegūtu datu kopas metadatus.
  • Uzziniet, kā izmantot INFORMATION_SCHEMA, lai iegūtu tabulas metadatus.
  • Uzziniet, kā izmantot INFORMATION_SCHEMA, lai iegūtu skata metadatus.

Ja nav norādīts citādi, šīs lapas saturs ir licencēts saskaņā ar Creative Commons Attribution 4.0 licenci, un koda paraugi ir licencēti saskaņā ar Apache 2.0 licenci. Lai iegūtu sīkāku informāciju, skatiet Google izstrādātāju vietņu politikas. Java ir Oracle un/vai tā saistīto uzņēmumu reģistrēta preču zīme.


Aizpildiet konkrētus SharePoint tiešsaistes saraksta vienumus, izmantojot Java tīmekļa pakalpojumu, kad, veidojot jaunu vienumu, ir atlasīta nolaižamā sleja

Man ir jāaizpilda noteiktas saraksta kolonnas, atlasot vērtību tā paša saraksta nolaižamajā slejā. Teiksim, piemēram, es sarakstā atlasu izveidot vienumu, un tad man ir kolonna ar nosaukumu FlightNumber. Kad es izvēlos konkrētu lidojuma numuru, man jāizmanto Java tīmekļa pakalpojums, lai izsauktu un aizpildītu noteiktus saraksta laukus, pamatojoties uz manu izvēlēto lidojuma numuru. Es mēģināju meklēt, bet nevarēju saprast, lūdzu, palīdziet man šajā jautājumā.


Kā iegūt datus no slejas PUNKTS PostGIS, izmantojot JAVA (jdbc) - Ģeogrāfiskās informācijas sistēmas

Java Chromium Embedded Framework (JCEF) ir vienkāršs ietvars, lai iegultu pārlūkus, kuru pamatā ir Chromium, citās lietojumprogrammās, izmantojot Java programmēšanas valodu.

CEF ir BSD licencēts atvērtā koda projekts, kuru 2008. gadā dibināja Māršals Grīnblats un kura pamatā ir Google Chromium projekts. Atšķirībā no paša Chromium projekta, kas galvenokārt vērsts uz Google Chrome lietojumprogrammu izstrādi, CEF koncentrējas uz iegulto pārlūka lietošanas gadījumu atvieglošanu trešo pušu lietojumprogrammās. CEF izolē lietotāju no pamatā esošā Chromium un Blink koda sarežģītības, piedāvājot ražošanas kvalitātes stabilas API, laidienu filiāles, kas izseko konkrētus Chromium izlaidumus, un bināro izplatīšanu. Lielākajai daļai CEF funkciju ir noklusējuma ieviešanas iespējas, kas nodrošina bagātīgu funkcionalitāti, vienlaikus prasot no lietotāja nelielu integrācijas darbu. Pašlaik visā pasaulē ir uzstādīti vairāk nekā 100 miljoni CEF gadījumu, kas iegūti no plaša uzņēmumu un nozaru klāsta. Daļējs to uzņēmumu un produktu saraksts, kas izmanto CEF, ir pieejams CEF Wikipedia lapā. Daži CEF lietošanas gadījumi ir šādi:

  • Ar HTML5 saderīgas tīmekļa pārlūkprogrammas vadīklas iegulšana esošā vietējā lietojumprogrammā.
  • Vieglas vietējās “apvalka” lietojumprogrammas izveide, kurā mitinās lietotāja saskarne, kas galvenokārt izstrādāta, izmantojot tīmekļa tehnoloģijas.
  • Tīmekļa satura atveidošana ārpus ekrāna lietojumprogrammās, kurām ir savi pielāgoti zīmējumu ietvari.
  • Darbojas kā resursdators, lai automātiski pārbaudītu esošos tīmekļa rekvizītus un lietojumprogrammas.

CEF atbalsta plašu programmēšanas valodu un operētājsistēmu klāstu, un to var viegli integrēt gan jaunās, gan esošajās lietojumprogrammās. Tas tika izstrādāts no paša sākuma, ņemot vērā gan veiktspēju, gan lietošanas ērtumu. Pamata ietvars ietver C un C ++ programmēšanas saskarnes, kas tiek atklātas, izmantojot vietējās bibliotēkas, kas izolē resursdatora lietojumprogrammu no Chromium un Blink ieviešanas detaļām. Tas nodrošina ciešu integrāciju starp pārlūkprogrammu un resursdatora lietojumprogrammu, tostarp atbalstu pielāgotajiem spraudņiem, protokoliem, JavaScript objektiem un JavaScript paplašinājumiem. Uzņēmēja lietojumprogramma pēc izvēles var kontrolēt resursu ielādi, navigāciju, konteksta izvēlnes, drukāšanu un daudz ko citu, vienlaikus izmantojot tās pašas veiktspējas un HTML5 tehnoloģijas, kas pieejamas Google Chrome tīmekļa pārlūkprogrammā.

Šis projekts nodrošina Java iesaiņojumu CEF (JCEF).

JCEF projekts ir Chromium Embedded Framework (CEF) projekta paplašinājums, kas tiek mitināts vietnē https://bitbucket.org/chromiumembedded/cef/. JCEF uztur attīstības nozari, kas izseko jaunāko CEF3 izlaišanas nozari. JCEF avota kodu var lejupielādēt, izveidot un iepakot binārajā izplatīšanā. Kad esat izveidojis bināro izplatīšanu savai platformai, varat to izplatīt kā atsevišķu paketi bez papildu atkarības no JCEF, CEF vai Chromium avota koda. Lai iegūtu detalizētus norādījumus, apmeklējiet vietni BranchesAndBuilding Wiki.

JCEF joprojām ir ļoti nepabeigts darbs. Daži veidi, kā jūs varat palīdzēt:

- Balsojiet par JCEF jautājumu izsekotāja jautājumiem, kas jums ir svarīgi. Tas palīdz noteikt attīstības prioritātes.

- Ziņojiet par atrastajām kļūdām vai iezīmējiet pieprasījumus, kas jums ir svarīgi. Pirms jaunu problēmu izveidošanas noteikti meklējiet esošās problēmas. Lietošanas jautājumos, lūdzu, izmantojiet JCEF forumu, nevis problēmu izsekotāju. Katrā JCEF izdevumā:

  • Iekļaujiet JCEF pārskatīšanu, CEF versiju vai bināro izplatīšanas versiju.
  • Iekļaujiet informāciju par savu OS un kompilatora versiju.
  • Ja problēma ir kļūda, lūdzu, sniedziet detalizētu informāciju par reproducēšanu.
  • Ja problēma ir funkcija, lūdzu, aprakstiet, kāpēc šī funkcija ir izdevīga.

- Uzrakstiet vienības testus jaunai vai esošai funkcionalitātei.

- Pull pieprasījumi un ielāpi ir apsveicami. Skatiet atvērtās problēmas JCEF problēmu izsekotājā vai meklējiet ideju avota kodā TODO (cef).

Ja vēlaties veikt izmaiņas JCEF avota kodā, lūdzu, ievērojiet tālāk sniegtos norādījumus.

- Izveidojiet vai atrodiet atbilstošu problēmu katrai atsevišķai kļūdai, funkcijai vai izmaiņai.

- Iesniedziet vilkšanas pieprasījumu vai izveidojiet ielāpu ar savām izmaiņām un pievienojiet to JCEF problēmai. Izmaiņām vajadzētu:

  • Iesniedziet pret pašreizējo JCEF galveno filiāli, ja vien nepārprotami neizlabojat kļūdu CEF izlaiduma filiālē.
  • Ievērojiet esošo JCEF avota failu stilu. Kopumā JCEF izmanto Chromium kodēšanas stilu.
  • Iekļaujiet jaunus vai modificētus vienības testus atbilstoši funkcionalitātei.
  • Neiekļaujiet nevajadzīgas vai nesaistītas izmaiņas.

Es pieņemu, ka jūsu datorā ir instalēta Java (8, 11 vai 14). Ir vairāki IDE no Eclipse, NetBeans, IntelliJ IDEA. Es pārsvarā izmantoju IntelliJ IDEA. Jūs varat izmantot jebkuru, ko esat labi apguvis. The Spring Developers ir izveidojuši arī bezmaksas rīku pavasara lietojumprogrammu izstrādei, kas pazīstams kā Spring Tools Suite, kuru varat izpētīt.

Lai sāktu darbu, dodieties uz vietni https://start.spring.io/, jūs iegūsit saskarni, kas izskatās kā parādīts zemāk, varbūt uz gaišas tēmas.

Vietnē jūs varat definēt savas projekta prasības, izmantojot Java vai Kotlin kā galveno programmēšanas valodu, Spring Boot versiju (Izvairieties no SNAPSHOT) un vienkārši dodieties uz jaunāko versiju, Iepakojums iet ar Jar, Projekts izvēlieties Maven Project, Jūs varat norādīt Java versija, kuru esat instalējis lokāli, Projekta metadati un, visbeidzot, atkarības, kurām obligāti jābūt, ir Spring Web, Spring Data JPA, PostgreSQL. Tagad jūs varat lejupielādēt savu projekta mapi un esat iestatījis kodu. Citas galvenās atkarības tiks instalētas no Maven repozitorija.

Fails pom.xml ir svarīgs jūsu projekta fails, tas ļauj instalēt atkarības no Maven repozitorija, kā parādīts zemāk. Python puišiem tas ir līdzvērtīgs pip instalēt. Pārliecinieties, ka jums ir atkarības no hibernācijas telpiskās, Lombok, PostGIS, Spring Data JPA un PostgreSQL.

Programmas resursu mapē ir fails Applications.propperties. Šeit jūs veicat iestatījumus savai datu bāzei, kā arī citus iestatījumus.

Pārliecinieties, ka lietojat org.hibernate.spatial.dialect.postgis.PostgisDialect jo mums ir darīšana ar ģeometrijas datu izmantošanu PostGIS.

Pēc noklusējuma runča serveris, kas tiek piegādāts kopā ar Spring Boot iestatīšanu, darbojas portā 8080, es tikko iestatīju, lai mans darbotos ar 8081.


3.7. XML konfigurācijas fails

Alternatīva pieeja konfigurācijai ir norādīt pilnu konfigurāciju failā ar nosaukumu hibernate.cfg.xml. Šo failu var izmantot kā hibernate.properties faila aizstājēju vai, ja abi ir, īpašumu ignorēšanai.

Paredzams, ka XML konfigurācijas fails atradīsies jūsu CLASSPATH saknē. Šeit ir piemērs:

Šīs pieejas priekšrocība ir kartēšanas failu nosaukumu pārnešana uz konfigurāciju. Arī hibernate.cfg.xml ir ērtāk, kad jums ir jānoskaņo hibernācijas kešatmiņa. Jūs izvēlaties izmantot hibernate.properties vai hibernate.cfg.xml. Abi ir līdzvērtīgi, izņemot iepriekš minētās XML sintakses priekšrocības.

Izmantojot XML konfigurāciju, hibernācijas režīma palaišana ir tik vienkārša kā:

Jūs varat izvēlēties citu XML konfigurācijas failu, izmantojot:


Java telpiskā paplašinājuma dizains relāciju datu bāzēm

Jaspa (Java Spatial) ir jauns telpiskais paplašinājums relāciju datu bāzes pārvaldības sistēmām (RDBMS). Tas ir pētniecības projekta rezultāts, kura mērķis ir sasniegt divus mērķus: pirmkārt, lai aizpildītu brīvas un atvērtā pirmkoda programmatūras (FOSS) pasaules trūkumu, ja nav stabilas Java bāzes alternatīvas PostGIS-vadošajam telpiskajam paplašinājumam, kas rakstīts C. Otrkārt, lai izmantotu Java un Java ģeotelpisko bibliotēku priekšrocības salīdzinājumā ar C pārnesamības un paplašināšanas ērtības ziņā. Java programmēšana ģeotelpiskiem mērķiem ir plaukstošs lauks, un nesen parādījās līdzīgi Jaspa risinājumi, taču neviena no tām nevar tikt pielīdzināta PostGIS funkcionalitātes trūkuma dēļ. Pašlaik Jaspa īsteno gandrīz visas PostGIS funkcijas. Nākamais solis būs programmatūras bagātināšana ar sarežģītākām funkcijām: telpisko datu glabāšana topoloģiskā struktūrā RDBMS ietvaros, kopu pielaide un ģeodēziskās funkcijas. Jaspa tiek izstrādāta Valensijas Politikas institūta Kartogrāfiskās inženierijas, ģeodēzijas un fotogrammetrijas departamentā, un tā ir publicēta OSOR.eu repozitorijā ar atvērtā koda licenci. Šo darbu ir rakstījuši tā veidotāji, lai iepazīstinātu lietotājus ar savām galvenajām iespējām.

Izceļ

► Mēs piedāvājam Jaspa - jaunu Java atvērtā pirmkoda telpisko paplašinājumu relāciju datu bāzēm. ► Tā pamatā ir ģeotelpiskie standarti no OGC un SQL/MM. ► Pašlaik atbalsta PostgreSQL un H2 kā aizmugures datu bāzes, iespējams, var atbalstīt citas DBVS, piemēram, Oracle vai HSQLDB. ► Tā piedāvā visas PostGIS funkcijas ar vairāk nekā 200 telpiskām SQL funkcijām. ► Lietotāji var viegli izveidot jaunas telpiskās funkcijas, izmantojot Java telpiski saglabātās procedūras.


Skatīties video: Java Connect to PostgreSQL Database Example