PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

स्प्रिंग बूट पर हाइबरनेट के साथ PostGIS ज्यामिति बिंदु फ़ील्ड को मैप करें

अंत में मैंने पाया कि मेरा विन्यास ठीक है और हो सकता है जैक्सन जो प्वाइंट को प्रबंधित नहीं कर सकता डेटा प्रकार सही ढंग से। इसलिए मैंने इसके JSON क्रमांकन और अक्रमांकन को अनुकूलित किया:

  • इन टिप्पणियों को हमारे निर्देशांक . में जोड़ें फ़ील्ड:

    @JsonSerialize(=PointToJsonSerializer.class का उपयोग करके)@JsonDeserialize(=JsonToPointDeserializer.class का उपयोग करके) 
  • ऐसा सीरियलाइज़र बनाएं:

    आयात करें .jackson.databind.SerializerProvider;import com.vividsolutions.jts.geom.Point;पब्लिक क्लास PointToJsonSerializer JsonSerializer का विस्तार करता है {@ ओवरराइड पब्लिक वॉयड सीरियलाइज़ (प्वाइंट वैल्यू, JsonGenerator jgen, SerializerProvider प्रदाता) IOException फेंकता है, JsonProcessingException {स्ट्रिंग jsonValueingException ="व्यर्थ"; कोशिश करें {अगर (मान! =शून्य) {डबल अक्षांश =value.getY (); डबल लोन =value.getX (); jsonValue =String.format("POINT (%s %s)", lat, lon); } } पकड़ें (अपवाद ई) {} jgen.writeString(jsonValue); }}
  • ऐसा डिसेरिएलाइज़र बनाएं:

    आयात करें .jackson.databind.JsonDeserializer;import com.vividsolutions.jts.geom.Coordinate;import com.vividsolutions.jts.geom.GeometryFactory;import com.vividsolutions.jts.geom.Point;import com.vividsolutions.PrecisionModel.geom.;पब्लिक क्लास JsonToPointDeserializer JsonDeserializer का विस्तार करता है {निजी फाइनल स्टैटिक ज्योमेट्री फैक्ट्री ज्योमेट्रीफैक्टरी =न्यू ज्योमेट्रीफैक्ट्री (नया प्रेसिजनमॉडल (), 26910); @Override सार्वजनिक बिंदु deserialize (JsonParser jp, DeserializationContext ctxt) IOException फेंकता है, JsonProcessingException {कोशिश {स्ट्रिंग टेक्स्ट =jp.getText (); अगर (पाठ ==शून्य || पाठ। लंबाई () <=0) शून्य वापस; स्ट्रिंग [] निर्देशांक =text.replaceFirst("POINT ?\\(", "").replaceFirst("\\)", "").split(" "); डबल लैट =डबल.पार्स डबल (निर्देशांक [0]); डबल लोन =डबल.पार्स डबल (निर्देशांक [1]); बिंदु बिंदु =ज्यामितिFactory.createPoint (नया निर्देशांक (अक्षांश, अकेला)); वापसी बिंदु; } पकड़ (अपवाद ई) {वापसी शून्य; } }}

हो सकता है कि आप यहां उपलब्ध इस धारावाहिक और इस deserializer का भी उपयोग कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक ही क्वेरी में एकाधिक array_agg () कॉल

  2. बेंचमार्किंग प्रबंधित PostgreSQL क्लाउड समाधान:भाग दो - Amazon RDS

  3. Postgresql:Mac OS X का उपयोग करके pg_hba.conf फ़ाइल कैसे खोजें?

  4. अजगर psycopg2 postgresql तालिका में सम्मिलित नहीं कर रहा है

  5. पोस्टग्रेएसक्यूएल 11:नया क्या है