`

Java清除地图道路等标记

 
阅读更多

         在实际web项目中,有些时候需要使用到离线地图,有些时候需要清除地图上的某些不需要的地理信息,比如道路,因为在实际使用时需要在地图上画线,这些线的颜色会和地图的道路颜色冲突,导致界面很乱。

         但是下载的离线地图又没有清除道路的功能,只能手动清除了。

         使用java分析地图图片,找到道路颜色,把道路颜色替换成地图的颜色,,,我这里只是把道路的颜色弄淡即可,,分析一下流程,首先我使用颜色拾取器在地图上找到道路的颜色,因为道路的颜色有深有浅,所以道路的颜色是一个范围,通过颜色拾取器找到很多适合的点,把红绿蓝算一个平均值,并且算出三原色的相对偏移量,只有当程序获取到的颜色值介于平均值的相对偏移量之间才会替换。

        替换前的图片:


替换后的效果:



 关键代码如下:

 

 BufferedImage bi = ImageIO.read(a);
        
        for (int i = 0; i < bi.getWidth(); i++) {
            for (int j = 0; j < bi.getHeight(); j++) {
            	Color biColor = ImageUtil.parseColor(bi.getRGB(i, j));
            	for(ColorDemo demo: colorDemos){
            		//计算两个颜色的红绿蓝的偏移量
            		int rOffset = Math.abs(biColor.getRed() - demo.getColor().getRed());
                	int gOffset = Math.abs(biColor.getGreen() - demo.getColor().getGreen());
                	int bOffset = Math.abs(biColor.getBlue() - demo.getColor().getBlue());
                    //判断偏移量与道路颜色范围内的偏移量是否匹配
                	if(rOffset <= demo.getRedOffset() && gOffset <= demo.getGreenOffset() && bOffset <= demo.getBlueOffset()){
                         // System.out.println(i+","+j+"  from:"+srcColor.getRGB()+"to"+targetColor.getRGB());
                          bi.setRGB(i, j, targetColor.getRGB());
                          break;
                    }
            	}
            	
            }
        }

 附件是该项目源码,,分享一下。。。。。

 

  • 大小: 277.3 KB
  • 大小: 238.8 KB
分享到:
评论

相关推荐

    JAVA 天地图矢量、影像瓦片下载+图片叠加融合

    天地图是中国测绘科学研究院推出的一款基于Web的地图服务平台,它提供了丰富的地理信息数据,包括矢量数据(如道路、建筑物等)和影像数据(如卫星或航空照片)。开发者可以通过API接口获取这些数据,进行二次开发。...

    高德地图API JAVA 例子程序

    3. **初始化地图**:在JAVA代码中创建地图控件,设置地图类型、缩放级别等属性。 4. **请求服务**:调用API接口,如定位、搜索、路线规划等,处理返回的数据。 5. **绘制地图元素**:根据API返回的结果,在地图上...

    Java地图编辑器java

    4. **图层管理**:地图可以由多个图层组成,每个图层可能包含不同类型的地理信息,如道路、建筑物、水体等。Java编辑器应提供图层的添加、删除、隐藏和显示功能。 5. **缩放与平移**:用户需要能自由地放大、缩小...

    标记库,tag实例,java技术

    在IT行业中,尤其是在Java开发领域,"标记库"(Tag Library)是一个重要的概念,它与JSP(JavaServer Pages)紧密相关。标记库是预定义的一组功能,以标签(Tags)的形式提供,使得开发者可以更方便地创建动态网页。...

    使用Java创建地图应用程序 - 一个实战教程

    最后,完成上述步骤后,你将拥有一个基本的Java地图应用程序,可以进一步扩展功能,比如添加路线规划、实时定位等特性。记住,在实际开发过程中,要遵循最佳实践,确保代码的可读性和可维护性。同时,对于使用API,...

    jsp,java实现谷歌地图,查询地图功能

    综上所述,"jsp,java实现谷歌地图,查询地图功能"项目涵盖了JSP基础、Servlet交互、Google Maps API集成、地图查询功能实现等多个关键知识点。通过学习和实践这些内容,开发者可以构建出功能丰富的地图应用,提供...

    java电子地图

    6. **用户交互**:地图应用需要提供缩放、平移、标记添加、路线规划等功能,这需要处理鼠标事件和触摸事件,并更新地图视图。 7. **服务接口**:WMS(Web Map Service)和WFS(Web Feature Service)是常见的GIS...

    百度地图瓦片工具(JAVA完整工程)

    【标题】"百度地图瓦片工具(JAVA完整工程)"是一个基于JAVA编程语言开发的软件工具,主要用于处理和操作百度地图的瓦片数据。在GIS(地理信息系统)领域,地图瓦片是一种将大尺寸地图分割成小块图片的技术,通常用于...

    百度地图自定义地图切片java代码

    百度地图自定义地图切片java代码,可运行作为工具使用,建议原图使用png格式

    Java 学习案例,电子地图模块

    总之,"Java 学习案例,电子地图模块"是一个综合性的项目,涵盖了GUI设计、数据处理、GIS应用、网络编程、性能优化等多个方面,对于提升Java开发者的技术能力具有很高的实践价值。通过深入学习和实践这个案例,...

    Java用的在线地图浏览模块

    13. **地图标记与图层**:添加自定义标记(如店铺位置、公交站点等)以及叠加图层(如卫星图、地形图)是地图应用的常见需求。 14. **地图样式定制**:根据应用需求,可能需要自定义地图的颜色、标签等视觉样式,...

    基于Java的gis地图应用 .zip

    3. **地图库**:在Java中,常见的GIS地图库有JTS(Java Topology Suite)、GeoTools、GeotoolsFX等。这些库提供了处理地理坐标、投影变换、几何对象操作等功能,是构建地图应用的基础。 4. **地图服务和数据格式**...

    JAVA制作的应用电子地图程序

    【JAVA制作的应用电子地图...它的实现涉及到了Java基础、图形用户界面设计、地图数据处理等多个领域,展示了Java作为一款全能编程语言的强大功能。用户只需简单几步操作,就能享受到由Java技术带来的便捷电子地图服务。

    java 电子地图

    - **JavaScript**:用于实现地图交互功能,如缩放、平移、标记、图层控制等。通常会使用GIS库,如OpenLayers、Leaflet或Esri的ArcGIS JavaScript API。 - **AJAX**:异步JavaScript和XML,用于实现页面无刷新的...

    Java调用在线地图浏览模块.rar

    2. **创建MapPanel**:在Java代码中,你需要创建一个MapPanel实例,配置地图服务的URL和其他参数,如地图类型、缩放级别等。 3. **设置地图事件监听器**:MapPanel支持各种交互操作,如拖动、缩放等。你可以添加...

    电子地图模块java源码

    本资源是一个关于“电子地图模块”的Java源码,对于想要深入学习Java编程,尤其是对地图应用开发感兴趣的开发者来说,这是一个宝贵的资料库。下面我们将详细探讨这个电子地图模块涉及的知识点。 1. **Java基础**:...

    java编写电子地图程序

    总的来说,Java编写电子地图程序是一个综合性的任务,涉及到Java编程基础、GIS知识、网络编程、GUI设计、定位技术等多个方面。通过阅读《Java开发典型模块大全》并实践书中的源代码,开发者可以深入理解和掌握这些...

    java判断百度地图的点是否在多边形区域内

    这个问题在地图应用、GIS(地理信息系统)以及游戏开发等领域有广泛的应用。以下是对这个知识点的详细阐述: 1. **坐标系统与投影**:首先,我们需要了解地图坐标系统。百度地图采用的是GCJ-02(火星坐标系),这是...

    用java做的gps界面 可以显示地图

    在Java编程环境中,开发一个GPS(全球定位系统)界面可以为用户提供实时地理位置信息,并且能够显示地图。这个项目的核心在于利用Java的图形用户界面(GUI)库,如Swing或JavaFX,创建交互式的地图展示,并结合GPS...

    电子地图(纯java编写)源码

    3. 地图数据处理:电子地图需要处理大量的地理数据,这可能包括经纬度坐标、地理边界、道路网络、建筑物等。开发者可能使用了如Shapefile或GeoJSON这样的地理数据格式,并使用Java的GeoAPI或其他GIS库进行解析和操作...

Global site tag (gtag.js) - Google Analytics