PostGIS/PostgreSQL + geomajas = error

Ответить
corvell
Интересующийся
Сообщения: 16
Зарегистрирован: 28 май 2012, 05:54
Репутация: 0

PostGIS/PostgreSQL + geomajas = error

Сообщение corvell » 11 окт 2012, 11:37

Здравствуйте.
Делаю приложение для отображения карты. Руководствуюсь статьей http://files.geomajas.org/maven/trunk/g ... aster.html

приведу исходные файлы:

1. web.xml

Код: Выделить всё

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="   http://java.sun.com/xml/ns/javaee   http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <display-name>Geomajas application</display-name>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
                    classpath:org/geomajas/spring/geomajasContext.xml
                    WEB-INF/applicationContext.xml
                    WEB-INF/layer.xml 
        </param-value>
    </context-param>
    <filter>
        <filter-name>CacheFilter</filter-name>
        <filter-class>org.geomajas.servlet.CacheFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CacheFilter</filter-name>
        <servlet-name>GeomajasServiceServlet</servlet-name>
    </filter-mapping>
	<!-- only needed for direct GWT -->
    <listener>
        <listener-class>org.geomajas.servlet.PrepareScanningContextListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <listener>
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>GeomajasServiceServlet</servlet-name>
        <servlet-class>org.geomajas.gwt.server.GeomajasServiceImpl</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <description>Spring Web-MVC specific (additional) context files.</description>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:META-INF/geomajasWebContext.xml</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>GeomajasServiceServlet</servlet-name>
        <url-pattern>/project.web.Application/geomajasService</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/d/*</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
</web-app>
2. applicationContext.xml

Код: Выделить всё

<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	   xmlns:context="http://www.springframework.org/schema/context"
	   xmlns:util="http://www.springframework.org/schema/util"
	   xmlns:aop="http://www.springframework.org/schema/aop"
	   xmlns:tx="http://www.springframework.org/schema/tx"
	   xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <context:component-scan base-package="org.ru.admin.tomsk.derums" name-generator="org.geomajas.spring.GeomajasBeanNameGenerator"/>

    <bean id="appDataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="org.postgresql.Driver" />
        <property name="url" value="jdbc:postgresql://computer:5432/tmp" />
        <property name="username" value="tmp" />
        <property name="password" value="tmp" />
    </bean>
    <bean id="appSessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="appDataSource" />
        <property name="configLocation">
	    <value>classpath:hibernate.cfg.xml
            </value>
        </property>
        <property name="configurationClass">
            <value>org.hibernate.cfg.AnnotationConfiguration</value>
        </property>
    </bean>
    <tx:annotation-driven transaction-manager="transactionManager" />
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="appSessionFactory" />
    </bean>
    <bean name="security.securityInfo" class="org.geomajas.security.SecurityInfo">
        <property name="loopAllServices" value="false"/>
        <property name="securityServices">
            <list>
                <bean class="org.geomajas.security.allowall.AllowAllSecurityService"/>
            </list>
        </property>
    </bean>
    <bean id="app" class="org.geomajas.configuration.client.ClientApplicationInfo">
        <property name="maps">
            <list>
                <bean name="mapMain" class="org.geomajas.configuration.client.ClientMapInfo">
                    <property name="crs" value="EPSG:28415" />
                    <property name="displayUnitType" value="CRS" />
                    <property name="scaleConfiguration">
                        <bean class="org.geomajas.configuration.client.ScaleConfigurationInfo">
                            <property name="maximumScale" value="1:1" />
                            <property name="zoomLevels">
                                <list>
                                    <value>1:500000</value>
                                    <value>1:200000</value>
                                    <value>1:100000</value>
                                    <value>1:50000</value>
                                    <value>1:10000</value>
                                    <value>1:2500</value>
                                    <value>1:1500</value>
                                    <value>1:1000</value>
                                    <value>1:500</value>
                                    <value>1:250</value>
                                    <value>1:100</value>
                                    <value>1:50</value>
                                    <value>1:25</value>
                                    <value>1:10</value>
                                    <value>1:5</value>
                                    <value>1:1</value>
                                </list>
                            </property>
                        </bean>
                    </property>
                    <property name="initialBounds">
                        <bean class="org.geomajas.geometry.Bbox">
                             <property name="x" value="-55787"/>
                             <property name="y" value="-36726"/>
                             <property name="maxX" value="77431"/>
                             <property name="maxY" value="66064"/>
                        </bean>
                    </property>
                    <property name="layers">
                        <list>
                            <ref bean="layerParcel" />
                        </list>
                    </property>
                    <property name="backgroundColor" value="#F0F0F0" />
                    <property name="lineSelectStyle">
                        <bean class="org.geomajas.configuration.FeatureStyleInfo">
                            <property name="fillOpacity" value="0" />
                            <property name="strokeColor" value="#FF6600" />
                            <property name="strokeOpacity" value="1" />
                        </bean>
                    </property>
                    <property name="pointSelectStyle">
                        <bean class="org.geomajas.configuration.FeatureStyleInfo">
                            <property name="fillColor" value="#FFFF00" />
                        </bean>
                    </property>
                    <property name="polygonSelectStyle">
                        <bean class="org.geomajas.configuration.FeatureStyleInfo">
                            <property name="fillColor" value="#FFFF00" />
                            <property name="fillOpacity" value=".5" />
                        </bean>
                    </property>
                    <property name="scaleBarEnabled" value="true" />
                    <property name="panButtonsEnabled" value="true" />
                    <property name="toolbar">
                        <bean class="org.geomajas.configuration.client.ClientToolbarInfo">
                            <property name="tools">
                                <list>
                                    <ref bean="ZoomIn" />
                                    <ref bean="ZoomOut" />
                                    <ref bean="ZoomToRectangleMode" />
                                    <ref bean="PanMode" />
                                    <ref bean="ToolbarSeparator" />
                                    <ref bean="ZoomPrevious" />
                                    <ref bean="ZoomNext" />
                                    <ref bean="ToolbarSeparator" />
                                    <ref bean="MeasureDistanceMode" />
                                    <ref bean="SelectionMode" />
                                </list>
                            </property>
                        </bean>
                    </property>
                    <property name="layerTree">
                        <bean class="org.geomajas.configuration.client.ClientLayerTreeInfo">
                            <property name="tools">
                                <list>
                                    <ref bean="LayerVisibleTool" />
                                    <ref bean="LayerLabeledTool" />
                                    <ref bean="ShowTableAction" />
                                    <ref bean="LayerRefreshAction" />
                                </list>
                            </property>
                            <property name="treeNode">
                                <bean class="org.geomajas.configuration.client.ClientLayerTreeNodeInfo">
                                    <property name="label" value="Layers" />
                                    <property name="Layers">
                                        <list>
                                            <ref bean="layerParcel" />
                                        </list>
                                    </property>
                                    <property name="expanded" value="true" />
                                </bean>
                            </property>
                        </bean>
                    </property>
                </bean>
                <bean name="mapOverview" class="org.geomajas.configuration.client.ClientMapInfo">
                    <property name="backgroundColor" value="#F0F0F0" />
                    <property name="lineSelectStyle">
                        <bean class="org.geomajas.configuration.FeatureStyleInfo">
                            <property name="fillOpacity" value="0" />
                            <property name="strokeColor" value="#FF6600" />
                            <property name="strokeOpacity" value="1" />
                        </bean>
                    </property>
                    <property name="pointSelectStyle">
                        <bean class="org.geomajas.configuration.FeatureStyleInfo">
                            <property name="fillColor" value="#FFFF00" />
                        </bean>
                    </property>
                    <property name="polygonSelectStyle">
                        <bean class="org.geomajas.configuration.FeatureStyleInfo">
                            <property name="fillColor" value="#FFFF00" />
                            <property name="fillOpacity" value=".5" />
                        </bean>
                    </property>
                    <property name="crs" value="EPSG:28415" />
                    <property name="scaleBarEnabled" value="false" />
                    <property name="panButtonsEnabled" value="false" />
                    <property name="initialBounds">
                        <bean class="org.geomajas.geometry.Bbox">
                            <property name="x" value="-55787"/>
                            <property name="y" value="-36726"/>
                            <property name="maxX" value="77431"/>
                            <property name="maxY" value="66064"/>
                        </bean>
                    </property>
                    <property name="Layers">
                        <list>
                            <ref bean="layerParcel" />
                        </list>
                    </property>
                </bean>
            </list>
        </property>
    </bean>
    <bean name="ToolbarSeparator" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="ZoomIn" class="org.geomajas.configuration.client.ClientToolInfo">
        <property name="parameters">
            <list>
                <bean class="org.geomajas.configuration.Parameter">
                    <property name="name" value="delta" />
                    <property name="value" value="2" />
                </bean>
            </list>
        </property>
    </bean>
    <bean name="ZoomOut" class="org.geomajas.configuration.client.ClientToolInfo">
        <property name="parameters">
            <list>
                <bean class="org.geomajas.configuration.Parameter">
                    <property name="name" value="delta" />
                    <property name="value" value=".5" />
                </bean>
            </list>
        </property>
    </bean>
    <bean name="ZoomPrevious" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="ZoomNext" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="ZoomToRectangleMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="PanMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="ZoomInMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="ZoomOutMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="ZoomToSelection" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="PanToSelection" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="DeselectAll" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="MeasureDistanceMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="FeatureInfoMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="SelectionMode" class="org.geomajas.configuration.client.ClientToolInfo">
        <property name="parameters">
            <list>
                <bean class="org.geomajas.configuration.Parameter">
                    <property name="name" value="clickTimeout" />
                    <property name="value" value="500" />
                </bean>
                <bean class="org.geomajas.configuration.Parameter">
                    <property name="name" value="coverageRatio" />
                    <property name="value" value=".8" />
                </bean>
                <bean class="org.geomajas.configuration.Parameter">
                    <property name="name" value="priorityToSelectedLayer" />
                    <property name="value" value="true" />
                </bean>
                <bean class="org.geomajas.configuration.Parameter">
                    <property name="name" value="pixelTolerance" />
                    <property name="value" value="10" />
                </bean>
            </list>
        </property>
    </bean>
    <bean name="MarkedEditMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="EditMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="SplitPolygonMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="MergePolygonMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="NavigateMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="ShowDefaultPrint" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="PrintMode" class="org.geomajas.configuration.client.ClientToolInfo"/>
	<!-- LayerTree tools -->
    <bean name="LayerVisibleTool" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="LayerSnappingTool" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="LayerLabeledTool" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="ShowTableAction" class="org.geomajas.configuration.client.ClientToolInfo"/>
    <bean name="LayerRefreshAction" class="org.geomajas.configuration.client.ClientToolInfo"/>
</beans>
3. layer.xml

Код: Выделить всё

<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
  xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <bean class="org.geomajas.configuration.client.ClientVectorLayerInfo" id="layerParcel">
        <property name="serverLayerId" value="layerParcels" />
        <property name="label" value="слой" />
        <property name="visible" value="true" />
        <property name="namedStyleInfo" ref="parcelStyleInfo" />
    </bean>
        <bean name="layerParcels" class="org.geomajas.layer.hibernate.HibernateLayer">
        <property name="layerInfo" ref="parcelInfo" />
        <property name="featureModel">
            <bean class="org.geomajas.layer.hibernate.HibernateFeatureModel">
                <property name="sessionFactory" ref="appSessionFactory" />
            </bean>
        </property>
        <property name="sessionFactory" ref="appSessionFactory" />
        <property name="dateFormat" ref="appDateFormat" />
    </bean>

    <bean name="parcelInfo" class="org.geomajas.configuration.VectorLayerInfo">
        <property name="layerType" value="POLYGON" />
        <property name="crs" value="EPSG:28415" />
        <property name="maxExtent">
            <bean class="org.geomajas.geometry.Bbox">
                <property name="x" value="-55787"/>
                <property name="y" value="-36726"/>
                <property name="maxX" value="77431"/>
                <property name="maxY" value="66064"/>
            </bean>
        </property>
        <property name="featureInfo" ref="parcelFeatureInfo" />
        <property name="namedStyleInfos">
            <list>
                <ref bean="parcelStyleInfo" />
            </list>
        </property>
    </bean>

    <bean class="org.geomajas.configuration.NamedStyleInfo" name="parcelStyleInfo">
        <property name="featureStyles">
            <list>
                <bean class="org.geomajas.configuration.FeatureStyleInfo">
                    <property name="name" value="Слой" />
                    <property name="fillColor" value="#FFFFFF" />
                    <property name="fillOpacity" value="0" />
                    <property name="strokeColor" value="#998811" />
                    <property name="strokeOpacity" value="1" />
                    <property name="strokeWidth" value="4" />
                </bean>
            </list>
        </property>
        <property name="labelStyle">
            <bean class="org.geomajas.configuration.LabelStyleInfo">
                <property name="labelAttributeName" value="id" />
                <property name="fontStyle">
                    <bean class="org.geomajas.configuration.FontStyleInfo">
                        <property name="color" value="#998811" />
                        <property name="opacity" value="1" />
                    </bean>
                </property>
                <property name="backgroundStyle">
                    <bean class="org.geomajas.configuration.FeatureStyleInfo">
                        <property name="fillColor" value="#000000" />
                        <property name="fillOpacity" value=".7" />
                        <property name="strokeColor" value="#00ff00" />
                        <property name="strokeOpacity" value="1" />
                        <property name="strokeWidth" value="1" />
                    </bean>
                </property>
            </bean>
        </property>
    </bean>

    <bean class="org.geomajas.configuration.FeatureInfo" name="parcelFeatureInfo">
    <property name="dataSourceName" value="project.backend.view.VParcel" />
        <property name="identifier">
            <bean class="org.geomajas.configuration.PrimitiveAttributeInfo">
                <property name="label" value="id" />
                <property name="name" value="id" />
                <property name="type" value="LONG" />
            </bean>
        </property>
        <property name="geometryType">
            <bean class="org.geomajas.configuration.GeometryAttributeInfo">
                <property name="name" value="geometry" />
                <property name="editable" value="false" />
            </bean>
        </property>
        <property name="attributes">
            <list>
                <bean class="org.geomajas.configuration.PrimitiveAttributeInfo">
                    <property name="label" value="id" />
                    <property name="name" value="id" />
                    <property name="type" value="LONG" />
                </bean>
                <!--<bean class="org.geomajas.configuration.PrimitiveAttributeInfo">
                    <property name="label" value="type" />
                    <property name="name" value="type" />
                    <property name="editable" value="true" />
                    <property name="identifying" value="true" />
                    <property name="type" value="STRING" />
                    <property name="validator">
                        <bean class="org.geomajas.configuration.validation.ValidatorInfo">
                            <property name="toolTip" value="i18n:road.label.Tooltip" />
                        </bean>
                    </property>
                </bean>-->
            </list>
        </property>
    </bean>
    <bean name="appDateFormat" class="java.text.SimpleDateFormat">
        <constructor-arg type="java.lang.String" value="dd/MM/yyyy" />
    </bean>
</beans>
4. в hibernate.cfg.xml прописал

Код: Выделить всё

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernatespatial.postgis.PostgisDialect</property>
        <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
        <property name="show_sql">true</property>
        <property name="default_schema">tmp</property>

        <!-- map views for geo majas -->  
        <mapping class="project.backend.view.VParcel" />
    </session-factory>
</hibernate-configuration>
5. в pom.xml

Код: Выделить всё

<dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>3.5.6-Final</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate.javax.persistence</groupId>
                <artifactId>hibernate-jpa-2.0-api</artifactId>
                <version>1.0.0.Final</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-annotations</artifactId>
                <version>3.5.6-Final</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-entitymanager</artifactId>
                <version>3.5.6-Final</version>
            </dependency>

        <dependency>
            <groupId>org.geomajas.plugin</groupId>
            <artifactId>geomajas-layer-hibernate</artifactId>
            <version>1.7.2</version>
        </dependency>
        
            <dependency>
                <groupId>org.hibernatespatial</groupId>
                <artifactId>hibernate-spatial-postgis</artifactId>
                <version>1.0</version>
            </dependency>
6. entity

Код: Выделить всё

@Entity
@Table(name = "parcel", catalog = "tmp", schema = "tmp")
@Inheritance(strategy=InheritanceType.JOINED)
public class VGeoParcel implements Serializable{
    private static final long serialVersionUID = 1L;
    @Id @Column(name="gid")
    @GeneratedValue(strategy = javax.persistence.GenerationType.IDENTITY)
    private Long id;
    @Type(type = "org.hibernatespatial.GeometryUserType")
    @Column(name = "the_geom")
    private Geometry geometry;
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Geometry getGeometry() {
        return geometry;
    }
    public void setGeometry(Geometry geometry) {
        this.geometry = geometry;
    }    
}
в итоге при развертывании получаю такую ошибку

Код: Выделить всё

Failed to load ru.admin.tomsk.derums.backend.core.estate.model.view.VGeoParcel with filter [[ geometry bbox POLYGON ((10886.943457882255 14710.701425895946, 10886.943457882255 21140.28910413294, 19221.18639011754 21140.28910413294, 19221.18639011754 14710.701425895946, 10886.943457882255 14710.701425895946)) ] AND [ geometry intersects POLYGON ((-55787 -36726, -55787 66064, 77431 66064, 77431 -36726, -55787 -36726)) ]]., root cause could not execute query

org.geomajas.layer.hibernate.HibernateLayerException:
org.geomajas.layer.hibernate.HibernateLayer.getElements(HibernateLayer.java:215)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy302.getElements(null:-1)
org.geomajas.internal.layer.vector.GetFeaturesEachStep.execute(GetFeaturesEachStep.java:93)
org.geomajas.internal.layer.vector.GetFeaturesEachStep.execute(GetFeaturesEachStep.java:52)
org.geomajas.internal.service.pipeline.PipelineServiceImpl.execute(PipelineServiceImpl.java:60)
org.geomajas.internal.service.pipeline.PipelineServiceImpl.execute(PipelineServiceImpl.java:46)
org.geomajas.internal.layer.VectorLayerServiceImpl.getFeatures(VectorLayerServiceImpl.java:126)
org.geomajas.internal.layer.VectorLayerServiceImpl.getFeatures(VectorLayerServiceImpl.java:132)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy303.getFeatures(null:-1)
org.geomajas.internal.layer.vector.GetTileGetFeaturesStep.execute(GetTileGetFeaturesStep.java:54)
org.geomajas.internal.layer.vector.GetTileGetFeaturesStep.execute(GetTileGetFeaturesStep.java:33)
org.geomajas.internal.service.pipeline.PipelineServiceImpl.execute(PipelineServiceImpl.java:60)
org.geomajas.internal.service.pipeline.PipelineServiceImpl.execute(PipelineServiceImpl.java:46)
org.geomajas.internal.layer.VectorLayerServiceImpl.getTile(VectorLayerServiceImpl.java:170)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy303.getTile(null:-1)
org.geomajas.command.render.GetVectorTileCommand.execute(GetVectorTileCommand.java:61)
org.geomajas.command.render.GetVectorTileCommand.execute(GetVectorTileCommand.java:34)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
$Proxy305.execute(null:-1)
org.geomajas.internal.service.CommandDispatcherImpl.execute(CommandDispatcherImpl.java:115)
org.geomajas.gwt.server.GeomajasServiceImpl.execute(GeomajasServiceImpl.java:74)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java:-2)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:207)
com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:243)
com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
org.geomajas.gwt.server.GeomajasServiceImpl.service(GeomajasServiceImpl.java:64)
javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1542)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
org.geomajas.servlet.CacheFilter.doFilter(CacheFilter.java:168)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
com.sun.grizzly.ContextTask.run(ContextTask.java:71)
com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
java.lang.Thread.run(Thread.java:662)

в чем может быть проблема? вроде все настройки указал

через QGIS удается подключиться к базе, добавить слой, объекты отображаются

corvell
Интересующийся
Сообщения: 16
Зарегистрирован: 28 май 2012, 05:54
Репутация: 0

Re: PostGIS/PostgreSQL + geomajas = error

Сообщение corvell » 15 окт 2012, 12:46

у меня postgresql 9.2 и postgis 2.0.1, ошибка может быть связана с версией hibernate-spatial?

Аватара пользователя
Aleksandr Dezhin
Активный участник
Сообщения: 244
Зарегистрирован: 03 фев 2010, 10:47
Репутация: 14
Откуда: Москва

Re: PostGIS/PostgreSQL + geomajas = error

Сообщение Aleksandr Dezhin » 15 окт 2012, 12:59

Я думаю об этом можно судить только по запросу, который уходит в базу. В стектрейсе его чего-то не видно.

corvell
Интересующийся
Сообщения: 16
Зарегистрирован: 28 май 2012, 05:54
Репутация: 0

Re: PostGIS/PostgreSQL + geomajas = error

Сообщение corvell » 15 окт 2012, 14:27

Я пробовал на другой базе, postgis версией пониже, данные теже, картинка рисуется, все нормально. В этой версии геометрия в табличке хранится как SRID=...;POLYGON(....), а тут, postgresql 9.2 и postgis 2.0.1, геометрия как 0103000020FF6E00000100000008000000AE47E13A3C8150415C8FC......, т.е. в byte.
Вот я и предположил что связано с версией библиотек, может с конвертить не может.

а в логах на сервере еще вот что пишет

Код: Выделить всё

[#|2012-10-11T15:58:23.998+0700|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=21;_ThreadName=Thread-2;|SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".|#]

[#|2012-10-11T15:58:23.998+0700|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=21;_ThreadName=Thread-2;|SLF4J: Defaulting to no-operation (NOP) logger implementation|#]

[#|2012-10-11T15:58:23.998+0700|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=21;_ThreadName=Thread-2;|SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.|#]
[#|2012-10-11T15:58:29.258+0700|INFO|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=21;_ThreadName=Thread-2;|PWC1412: WebModule[null] ServletContext.log():Initializing Spring root WebApplicationContext|#]

[#|2012-10-11T15:58:29.258+0700|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=21;_ThreadName=Thread-2;|log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).|#]

[#|2012-10-11T15:58:29.258+0700|SEVERE|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=21;_ThreadName=Thread-2;|log4j:WARN Please initialize the log4j system properly.|#]

[#|2012-10-11T15:58:31.533+0700|INFO|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=21;_ThreadName=Thread-2;|PWC1412: WebModule[null] ServletContext.log():Initializing Spring FrameworkServlet 'dispatcher'|#]

[#|2012-10-11T15:58:31.664+0700|INFO|glassfish3.1.2|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=21;_ThreadName=Thread-2;|WEB0671: Loading application [geomapProjectTest-web_war_1.0-SNAPSHOT] at [/geomapProjectTest-web]|#]

[#|2012-10-11T15:58:31.684+0700|INFO|glassfish3.1.2|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=21;_ThreadName=Thread-2;|geomapProjectTest-web_war_1.0-SNAPSHOT was successfully deployed in 9 623 milliseconds.|#]

[#|2012-10-11T15:58:34.089+0700|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=22;_ThreadName=Thread-2;|Hibernate: select this_.gid as gid48_0_, this_.the_geom as the2_48_0_ from ssz.tmp.quartal_cadastr this_ where ((this_.the_geom && ? )  and (this_.the_geom && ? AND intersects(this_.the_geom, ?)))|#]

[#|2012-10-11T15:58:34.089+0700|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=23;_ThreadName=Thread-2;|Hibernate: select this_.gid as gid48_0_, this_.the_geom as the2_48_0_ from ssz.tmp.quartal_cadastr this_ where ((this_.the_geom && ? )  and (this_.the_geom && ? AND intersects(this_.the_geom, ?)))|#]

[#|2012-10-11T15:58:34.089+0700|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=24;_ThreadName=Thread-2;|Hibernate: select this_.gid as gid48_0_, this_.the_geom as the2_48_0_ from ssz.tmp.quartal_cadastr this_ where ((this_.the_geom && ? )  and (this_.the_geom && ? AND intersects(this_.the_geom, ?)))|#]

[#|2012-10-11T15:58:34.090+0700|INFO|glassfish3.1.2|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=25;_ThreadName=Thread-2;|Hibernate: select this_.gid as gid48_0_, this_.the_geom as the2_48_0_ from ssz.tmp.quartal_cadastr this_ where ((this_.the_geom && ? )  and (this_.the_geom && ? AND intersects(this_.the_geom, ?)))|#]

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: PostGIS/PostgreSQL + geomajas = error

Сообщение ericsson » 15 окт 2012, 15:17

Это WKT и WKB форматы соответственно. Есть функции, конвертирующие одно в другое.

corvell
Интересующийся
Сообщения: 16
Зарегистрирован: 28 май 2012, 05:54
Репутация: 0

Re: PostGIS/PostgreSQL + geomajas = error

Сообщение corvell » 16 окт 2012, 05:48

ericsson писал(а):Это WKT и WKB форматы соответственно. Есть функции, конвертирующие одно в другое.
такой запрос будет правильным? если использовать функцию asewkt()
SELECT a.fid, asewkt(a.geom) FROM temp a

если так, то сделал вьюшку такую, и ничего не изменилось, ошибка та же

Ответить

Вернуться в «PostGIS/PostgreSQL»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 12 гостей