
PostGIS рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ рдЬреЛ PostgreSQL рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рднреМрдЧреЛрд▓рд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдпрд╣ рдЫреЛрдЯрд╛ рд▓реЗрдЦ рдЬрд╛рд╡рд╛ рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЙрдирдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рднреМрдЧреЛрд▓рд┐рдХ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдХрд╛рд░реНрдпред
PostGIS 2001 рдореЗрдВ рд╡рд╛рдкрд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдореБрдлреНрдд рд╕рдорд╛рдзрд╛рди рд╣реИред рд▓реЗрдХрд┐рди рд▓реЗрдЦ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ - рдЬреЗрдкреАрдП рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреЛрд╕реНрдЯрдЬреАрдЖрдИрдПрд╕ рдХреЗ рд╕рд╛рде рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдХрд╛рдоред
рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ:
- рд╣рд╛рдЗрдмрд░рдиреЗрдЯ 5.3.7
- рд╣рд╛рдЗрдмрд░рдиреЗрдЯ-рд╕реНрдерд╛рдирд┐рдХ - рдПрдХ рд╣реА рд╕рдВрд╕реНрдХрд░рдгред рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдкреБрд░рд╛рдиреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╛рдВрдЪрд╡реЗрдВ рдореЗрдВ рд╢реБрд░реВ, рд╣рд╛рдЗрдмрд░рдиреЗрдЯ-рд╕реНрдерд╛рдирд┐рдХ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХреЗ рд╕рдорд╛рди рд╣реИред рдкрд╣рд▓реЗ: рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕реНрдерд╛рдирд┐рдХ 1.1.x рд╣рд╛рдЗрдмрд░рдиреЗрдЯ 3.6.x рдХреЗ рд▓рд┐рдП, рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕реНрдерд╛рдирд┐рдХ 1.0 рд╣рд╛рдЗрдмрд░рдиреЗрдЯ 3.2.x - 3.5.x рдХреЗ рд▓рд┐рдПред
- postgresql 42.2.4ред рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдирдП рд▓реЛрдЧреЛрдВ рдиреЗ рдПрд╕рдПрд╕рдПрд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдХрдбрд╝рд╛ рдХрд░ рджрд┐рдпрд╛ рдерд╛ред рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдбреНрд░рд╛рдЗрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг рдЪреБрдиреЗрдВред
рдЦреИрд░, рдЬреЗрдкреАрдП рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдмрд╕ рд╕реНрдкреНрд░рд┐рдВрдЧ рдпрд╛ рдХрдВрдЯреЗрдирд░ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рдмреЛрд▓рд┐рдпреЛрдВ
рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдерд╛рдирд┐рдХ рдЖрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рдорд┐рддреАрдп
рд╕рд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЬреЗрдкреАрдП рдХреЗ рд░реВрдк рдореЗрдВ, рдкрд╣рд▓реЗ рд╕рдиреНрдирд┐рдХрдЯрди рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЗрд╕ рдмрд╛рдд рдореЗрдВ рд░реБрдЪрд┐ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ PostgresSQL, Oracle, MySQL, MS SQLServer, GeoDB (H2), DB2 рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред
рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╕рдорд░реНрдерди рд╡рд┐рд╡рд░рдг ред рд╕реНрдирд╛рдпреБ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рд╡реНрдпрдХреНрддрд┐ рдХреА рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рдВрд╕реНрдХрд░рдг 8 рдореЗрдВ, рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛ рд╕рдорд░реНрдерди рдореЗрдВ
рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╕реБрдзрд╛рд░ рд╣реБрдЖ рд╣реИ ред
рд╣рдо Postgres рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдорд╛рдирдХ рдкреЛрд╕реНрдЯ-рдЧреНрд░реАрдХ рдХреЗ
рдмрдЬрд╛рдп рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдмреЛрд▓реА
"org.hibernate.spatial.dialect.postgis.PostgisDialect"
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрд╣ рдХреЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ
PostGIS рдХреА рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХреЛрдИ рднреА рдлрд╝реАрд▓реНрдб рд╣реЛ рд╕рдХрддреА рд╣реИред рдмрд╕ рдорд╛рдирдХ, рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЬреНрдпрд╛рдорд┐рддрд┐ рд╣реЛрдЧреАред рдФрд░ рднреВрдЧреЛрд▓ рд╣реИ (рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдореЗрдВ рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ)ред рдпрджрд┐ рдЖрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рд╡рд╛ рдХреЛ рдирд╣реАрдВ рд╕рд┐рдЦрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ "01010000207B7F0000188D594CC9B22541BC4E56674F2C555541" рдлреЙрд░реНрдо рдХреА рдПрдХ рдмреВрдБрдж рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдмреЗрд╢рдХ, рдЖрдк рд╢реБрджреНрдз JBDC рдкрд░ PostGis рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ ред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП
org.postgis.PGgeometry
рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рд╢реНрд░рдорд╕рд╛рдзреНрдп рдХрд╛рд░реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпреЗ рд╡реЗ рд╡рд░реНрдЧ рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рд╣реЛрдЧрд╛ред рдФрд░ рдЕрдм рдХреЛрдИ рдмрд░реНрджрд╛рд╢реНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛ред
рд╣рдо JPA рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ:
@Entity public class AdressBuilding implements Serializable { @Id private Integer id; private Point geom; ...
рд╢реЗрд╖ рдлрд╝реАрд▓реНрдб рдЫреЛрдбрд╝ рджрд┐рдП рдЧрдП рд╣реИрдВ (рдПрдХ рднреМрдЧреЛрд▓рд┐рдХ рд╡рд╕реНрддреБ рдХрд┐рд╕реА рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреА рд╣реИ)ред рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдЕрд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИ - рдорд╛рдирдХ рдЗрдХрд╛рдИ рд╡рд░реНрдЧред рдХреЗрд╡рд▓ рдХрдХреНрд╖рд╛ рдмрд┐рдВрджреБ рдХреА рдПрдХ рд╡рд╕реНрддреБ рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ - рддреАрди рдЖрдпрд╛рдореА рд╕реНрдерд╛рди рдХрд╛ рдПрдХ рдмрд┐рдВрджреБред
рдЗрд╕рдХреЗ рдмрд╛рдж, com.vividsolutions.jts.geom рдкреИрдХреЗрдЬ рдХреА рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреЗрдЯреАрдПрд╕ рднреВ-рд╕реНрдерд╛рдирд┐рдХ рдбреЗрдЯрд╛ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдмрди рдЧрдпрд╛ рд╣реИред рдпрд╣ 90 рдХреЗ рджрд╢рдХ рдореЗрдВ OpenGIS рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рд╕рд░рд▓ рдлрд╝реАрдЪрд░ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди /
рд╕рд┐рдВрдкрд▓ рдлрд╝реАрдЪрд░ рдПрдХреНрд╕реЗрд╕ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред
рд╕реНрдкрд╖реНрдЯрддрд╛ ред рдкреНрд╡рд╛рдЗрдВрдЯ рдЕрдореВрд░реНрдд рдЬреНрдпрд╛рдорд┐рддрд┐ рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреИрд░-рд╕реНрдереИрддрд┐рдХ рдХреНрд╖реЗрддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
protected Envelope envelope; protected final GeometryFactory factory; protected int SRID; private Object userData;
рдЗрд╕ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд▓рд┐рдлрд╛рдлрд╛ рдиреНрдпреВрдирддрдо рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдлрд┐рд░ рдЖрдк рдХреНрд░рдорд╛рдВрдХрди рдкрд░ рдПрдХ рдЕрдВрддрд╣реАрди рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗред
рдПрд╕рдЖрд░рдЖрдИрдбреА - рд╕рдордиреНрд╡рдп рд╕рдВрдЦреНрдпрд╛ред рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВред рдореБрдЦреНрдп рдЕрдВрддрд░: рд╕рдордиреНрд╡рдп рдкреНрд░рд╛рд░реВрдк (рдореАрдЯрд░, рдбрд┐рдЧреНрд░реА ...), рд╕рдВрджрд░реНрдн рдмрд┐рдВрджреБ рдФрд░ рдкреГрдереНрд╡реА рдХрд╛ рдЖрдХрд╛рд░ (рдкреГрдереНрд╡реА рдЧреЛрд▓ рдирд╣реАрдВ рд╣реИ)ред PostGis рдХрдИ рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдПрдХ рдЬреНрдпрд╛рдорд┐рддрд┐ рдкреНрд░рдХрд╛рд░ рд╣реИред рдореИрдВрдиреЗ рддреБрд░рдВрдд рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдХрдВрдХреНрд░реАрдЯ рдкреЙрдЗрдВрдЯ рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдкреЙрдЗрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред рд▓реЗрдХрд┐рди PostGIS рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреА рдЬреНрдпрд╛рдорд┐рддрд┐ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдмрд╕ рдкреНрд░рддреНрдпреЗрдХ рдЬреНрдпрд╛рдорд┐рддрд┐ рдореЗрдВ рдЗрд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
"geometry":{"type":"MultiPolygon","coordinates":...
StackOverflow рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдПрдХ рд╣реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдХрдИ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЬрд┐рдпреЛрдореЗрдЯреНрд░реА рдХреЛ рднреА рдиреЗрд╕реНрдЯреЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рдХрд╛рд░:

рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реАрдЬрд╝
рд╡рд░реНрдЧ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдкрддрд╛ рд▓рдЧрд╛ред рдЕрдм рдЙрдиреНрд╣реЗрдВ рдЖрдзрд╛рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдмрд┐рдВрджреБ рдордХрд╛рди рд╣реИрдВ, рдпрд╛ рдЙрдирдХреЗ рдкрддреЗ рд╣реИрдВред рдЖрдк рдкрд░рд┐рдЪрд┐рдд SQL рдХреНрд╡реЗрд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЖрдИрдбреА, рд╕рдВрдЦреНрдпрд╛, рджрд╛рджреА рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдордХрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ ...
рдЕрдм рд╣рдо рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░рд╢реНрдиреЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдШрд░ рдвреВрдВрдвреЗрдВред рд╡рд╛рдВрдЫрд┐рдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ x, y рдФрд░ + -delta рдХреЛ рд╡рд╛рдВрдЫрд┐рдд рдЦреЛрдЬ рдХреНрд╖реЗрддреНрд░ рд╣реЛрдиреЗ рджреЗрдВред рдПрд╕рдЯреАрдПрд╕ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдЬреНрдпрд╛рдорд┐рддрд┐ рдХреЗ рдЕрдиреБрдкрд╛рдд рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
Coordinate c1 = new Coordinate(x - delta, y - delta); ... Coordinate[] coordinates = new Coordinate[]{c1, c2, c3, c4, c1}; GeometryFactory GEOMETRY_FACTORY = new GeometryFactory();
рдпрджрд┐ рд╣рдо рдПрдХ рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ PostGis рдЙрдирдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░ рджреЗрдЧрд╛ред рдЖрдк рдпрд╛ рддреЛ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛрдб рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдпрд╛ рдХреЛрдб
.getGeom().getSRID()
рд╕рд╛рде рдХрд╣реАрдВ рд╕реЗ рднреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдЧреЗ рд╣рдо рдлреЙрд░реНрдо рдХрд╛ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВ:
"select a " + "from AdressBuilding a " + "where within(a.geom, :window) = true"
рдпрджрд┐ рдЬреНрдпрд╛рдорд┐рддрд┐ рджреВрд╕рд░реЗ рдХреЗ рдЕрдВрджрд░ рд╣реИ, рддреЛ рдЬрд╛рдБрдЪ рдХрд╛ рдЕрд░реНрде рд╣реИ рдХреНрд╡реЗрд░реАред рдЕрдЧрд░ рдЖрдкрдХрд╛ рдЖрдИрдбреАрдИ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдЬреЗрдкреАрдП рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЪрд┐рдВрддрд┐рдд рди рд╣реЛрдВред рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕реНрдерд╛рдирд┐рдХ рдЗрд╕реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ:
where st_within(adressbuil0_.geom, ?)=true
рдЬрд╣рд╛рдВ
st_within
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА PostGis рдлрд╝рдВрдХреНрд╢рди рд╣реИред
рдПрдХ рд╣реА рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ - рдмрд┐рдВрджреБ рдПрдХ рд╡рд░реНрдЧ рдореЗрдВ рдЧрд┐рд░ рдЧрдпрд╛ред
contains(:window, a.geom) / intersects(a.geom, :window)...

рд╡рд┐рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг
рдпрд╣рд╛рдВ рд╣реИ ред
рдЕрдВрддрднрд╛рд╖рдг
рд╣рдореЗрдВ рдЕрдВрдХ рдорд┐рд▓реЗ - рдЕрдм рдЖрдк рдЙрдирдХреЗ рд╕рд╛рде рдЬреЛ рдЪрд╛рд╣реЗрдВ рдХрд░реЗрдВред
рдореИрдВрдиреЗ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд░реИрдо рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдЫреЛрдЯреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдорд╛рдорд▓реЗ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдпрджрд┐ рдЖрдк рдЕрдзрд┐рдХрддрдо рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЦреЛрдЬ рдХрд╛рд░реНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдЪрд▓реЗрдЧрд╛ред
рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ рдХреЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реВрдЪрдХрд╛рдВрдХ рд╣реИрдВред
рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкреЛрд╕реНрдЯрдЧрд┐рд╕ рдХреА рдорджрдж рдХрд░рддреЗ рд╣реИрдВ ред рдЕрдзреНрдпрдпрди рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреЗрд╡рд▓ GIST (?) рд╣реА
рдЕрдВрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ
CREATE INDEX [indexname] ON [tablename] USING GIST ( [geometryfield] );
рд▓реЗрдХрд┐рди рдЕрдХреНрд╕рд░, рдЬрдм рдЖрдк рдкреЛрд╕реНрдЯрдЧрд┐рд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ ...
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред
рдореИрдиреБрдЕрд▓ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛:
рд╣рд╛рдЗрдмрд░рдиреЗрдЯ 5 рдХреЗ рд▓рд┐рдПрд╣рд╛рдЗрдмрд░рдиреЗрдЯ 4 рдХреЗ рд▓рд┐рдП